Numpy 如何在Tensorflow中为张量中的元素设置阈值操作?

Numpy 如何在Tensorflow中为张量中的元素设置阈值操作?,numpy,tensorflow,Numpy,Tensorflow,当我得到网络的输出时,它是一个张量,大小像[批量大小,高度,重量],内容是概率。我想做的是为张量设置一个阈值,然后进行二值化处理。那么我应该如何处理张量呢?您可以使用: 在这里,高于1的所有内容都将变为1,低于0的所有内容都将变为0。其他一切都将保持不变 再看看这个,它做了类似的事情,但是把所有的东西都转换成0或1:然而,我的张量中的内容是概率,所以它已经在[0,1]范围内了。我想做的是设置一个阈值,比如0.9,高于0.9的都将变为1,低于0.9的都将变为0.1)我应该如何从你的问题中猜到这一点

当我得到网络的输出时,它是一个张量,大小像[批量大小,高度,重量],内容是概率。我想做的是为张量设置一个阈值,然后进行二值化处理。那么我应该如何处理张量呢?

您可以使用:

在这里,高于1的所有内容都将变为1,低于0的所有内容都将变为0。其他一切都将保持不变


再看看这个,它做了类似的事情,但是把所有的东西都转换成0或1:

然而,我的张量中的内容是概率,所以它已经在[0,1]范围内了。我想做的是设置一个阈值,比如0.9,高于0.9的都将变为1,低于0.9的都将变为0.1)我应该如何从你的问题中猜到这一点?2) 你读过我链接的问题了吗?它完全解决了你描述的问题。很抱歉我的粗心。还有一个问题。在您提供给我的答案中,我必须使用sess.run(),然后才能得到正确的结果?然而,在我的代码中,我已经定义了一个图和一些plachaholder。如果我编写类似于sess.run(pred)的代码,我将收到错误消息:InvalidArgumentError(回溯请参见上文):您必须使用dtype float和shape[50240240,3][[Node:placeholder=placeholder[dtype=DT_float,shape=[50240240,3],\u device=“/job:localhost/replica:0/task:0/cpu:0”]()]必须将用作第二个参数的任何占位符的值提供给sess.run()。
import tensorflow as tf

a = tf.random_uniform(shape=(2, 3, 3), minval=-1, maxval=3)
b = tf.clip_by_value(a, 0, 1)

with tf.Session() as sess:
    A, B = sess.run([a, b])
    print A, '\n'
    print B