import tensorflow as tf
pred=tf.placeholder(dtype=tf.bool,name='bool')
x=tf.constant(1)
y = tf.cond(pred,lambda:x+1,lambda:x-1)
z=tf.where(pred,x+1,x-1)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
y1,z1=sess.run([y,z],feed_dict={pred:True})
y2,z2=sess.run([y,z],feed_dict={pred:False})
我们可以看出,用法几乎一样,不过,tf.cond针对的是函数,而tf.where针对的是具体计算