Tensorflow中的可调用内容是什么?

时间:2018-03-16 16:30:19

标签: tensorflow

我认为可调用只是我调用的tf库中的一个函数。这样:

tensor = tf.while_loop(tf.less(tf.rank(tensor), ndims),        # cond
                       tf.append(tensor, axis=axis),           # body
                       loop_vars = [tensor])                   # loop_vars

错误TypeError: cond must be callable.

如果不是tf.less(),那么什么是可调用条件?

2 个答案:

答案 0 :(得分:3)

可调用是可以调用的任何东西。 See here

cond应该是一个功能。您可以使用lambdaSee here)来创建条件callable

Here有一个如何使用tf.while_loop的最小示例:

i = tf.constant(0)
c = lambda i: tf.less(i, 10)
b = lambda i: tf.add(i, 1)
r = tf.while_loop(c, b, [i])

最后,发布实际运行并生成错误的最小代码并不是一个坏主意。

答案 1 :(得分:1)

tf.lessOperation个对象。要使其可调用,只需使用lambda

tensor = tf.while_loop(lambda tensor: tf.less(tf.rank(tensor), ndims), # cond
                       lambda tensor: tf.append(tensor, axis=axis),    # body
                       loop_vars = [tensor])                           # loop_vars