TypeError: 'numpy.float64' object is not iterable Keras

TypeError: 'numpy.float64' object is not iterable Keras

以下代码行在 Keras 中给出了上述错误。模型是 Keras 中的图形模型。

score, acc = model.evaluate({
    'input1': X_test1,
    'input2': X_test2,
    'output':Y_test}, batch_size=450)

但是当我将其更改为以下内容时,它运行正常。

predictions = model.predict({
    'input1': X_test1,
    'input2': X_test2}, batch_size=450)['output']

这里的Y_test是<type 'numpy.ndarray'><type 'numpy.ndarray'>。一个单热编码向量。

样本Y_test

[[1.,0.,0.],[1.,0.,0.],[0.,0.,1.]]

如您所见:

https://github.com/fchollet/keras/blob/master/keras/engine/training.py

评估方法returns只测试损失(或损失)。因此,将此方法的结果分配给一对会导致错误。

使用 keras 1.0 我能够打印出分数,但是当我尝试获取分数和准确性时会收到此错误。

我将我的 keras 降级到 0.3.3,并且 运行 完全相同的代码。这样做我可以获得分数和准确性。