我正在尝试进入神经网络,并且我正在制作最简单的模型以在大学中展示它。但现在我真的很糟糕,只能学习。
我收到一个错误:
ValueError: Error when checking input: expected dense_43_input to have shape (3,) but got array with shape (1,)
型号:
model = Sequential()
model.add(Dense(500, input_shape=(3,), activation='relu'))
model.add(Dense(500, activation='relu'))
model.add(Dense(1))
model.add(Activation('linear'))
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(X, y, batch_size=32, epochs=3, validation_split=0.3)
预测:
t = np.array([-0.969308, 224.257508, 95.873082])
predict = model.predict(t)
预测的形状为 (3,)。
我想念什么?
将数组更改为 np.array([[-0.969308, 224.257508, 95.873082]])
。如果您没有向数据添加另一个维度,那么 tf 认为您要求它预测 1 的 3 个输入,而不是 3 的 1 个输入
编辑:要评论其他答案,您的输出尺寸很好,因为模型肯定会提示输入。预测函数需要一个输入数组
我是一名优秀的程序员,十分优秀!