TensorFlow 中的 ValueError
Posted
技术标签:
【中文标题】TensorFlow 中的 ValueError【英文标题】:ValueError in TensorFlow 【发布时间】:2020-02-29 03:59:44 【问题描述】:所以我在运行这行代码时遇到了一些TensorFlow的问题:
history = model.fit(X, y, batch_size=32, epochs=40, validation_split=0.1)
Traceback如下:
Traceback (most recent call last):
File "cnnmodel.py", line 71, in <module>
history = model.fit(X, y, batch_size=32, epochs=40, validation_split=0.1)
File "C:\Users\couch\PyMOL\envs\test\lib\site-packages\tensorflow_core\python\keras\engine\training.py", line 728, in fit
use_multiprocessing=use_multiprocessing)
File "C:\Users\couch\PyMOL\envs\test\lib\site-packages\tensorflow_core\python\keras\engine\training_v2.py", line 224, in fit
distribution_strategy=strategy)
File "C:\Uslow_core\python\keras\engine\training_v2.py", line 497, in _process_training_inputs
adapter_cls = data_adapter.select_data_adapter(x, y)
File "C:\Users\couch\PyMOL\envs\test\lib\site-packages\tensorflow_core\python\keras\engine\data_adapter.py", line 653, in select_data_adapter
_type_name(x), _type_name(y)))
ValueError: Failed to find data adapter that can handle input: <class 'numpy.ndarray'>, (<class 'list'> containing values of types "<class 'int'>")
X 数据是像素值的 numpy 数组,Y 数据是标签列表。
X 和 Y 数据使用 pickle 和...重新格式化...
import pickle
import numpy
X = pickle.load(open("X.pickle", "rb"))
y = pickle.load(open("y.pickle", "rb"))
print(X[0][0:64])
print(y[0:10])
产量:
[[[2]
[2]
[2]
...
[1]
[1]
[1]]
[[2]
[2]
[2]
...
[1]
[1]
[1]]
[[2]
[2]
[2]
...
[1]
[1]
[1]]
...
[[0]
[0]
[0]
...
[0]
[0]
[0]]
[[0]
[0]
[0]
...
[0]
[0]
[0]]
[[0]
[0]
[0]
...
[0]
[0]
[0]]]
[3, 3, 0, 0, 3, 4, 3, 1, 4, 4]
关于如何解决问题的任何想法?
【问题讨论】:
请发布您的X
和y
数据样本。
我解决了。原来输入数据需要是相同的类型。在酸洗之前,我只是通过 y = numpy.array(y) 传递了 y 数据。它现在可以工作了,我正在训练我的第一个模型。
干得好;所以,现在请将其发布为您自己问题的答案,以便将来对其他人有用,或者完全删除该问题
【参考方案1】:
我解决了。原来输入数据需要是相同的类型。在酸洗之前,我只是将 y 数据通过:y = numpy.array(y)
。现在它可以工作了,我正在训练我的第一个模型。
【讨论】:
干得好。当强制性的 2 天期限过去后,您应该接受您自己的答案(这没有错:***.com/help/self-answer)以上是关于TensorFlow 中的 ValueError的主要内容,如果未能解决你的问题,请参考以下文章
TensorFlow 中的 Heaviside(单元步骤)激活