Я делал классификатор, используя набор данных mnist, следуя онлайн-учебнику. Однако после тренировки данных моя функция потерь и точность не меняются с каждой эпохой. Тем не менее, я не получаю сообщение об ошибке. Может кто-нибудь, пожалуйста, помогите мне с тем, что я делаю неправильно? Для справки, моя IDE - это Jupyter Notebook, и я использую Windows 10.
Код:
from PIL import Image
import os
import numpy as np
from keras.layers import Conv2D, MaxPooling2D, Flatten,Dense
from keras.models import Sequential
from keras.datasets import mnist
from keras.utils import to_categorical
import matplotlib.pyplot as plt
%matplotlib inline
(x_train, y_train),(x_test, y_test) = mnist.load_data()
image_height, image_width = 28, 28
x_train = x_train.reshape(60000, image_height*image_width)
x_test = x_test.reshape(10000, image_height*image_width)
y_train = to_categorical(y_train, 10)
y_test = to_categorical(y_test, 10)
model = Sequential()
model.add(Dense(512, activation = 'relu', input_shape = (784, )))
model.add(Dense(512, activation = 'relu'))
model.add(Dense(10, activation = 'softmax'))
model.compile(optimizer = 'adam', loss = 'categorical_crossentropy', metrics = ['accuracy'])
model.summary()
history = model.fit(x_train, y_train, epochs = 10, validation_data=(x_test, y_test))
Вывод:
WARNING:tensorflow:From C:\Users\akash\Anaconda3\lib\site-packages\tensorflow_core\python\ops\math_grad.py:1424: where (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.
Instructions for updating:
Use tf.where in 2.0, which has the same broadcast rule as np.where
WARNING:tensorflow:From C:\Users\akash\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py:986: The name tf.assign_add is deprecated. Please use tf.compat.v1.assign_add instead.
WARNING:tensorflow:From C:\Users\akash\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py:973: The name tf.assign is deprecated. Please use tf.compat.v1.assign instead.
WARNING:tensorflow:From C:\Users\akash\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py:2741: The name tf.Session is deprecated. Please use tf.compat.v1.Session instead.
Train on 60000 samples, validate on 10000 samples
Epoch 1/10
WARNING:tensorflow:From C:\Users\akash\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py:174: The name tf.get_default_session is deprecated. Please use tf.compat.v1.get_default_session instead.
WARNING:tensorflow:From C:\Users\akash\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py:181: The name tf.ConfigProto is deprecated. Please use tf.compat.v1.ConfigProto instead.
WARNING:tensorflow:From C:\Users\akash\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py:190: The name tf.global_variables is deprecated. Please use tf.compat.v1.global_variables instead.
WARNING:tensorflow:From C:\Users\akash\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py:199: The name tf.is_variable_initialized is deprecated. Please use tf.compat.v1.is_variable_initialized instead.
WARNING:tensorflow:From C:\Users\akash\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py:206: The name tf.variables_initializer is deprecated. Please use tf.compat.v1.variables_initializer instead.
60000/60000 [==============================] - 13s 222us/step - loss: 14.4960 - acc: 0.1006 - val_loss: 14.4918 - val_acc: 0.1009
Epoch 2/10
60000/60000 [==============================] - 15s 246us/step - loss: 14.5200 - acc: 0.0992 - val_loss: 14.4918 - val_acc: 0.1009
Epoch 3/10
60000/60000 [==============================] - 15s 248us/step - loss: 14.5200 - acc: 0.0992 - val_loss: 14.4918 - val_acc: 0.1009
Epoch 4/10
60000/60000 [==============================] - 14s 226us/step - loss: 14.5200 - acc: 0.0992 - val_loss: 14.4918 - val_acc: 0.1009
Epoch 5/10
60000/60000 [==============================] - 14s 238us/step - loss: 14.5200 - acc: 0.0992 - val_loss: 14.4918 - val_acc: 0.1009
Epoch 6/10
60000/60000 [==============================] - 15s 250us/step - loss: 14.5200 - acc: 0.0992 - val_loss: 14.4918 - val_acc: 0.1009
Epoch 7/10
60000/60000 [==============================] - 14s 236us/step - loss: 14.5200 - acc: 0.0992 - val_loss: 14.4918 - val_acc: 0.1009
Epoch 8/10
60000/60000 [==============================] - 13s 214us/step - loss: 14.5200 - acc: 0.0992 - val_loss: 14.4918 - val_acc: 0.1009
Epoch 9/10
60000/60000 [==============================] - 14s 235us/step - loss: 14.5200 - acc: 0.0992 - val_loss: 14.4918 - val_acc: 0.1009
Epoch 10/10
60000/60000 [==============================] - 15s 251us/step - loss: 14.5200 - acc: 0.0992 - val_loss: 14.4918 - val_acc: 0.1009