Skip to main content
 首页 » 编程设计

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

2024年09月03日29mq0036

我正在使用如下所示的张量:

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