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()的主要内容,如果未能解决你的问题,请参考以下文章

ValueError: Error when checking input: expected input_1 to have 2 dimensions, but got array with sha

model.fit validation_set ValueError:DataFrame 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()

如何修改 model.fit 设置?

如何在 CNN-LSTM 模型上应用 model.fit() 函数?

TensorFlow 中的 ValueError

model.fit(X,y) 和 model.fit(train_X, train_y) 有啥区别