问题描述
DL中我们可能会根据tensor中元素的值进行不同的操作(比如loss阶段会根据grandtruth或outputs中元素的大小进行不同的loss操作),这时就要对tensor中的元素进行判断。在python中可以用for + if语句进行判断。但TF中输入是Tensor,for和if语句失效。
tf.where说明
-
格式:tf.where(condition, x=None, y=None, name=None)
-
参数:
condition: 一个元素为bool型的tensor。元素内容为false,或true。
x: 一个和condition有相同shape的tensor,如果x是一个高维的tensor,x的第一维size必须和condition一样。
y: 和x有一样shape的tensor -
返回:
一个和x,y有同样shape的tensor -
功能:
遍历condition Tensor中的元素,如果该元素为true,则out