我的最终目标是判断placeholder
值。
现在我可以使用常规的python比较表达式来判断placeholder
。然后,你知道,它会返回一个张量。
temp_tensor = a_placeholder > 0
然后,例如,在nn_ops.py
temp1 = constant_op.constant(True)
temp2 = constant_op.constant(False)
如何比较temp1
和temp2
?或temp1
和temp2
是否相等。
答案 0 :(得分:3)
考虑到tf.equal(temp1, temp2)
返回张量(例如[[True], [False]]
)
如果你想找到答案“这个张量等于另一个张量”,你就不需要比较元素。
您可能想要的是
if sess.run(tf.reduce_all(tf.equal(temp1, temp2))):
print('temp1 is equal temp2')
else:
print('temp1 is not equal temp2')
答案 1 :(得分:1)
您应该使用tf.equal
功能。遵循官方文档,tf.equal()
接受两个张量并明确操作元素。这样的事情应该有用,
result = tf.equal(temp1, temp2)
注意,result
与temp1
和temp2
具有相同的维度并填充了布尔值。
答案 2 :(得分:0)
尝试
tf.cond(tf.equal(temp1,temp2),true_fn,false_fn)
其中true_fn和false_fn是函数。 例如,您可以编写类似
的内容tf.cond(tf.equal(temp1, temp2)
, lambda: print(temp1, ' and ', temp2 , 'are equal.')
, lambda: print(temp1, ' and ', temp2, 'are NOT equal.'))