无法找到可以处理输入的数据适配器:<class'numpy.ndarray'>,(<class'list'>包含类型为{“ <class'int'>”}的值)


12
history = model.fit(X, y, batch_size=32, epochs=40, validation_split=0.1)

线路问题是这个

显示错误:

ValueError: Failed to find data adapter that can handle input: <class 'numpy.ndarray'>, (<class 'list'> containing values of types {"<class 'int'>"})

编辑您的问题,并添加更多代码和上下文以及完整的错误回溯。阅读如何提问
华伦天奴

什么model啊 它不是任何已标记程序包的一部分。显示完整的追溯。
hpaulj

Answers:



8

所以这发生在新版本的tensorflow上,我不确定从哪里来,但是我在2.0.0版本上,并且发生了同样的事情

我假设您只是将X数组转换为numpy数组,而是尝试使用dtype作为np.uint8将'X'以及'y'转换为numpy数组

那应该解决问题


谢谢您的帮助,它现在对我的程序非常有效。这表明我要降级我tensorflow,一切似乎是工作

6

我面临着同样的问题。原来是列表形式的。我不得不将字段转换为numpy数组,例如:

training_padded = np.array(training_padded)
training_labels = np.array(training_labels)
testing_padded = np.array(testing_padded)
testing_labels = np.array(testing_labels)

而已!


2

VIKI已经说出了很好的答案。我正在添加更多信息。在添加np.array()包装器之前,它也曾经使我的colab主机崩溃。

# Need to call np.array() around pandas dataframes.
# This crashes the colab host from TF attempting a 32GB memory alloc when np.array() wrappers are not used around pandas dataframes.
# Wrapping also cures warning about "Failed to find data adapter that can handle input"
history = model.fit(x=np.array(tr_X), y=np.array(tr_Y), epochs=3, validation_data=(np.array(va_X), np.array(va_Y)), batch_size=batch_size, steps_per_epoch=spe, validation_freq=5)

由于内存不足问题导致主机崩溃与此有关:

Tensorflow密集梯度解释?


2

就我而言,问题仅在于y。这是一个清单。在那种情况下,我不得不改变

y = np.array(y)


1

Mahmud的答案修正了[30]节中的TensorFlow教程“基本回归:预测燃油效率”错误。这些是2行:

更改此:

example_batch = normed_train_data[:10]
example_result = model.predict(example_batch)

对此:

example_batch = np.array(normed_train_data[0:10]) 
example_result = model.predict(example_batch)

谢谢马哈茂德


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.