python里tensorflow_python-2.7 – Tensorflow(python):“valueError:在train_step.run(…)中设置带序列的数组元素”...

博主在尝试使用自己的图像数据集训练逻辑回归模型时遇到了TensorFlow错误,错误信息表明在运行train_step时提供了包含序列的数组元素。经过检查,问题在于需要在传递给train_step之前对张量进行评估。最终,博主通过转换为numpy数组解决了问题。
摘要由CSDN通过智能技术生成

我正在尝试使用我自己的一组图像来训练一个简单的逻辑回归模型,但是当我尝试训练模型时,我收到了这个错误:

Traceback (most recent call last):

File "main.py", line 26, in

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:表示100×100(10,000个长张量)图像的张量对象列表

> batch_ys:标签列表为浮点数(1.0或0.0)

我究竟做错了什么?

Thx提前!

编辑1:问题是我必须在将它们传递给train_step.run(…)之前评估batch_xs中的张量.我认为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数组来修复所有内容.

希望这有助于其他人

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值