如何將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)