张量流条件:检查张量内的值是否为零或更大

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了张量流条件:检查张量内的值是否为零或更大相关的知识,希望对你有一定的参考价值。

如果我有以下张量:

pmi=tf.constant([[1.5,0.0,0.0],[0.0,0.0,2.9],[1.001,5,1]])

我想要具有相应的张量Fpmi(或缩放器),使得当PMI张量内的元素大于0时,Fpmi中的元素应该是1,而当pmi中的元素= 0时,Fpmi中的元素= 0.0005。

我很感激任何建议。

答案

使用tf.where,您可以使用a = tf.constant(1, shape=pmi.shape, dtype=tf.float32) b = tf.constant(0.0005, shape=pmi.shape, dtype=tf.float32) tf.where(tf.greater(pmi, 0), a, b).eval() #array([[ 1.00000000e+00, 5.00000024e-04, 5.00000024e-04], # [ 5.00000024e-04, 5.00000024e-04, 1.00000000e+00], # [ 1.00000000e+00, 1.00000000e+00, 1.00000000e+00]], dtype=float32) 从两个常量张量中有条件地返回元素:

qazxswpoi

以上是关于张量流条件:检查张量内的值是否为零或更大的主要内容,如果未能解决你的问题,请参考以下文章

如何检查张量流保存模型中的图形定义

如何解决权重矩阵维度较大的张量流梯度问题?

在张量流检查点中修改张量的形状

未腌制的张量流模型无法做出预测

是否可以将一维张量转换为列表? (张量流)

如何根据张量流中的列条件获取张量值的索引