0
我想为张量赋值一次,并在后面的所有处理中保持不变。换句话说,我想实现类似如下的内容:如何在Tensorflow中运行此条件执行?
x = tf.cond(tf.equal(x_ready, 0), ComputeX(), tf.no_op)
当然,这是行不通的,因为tf.no_op不返回张量。那么在Tensorflow中实现与以下C++代码等效的任何简单方法吗?
x_ready = false;
if (!x_ready) {
x = ComputeX();
x_ready = true;
} // and there is no "else" branch
请注意,我不希望执行它以下列方式:
x = tf.cond(tf.equal(x_ready, 0), ComputeX(), tf.identity(x))
,因为“X”这个声明之前未声明。如果似乎Tensorflow对于单分支条件执行是不灵活的 - 即使fn2不是必需的,您总是必须为“真”和“假”情况提供两个函数fn1,fn2。