如何将tensor大于某个值为1,小于某个值为0

如何将tensor大于某个值为1,小于某个值为0

方法很简单,定义一个简单的函数,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)