Tensorflow 如何循环可变长度秩1张量的元素?

Tensorflow 如何循环可变长度秩1张量的元素?,tensorflow,Tensorflow,有没有一种方法可以让占位符张量的可变维度在其上循环?例如: t = tf.placeholder(tf.float64, shape=[None]) def loop_cond(t, k): N = t.get_shape()[0].value tf.less(k, N-1) 我得到TypeError:-:'NoneType'和'int'的不支持的操作数类型 如何在变长秩1张量的元素上循环?您可以使用它在图形构造时消除已知的形状要求。下面的代码可以解决这个问题 def loo

有没有一种方法可以让占位符张量的可变维度在其上循环?例如:

t = tf.placeholder(tf.float64, shape=[None])

def loop_cond(t, k):
    N = t.get_shape()[0].value
    tf.less(k, N-1)
我得到
TypeError:-:'NoneType'和'int'的不支持的操作数类型

如何在变长秩1张量的元素上循环?

您可以使用它在图形构造时消除已知的形状要求。下面的代码可以解决这个问题

def loop_cond(t, k):
    N = tf.stack([tf.shape(t)[0]])
    tf.less(k, N-1)

我得到
ValueError:对于输入形状为[1]的'sim_loop/LoopCond'(op:'LoopCond'),形状必须为秩0,但为秩1。
I在返回之前进行了如下重塑:
N=tf.restrape(N,())
,它可以工作。