程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

TypeError:“张量”对象不能解释为整数

发布于2019-11-11 14:19     阅读(668)     评论(0)     点赞(19)     收藏(0)


我正在尝试根据数组的大小运行循环。如何在张量流中做到这一点?例如

# 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是一个张量对象,不能作为整数。我尝试将循环变量作为

loop = tf.cast(tf.size(a),tf.int32),
loop = tf.shape_n(a),
loop = tf.shape(a)[0]

它具有相同的错误。


解决方案


不太确定要在这里实现什么。loop是a tf.Tensorrange期望使用integeras参数,因此会出现错误。如果您只想打印5次,为什么不将loop设置为数值5?

否则,以下代码应该工作,因为loop.eval()返回的值为loop5:

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



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/150189/aca50b64724eb9ee7e8e/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

19 0
收藏该文
已收藏

评论内容:(最多支持255个字符)