如何在python的tensorflow中迭代每个嵌套张量的第一个元素?

如何在python的tensorflow中迭代每个嵌套张量的第一个元素?,python,tensorflow,Python,Tensorflow,我使用的张量如下所示: X = tf.constant([['a', 'y', 'b'], ['b', 'y', 'a'], ['a', 'y', 'c'], ['c', 'y', 'a'], ['a', 'y', 'd'], ['c', 'y', 'd'], ['b', 'y', 'c'], ['f'

我使用的张量如下所示:

X = tf.constant([['a', 'y', 'b'],
              ['b', 'y', 'a'],
              ['a', 'y', 'c'],
              ['c', 'y', 'a'],
              ['a', 'y', 'd'],
              ['c', 'y', 'd'],
              ['b', 'y', 'c'],
              ['f', 'y', 'e']])
我希望以一种能够检索每个嵌套张量的第一个元素的方式对其进行迭代,即“a”、“b”、“a”、“c”,。。。并在该迭代中执行一些操作


我尝试过使用tf.slice()操作,但我对tensorflow还不熟悉,不知道如何操作。任何帮助都将不胜感激。谢谢

您可能还没有计算张量。使用
tensor.eval()
session.run(tensor)
计算结果:

import tensorflow as tf

X = tf.constant([['a', 'y', 'b'],
              ['b', 'y', 'a'],
              ['a', 'y', 'c'],
              ['c', 'y', 'a'],
              ['a', 'y', 'd'],
              ['c', 'y', 'd'],
              ['b', 'y', 'c'],
              ['f', 'y', 'e']])

with tf.Session() as sess:
  for i in X[:,0].eval():
    element= i.decode("utf-8") 
    print(element)

  # Or using sess.run()
  #for j in sess.run(X[:,0]):
  #  element= j.decode("utf-8") 
  #  print(element)



输出:

a
b
a
c
a
c
b
f

可能您可以像
X[:,0]
那样简单地获得第一个值的向量。