我有一个代码来训练MNIST数据集以处理街景门牌号码项目,但是运行代码时,我的acc = 0,1
import numpy as np
np.random.seed(123) # for reproducibility
from keras import backend as K
K.set_image_dim_ordering('th')
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Activation, Flatten
from tensorflow.keras.layers import Convolution2D, MaxPooling2D
from keras.utils import np_utils
from keras.datasets import mnist
from keras.models import load_model
from keras.utils import CustomObjectScope
from keras.initializers import glorot_uniform
(X_train, Y_train), (X_test, Y_test) = mnist.load_data()
X_train = keras.utils.normalize(X_train,axis=1)
X_test = keras.utils.normalize(X_test, axis=1)
model = Sequential()
model.add(Flatten())
model.add(Dense(128, activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(Dense(10, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(np.array(X_train), np.array(Y_train), batch_size=32, epochs=3,verbose=1)
答案 0 :(得分:0)
在步骤4中,您是否正确规范了数据?如果我没记错的话,X_train
的形状为batch, width, height
。我真的不知道您要标准化什么,但是axis=1
似乎不应该在那里。我认为您应该将其标准化。
如果您的准确性仍然较低,请尝试训练比3个更多的时期。3个时期并不多。
答案 1 :(得分:0)
您具有这样的准确性有几个原因。
查看https://keras.io/examples/mnist_cnn/。这是Keras关于使用神经网络处理MNIST数据的文档。