如何將tensor大於某個值為1,小於某個值為0


如何將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是傳入的需要轉換的tensorboundary是這個臨界值,即大於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)
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM