我试着训练我的深层神经网络来识别手写数字,但是我不断地得到标题前面提到的错误,我不知道为什么。你知道吗
我试过重塑“x火车”和“y火车”,但没有改变结果。 模型.add(Flatten())也不起作用。你知道吗
import matplotlib.pyplot as plt
import keras
from keras import optimizers
from keras.models import Sequential
from keras.layers import Dense, Activation, Flatten
from keras.datasets import mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
train_images = x_train.reshape(60000, 784)
test_images = x_test.reshape(10000, 784)
train_images = train_images.astype('float32')
test_images = test_images.astype('float32')
train_images /= 255
test_images /= 255
train_labels = keras.utils.to_categorical(y_train, 10)
test_labels = keras.utils.to_categorical(y_test, 10)
model = Sequential()
model.add(Dense(512, activation="relu", input_shape=(784,)))
for x in range (0, 10):
model.add(Dense(512, activation="relu"))
model.add(Dense(10, activation="softmax"))
model.summary()
model.compile(optimizer="rmsprop", loss="binary_crossentropy", metrics=['accuracy'])
model.fit(x_train, y_train, epochs=100, verbose=2, validation_split=0.0, shuffle=True, initial_epoch=0, validation_data=(train_images, train_labels), steps_per_epoch=10, validation_steps=10, validation_freq=1)
我希望培训开始,但我得到了这个错误:ValueError:检查输入时出错:期望密集的\u 1 \u输入有2个维度,但得到了形状为(60000,28,28)的数组。你知道吗
你通过的训练数据集没有重塑它。你知道吗
而不是这一行:
使用此选项:
您需要将数据集从shape(n,width,height)转换为(n,depth,width,height)。你知道吗
X_train = X_train.reshape(X_train.shape[0], 1, 28, 28) X_test = X_test.reshape(X_test.shape[0], 1, 28, 28)
相关问题 更多 >
编程相关推荐