制作一个列表并在TensorFlow中附加到它

Abh*_*bey 5 python tensorflow

我是TensorFlow的新手.我无法理解如何在TensorFlow中创建动态"pythonic"列表.基本上,我在张量对象(train_data[i])上执行一些计算并将其附加到"列表" X,我希望它是一个形状的张量(100,)

我想做这样的事情:

X = []
for i in range(100):
    q = tf.log(train_data[i]) 
    print(q)    #Tensor("Log:0", shape=(), dtype=float32) 
    X.append(q)
Run Code Online (Sandbox Code Playgroud)

我希望X成为一个具有形状的Tensor (100,),基本上是一个作为张量对象的列向量.如果我运行上面的代码,我会得到一个TensorObjects的python列表.

Rob*_*obR 8

如果你想转换X为(100,)张量,你可以X = tf.stack(X)在for循环后添加:

X = []
for i in range(100):
  q = tf.log(train_data[i]) 
  print(q)    #Tensor("Log:0", shape=(), dtype=float32) 
  X.append(q)
X = tf.stack(X)
Run Code Online (Sandbox Code Playgroud)

这是一个有用的构造,您可能需要tf.unstack一些张量,循环结果列表,然后用于tf.stack返回单个张量.