|
这个函数跟if...else...的功能很像,主要控制tensorflow中计算图的张量的流向。官网中有对函数参数的解释如下:
tf.cond(
pred,
true_fn=None,
false_fn=None,
strict=False,
name=None,
fn1=None,
fn2=None
)
pred: A scalar determining whether to return the result of true_fn or false_fn.true_fn: The callable to be performed if pred is true.false_fn: The callable to be performed if pred is false.strict: A boolean that enables/disables 'strict' mode; see above.name: Optional name prefix for the returned tensors.
看的有点糊涂,用一个例子来解释下吧 !
import tensorflow as tf
x=tf.constant(2)
y=tf.constant(5)
flag=tf.constant(True)
op=tf.cond(flag,lambda :tf.add(x,y),lambda : tf.multiply(x,y))
with tf.Session() as sess:
result=sess.run(op)
print(result)
当flag为True时,执行‘加’操作,结果为7,当flag为Flase时,执行“乘”操作,结果为10
|