Я построил простую классификационную сеть для MNIST, но когда я ее обучаю, точность проверки остается той же ~ 10 %. Я пробовал разные оптимизаторы (SGD, Adam, Nadam) и разные скорости обучения (0,1, 1e-3, 1e-4, 1e-5), но точность проверки остается одинаковой в каждую эпоху ~ 10%.
Вот мой код:
import tensorflow as tf
from tensorflow import keras
(X_train, y_train), (X_test, y_test) = keras.datasets.mnist.load_data()
X_train, X_val = X_train[5000:]/255.0, X_train[:5000]/255.0
y_train, y_val = y_train[5000:]/255.0, y_train[:5000]/255.0
class_NN = keras.models.Sequential([
keras.layers.Input(shape = [28, 28]),
keras.layers.Flatten(),
keras.layers.Dense(300, activation = "relu"),
keras.layers.Dense(100, activation = "relu"),
keras.layers.Dense(10, activation = "softmax")
])
class_NN.compile(loss = "sparse_categorical_crossentropy",
optimizer = keras.optimizers.SGD(learning_rate = 1e-3),
metrics = ["accuracy"])
class_NN.fit(X_train, y_train, epochs = 15,
validation_data = (X_val, y_val))
На момент написания этого вопроса я удалил /255.0 из кода перед тренировкой. Точность проверки теперь повышается во время обучения. Мне удалось достичь точности проверки ~96%. Почему точность проверки повышается во время обучения, когда я удаляю /255.0?
X_train, X_val = X_train[5000:], X_train[:5000]
y_train, y_val = y_train[5000:], y_train[:5000]
Подробнее здесь: https://stackoverflow.com/questions/790 ... converging
Классификационная нейронная сеть не сходится ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Нейронная сеть C# MNIST увеличивает точность примерно до 20 %, а затем снова падает до 10 %.
Anonymous » » в форуме C# - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-