【发布时间】:2021-10-08 08:05:45
【问题描述】:
ValueError: 层序 66 的输入 0 与层不兼容:输入形状的预期轴 -1 具有值 20,但接收到的输入形状为 (None, 29)
将张量流导入为 tf
从张量流导入 keras
从 tensorflow.keras 导入图层
从 keras.models 导入顺序
从 keras.layers 导入密集、辍学、激活
从 keras.optimizers 导入 SGD
# Generate dummy data
import numpy as np
x_train = np.random.random((1000, 29))
y_train = keras.utils.to_categorical(np.random.randint(10, size=(1000, 1)), num_classes=10)
x_test = np.random.random((100, 20))
y_test = keras.utils.to_categorical(np.random.randint(10, size=(100, 1)), num_classes=10)
model = Sequential()
# Dense(64) is a fully-connected layer with 64 hidden units.
# in the first layer, you must specify the expected input data shape:
# here, 20-dimensional vectors.
model.add(Dense(64, activation='relu', input_dim=20))
model.add(Dropout(0.5))
model.add(Dense(64, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(10, activation='softmax'))
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer=sgd,
metrics=['accuracy'])
model.fit(x_train, y_train,
epochs=20,
batch_size=128)
score = model.evaluate(x_test, y_test, batch_size=128)
请为我解释一下!谢谢。
【问题讨论】:
标签: recurrent-neural-network evaluate mlp sgd