gpt4 book ai didi

python-2.7 - Tensorflow(python):train_step.run(…)中的“ValueError:设置具有序列的数组元素”

转载 作者:行者123 更新时间:2023-12-03 13:44:07 25 4
gpt4 key购买 nike

我正在尝试实现使用我自己的图像集训练的简单逻辑回归模型,但是在尝试训练模型时却出现此错误:

Traceback (most recent call last):
File "main.py", line 26, in <module>
model.entrenar_modelo(sess, training_images, training_labels)
File "/home/jr/Desktop/Dropbox/Machine_Learning/TF/Míos/Hip/model_log_reg.py", line 24, in entrenar_modelo
train_step.run({x: batch_xs, y_: batch_ys})
File "/home/jr/.local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1267, in run
_run_using_default_session(self, feed_dict, self.graph, session)
File "/home/jr/.local/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2763, in _run_using_default_session
session.run(operation, feed_dict)
File "/home/jr/.local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 334, in run
np_val = np.array(subfeed_val, dtype=subfeed_t.dtype.as_numpy_dtype)
ValueError: setting an array element with a sequence.


我要提供给 train_step.run({x: batch_xs, y_: batch_ys})的数据是这样的:


batch_xs:代表100x100(10,000长张量)图像的张量对象列表
batch_ys:标签列表为浮点数(1.0或0.0)


我究竟做错了什么?
提前谢谢!

编辑1:它接缝的问题是我必须在将它们传递给 batch_xs之前评估 train_step.run(...)中的张量。我以为run方法可以解决这个问题,但是我想我错了?
无论如何,所以一旦我在调用函数之前这样做了:

for i, x in enumerate(batch_xs):
batch_xs[i] = x.eval()
#print batch_xs[i].shape
#assert all(x.shape == (100, 100, 3) for x in batch_xs)
# Now I can call the function


编辑2:即使按照下面的答案中的建议进行操作,我仍然遇到几个问题。最后,我放弃了张量并使用了numpy数组来修复所有问题。

希望这对别人有帮助

最佳答案

此特定错误来自numpy。在尺寸不一致的序列上调用np.array可能会抛出该错误。

>>> np.array([1,2,3,[4,5,6]])

ValueError: setting an array element with a sequence.


看来在 tf确保 feed_dict的所有元素都是 numpy.array的点上失败了。

检查您的 feed_dict

关于python-2.7 - Tensorflow(python):train_step.run(…)中的“ValueError:设置具有序列的数组元素”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34156639/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com