【发布时间】:2018-08-22 13:43:32
【问题描述】:
不知何故,我在 Keras 库中发现了一个非常奇怪的错误。
我的学习方法包括一个三层神经网络:一个具有 130,517 个单元(输入大小)的输入层、一个 10,000 个单元的隐藏层和一个 2 个单元的输出层。
在代码期间,我运行了一个批处理学习(我使用了partial_fit 函数)但代码反复抛出相同的错误:
{ValueError} 检查输入时出错:预期的 dense_1_input 有 形状 (130517,) 但得到了形状为 (1,) 的数组
我再次查看了输入维度,发现确实和我想的一样,有130517个维度。
这是调试时变量的图片,可以看到np.array(X[0])的形状是130,517:
无论如何,我附上了神经网络的初始化代码,以及调用partial_fit的代码:
def initClassifier(self):
self.classifier.add(Dense(100000, input_dim=130517, activation='relu'))
self.classifier.add(Dense(2, activation='softmax'))
self.classifier.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
def partial_fit(self, X, y, classes):
self.classifier.train_on_batch(np.array(X[0]), np.array(y))
有人有解决办法吗?
会不会是 Keras 代码中的错误?
【问题讨论】:
标签: python machine-learning neural-network keras deep-learning