介绍
通过bool值对tensor进行索引
语法
tf.boolean_mask(
tensor,
mask,
axis=None,
name='boolean_mask'
)
参数
- tensor:n维tensor
- mask:k维 bool型tensor,k <= n,k必须是静态值
- axis:轴,0维 int型tensor,默认值为0,表示按照某个轴进行掩盖(即索引),K + axis <= N
返回值
(N-K+1)维,根据 bool 掩码 索引的值
例子
import tensorflow as tf
tens=tf.constant([1,2,3,4,5])
res=tf.boolean_mask(tens, [ True,True,True,False,False])
print(res)
执行结果:
tf.Tensor([1 2 3], shape=(3,), dtype=int32)
按照0轴,用bool列表对tens进行掩盖,被True掩盖的取出,被False掩盖的丢弃,所以返回值保留1,2,3