Python 如何枚举tensorflow中的张量?

Python 如何枚举tensorflow中的张量?,python,tensorflow,enumerate,Python,Tensorflow,Enumerate,在Google的翻译模型文件——seq2seq.py中,他们使用“enumerate”来枚举第1195行中的张量,就像在PictiureShow中一样,为什么我试图枚举一个张量,但它显示“TypeError:“tensor”对象不可匹配。” 在tensorflow的教程中,我找不到任何关于如何枚举张量的线索,有人能帮我吗?谢谢 顺便说一下,我的张量是4级 您可以对张量进行切片和索引。唯一的区别是您需要运行一个会话来获取值。 下面是一个迭代的例子 foo = tf.constant([1,2,3,

在Google的翻译模型文件——seq2seq.py中,他们使用“enumerate”来枚举第1195行中的张量,就像在PictiureShow中一样,为什么我试图枚举一个张量,但它显示“TypeError:“tensor”对象不可匹配。” 在tensorflow的教程中,我找不到任何关于如何枚举张量的线索,有人能帮我吗?谢谢 顺便说一下,我的张量是4级
您可以对张量进行切片和索引。唯一的区别是您需要运行一个会话来获取值。 下面是一个迭代的例子

foo = tf.constant([1,2,3,4,5,6,7,8,9,0])
sess = tf.Session();
for i in range(10):
    print(sess.run(foo[i]))
sess.close()
或者,您可以使用交互式会话直接调用
print(foo[i].eval())

或者启用即时执行,这就像迭代Python列表一样简单

tf.enable_eager_execution()
foo = tf.constant([1,2,3])
for i in foo:
    print(i) #this prints the tensor including value
这会打印出

tf.张量(1,shape=(),dtype=int32)

tf.张量(2,shape=(),dtype=int32)

tf.张量(3,shape=(),dtype=int32)

在所有这些中,您将得到一个张量,而不是确切的值

此方法不适用于占位符、常量和变量


唯一的一件事:对于变量中的急切模式,您需要使用
tf.contrib.eager.Variable
,而不是
tf.Variable

链接到该文件就可以了