有没有办法让占位符张量的可变维度循环呢?例如:
t = tf.placeholder(tf.float64, shape=[None])
def loop_cond(t, k):
N = t.get_shape()[0].value
tf.less(k, N-1)
我得到TypeError: unsupported operand type(s) for -: 'NoneType' and 'int'
。
如何循环可变长度等级1张量的元素?
答案 0 :(得分:1)
您可以使用tf.stack
在图形构建时删除已知的形状要求。以下代码可以解决问题。
def loop_cond(t, k):
N = tf.stack([tf.shape(t)[0]])
tf.less(k, N-1)