tf.less()和tf.where()函数详解

import tensorflow as tf
import numpy as np

A=[[1,2,3]]
t=tf.shape(A)#t为A的shape,A为1行3列
i=[3,2]
r=tf.less(i,t)#i=[3,2] t=[1,3] ,将i的元素和t的元素逐一比较,如果同一位置i的元素的值小于t的元素的值则输出True,否则输出False
with tf.Session() as sess:
    print(sess.run(t))
    print(sess.run(r))

A=[[1,2,3],
   [4,5,6]]
t = tf.shape(A)
i=[[1,2,3],
   [1,2,3]]
r = tf.less(i, A)#将i和A的元素逐一对比
with tf.Session() as sess:
    print(sess.run(t))
    print(A)
    print(sess.run(r))

a=np.array([[1,0,0],[0,1,1]])
a1=np.array([[3,2,3],[4,5,6]])
b=tf.equal(a,1)
with tf.Session() as sess:
    print("#####")
    print(sess.run(b))
    print(sess.run(tf.where(b)))#当tf.where()只有一个参数时返回该输入参数中的Ture的位置
    print(sess.run(tf.where(b,a,a1)))#当tf.where()有三个参数时返回值为将第一个参数中的False对应的第二个参数的位置的元素替换成第三个参数对应位置的值

参考文章:

https://blog.csdn.net/a_a_ron/article/details/79048446

https://blog.csdn.net/stt12345678/article/details/83987675

你可能感兴趣的:(tf.less()和tf.where()函数详解)