如何将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