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

本文通过实例对比了TensorFlow中tf.cond和tf.where两种条件运算符的使用方式及区别。tf.cond根据条件执行不同的函数,而tf.where则针对具体计算选择不同路径。
1万+

被折叠的 条评论
为什么被折叠?



