TypeError: 'Tensor' object cannot be interpreted as an integer
TypeError: 'Tensor' object cannot be interpreted as an integer
我正在尝试 运行 基于数组大小的循环。如何在张量流中做到这一点?例如
# input pipeline with all files available in the folder
a = tf.Variable([1,2,3,4,5],dtype = tf.int32)
loop = tf.size(a)
....
for i in range(loop):
print(sess.run(a))
我想打印数组 a 5 次。但它说循环是一个张量对象,不能作为整数。
我尝试将循环变量作为
loop = tf.cast(tf.size(a),tf.int32),
loop = tf.shape_n(a),
loop = tf.shape(a)[0]
同样的错误。
tf.size()
没有给你一个值或列表。
a = tf.Variable([1,2,3,4,5],dtype = tf.int32)
v = a.get_shape()
loop = v.num_elements()
...
也许,试试这个。
不太确定你想在这里实现什么。 loop
是一个 tf.Tensor
并且 range
期望一个 integer
作为参数,因此错误。如果只想打印5次a
,为什么不把loop设置成数值5呢?
否则,下面的代码应该可以工作,因为 loop.eval()
returns loop
的值是 5:
a = tf.Variable([1,2,3,4,5],dtype = tf.int32)
loop = tf.size(a)
....
for i in range(loop.eval()):
print(sess.run(a))
如果不想多次执行TF图,看一下tf.while_loop。
我正在尝试 运行 基于数组大小的循环。如何在张量流中做到这一点?例如
# input pipeline with all files available in the folder
a = tf.Variable([1,2,3,4,5],dtype = tf.int32)
loop = tf.size(a)
....
for i in range(loop):
print(sess.run(a))
我想打印数组 a 5 次。但它说循环是一个张量对象,不能作为整数。 我尝试将循环变量作为
loop = tf.cast(tf.size(a),tf.int32),
loop = tf.shape_n(a),
loop = tf.shape(a)[0]
同样的错误。
tf.size()
没有给你一个值或列表。
a = tf.Variable([1,2,3,4,5],dtype = tf.int32)
v = a.get_shape()
loop = v.num_elements()
...
也许,试试这个。
不太确定你想在这里实现什么。 loop
是一个 tf.Tensor
并且 range
期望一个 integer
作为参数,因此错误。如果只想打印5次a
,为什么不把loop设置成数值5呢?
否则,下面的代码应该可以工作,因为 loop.eval()
returns loop
的值是 5:
a = tf.Variable([1,2,3,4,5],dtype = tf.int32)
loop = tf.size(a)
....
for i in range(loop.eval()):
print(sess.run(a))
如果不想多次执行TF图,看一下tf.while_loop。