Model.fit with ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()

Posted

技术标签:

【中文标题】Model.fit with ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()【英文标题】:Model.fit with ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() 【发布时间】:2022-01-04 22:57:12 【问题描述】:
when I run the model training

history = model.fit(X_train, epochs=10, validation_data=X_val, callbacks=callbacks)

我收到以下错误:

ValueError                                Traceback (most recent call last)
<ipython-input-91-220b28513468> in <module>()
      6     )
      7 ]
----> 8 history = model.fit(X_train, epochs=10, validation_data=X_val, callbacks=callbacks)

1 frames
/usr/local/lib/python3.7/dist-packages/keras/engine/training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing)
   1153               (x, y, sample_weight), validation_split=validation_split))
   1154 
-> 1155     if validation_data:
   1156       val_x, val_y, val_sample_weight = (
   1157           data_adapter.unpack_x_y_sample_weight(validation_data))

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

它似乎在 X_val 中,它包含与 x_trein 相同的数据,但具有其他值。

【问题讨论】:

试试validation_data=(X_val, y_val) 重新阅读 fitvalidation_data 参数的期望。显然数组(本身)是不正确的。 【参考方案1】:

我遇到了同样的问题,解决方法如下。

validation_data = x ->validation_data = (x, None)

谢谢。

【讨论】:

以上是关于Model.fit with ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()的主要内容,如果未能解决你的问题,请参考以下文章