tf.where 和 tf.cond对比

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针对的是具体计算

你可能感兴趣的:(我的Python学习,tensorflow学习)