如何循环可变长度等级1张量的元素?

时间:2017-08-21 12:58:32

标签: 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: unsupported operand type(s) for -: 'NoneType' and 'int'

如何循环可变长度等级1张量的元素?

1 个答案:

答案 0 :(得分:1)

您可以使用tf.stack在图形构建时删除已知的形状要求。以下代码可以解决问题。

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