如何将tensor大于某个值为1,小于某个值为0
一、总结
一句话总结:
可用tf.where方法,tf.where(pridict_y>0.5,x=1,y=0)表示大于0.5取1,否则取
二、如何将tensor大于某个值为1,小于某个值为0
转自或参考:如何将tensor大于某个值为1,小于某个值为0
http://blog.csdn.net/qq_32623363/article/details/103684766
方法很简单,定义一个简单的函数,imgTensor
是传入的需要转换的tensor
,boundary
是这个临界值,即大于boundary
的值设为1
,小于boundary
的值设为0
。本函数使用tf.where
来实现,那么很容易可以看出我们可以任意设置tensor
大于某个值(或小于某个值)时的值,只需要将下面代码中的tf.ones_like
(或:tf.zeros_like
)改成tf.fill()
来构造一个相同大小的tensor
即可。
def getBinaryTensor(imgTensor, boundary = 200):
one = tf.ones_like(imgTensor)
zero = tf.zeros_like(imgTensor)
return tf.where(imgTensor > boundary, one, zero)