有时候会需要对矩阵进行大小的比较,或者是选择出矩阵中值较大的部分,此时就可以使用greater和where函数来完成。
第一步,先定义两个矩阵
v1 = tf.constant([[1.0,2.0],[13.0,14.0]])
v2 = tf.constant([[5.0,6.0],[7.0,8.0]])
使用greater函数可以对矩阵进行点对点的比较,并且得出True(更大)或者False(更小)作为结果
我们将v1和v2进行比较,
tf.greater(v1, v2)
得到的结果是
[[False False]
[ True True]]
而where函数可以通过True和False,选择两个矩阵,这一个函数具有三个参数,其中后两者是输入的矩阵。通过搭配greater使用,即可选择出两个矩阵中最大或者最小的数值
print(sess.run(tf.where(tf.greater(v1,v2),v1,v2)))
运行后的结果
[[ 5. 6.]
[13. 14.]]