masked_select

paddle.masked_select ( x, mask, name=None ) [源代码]

该OP返回一个1-D 的Tensor, Tensor的值是根据 mask 对输入 x 进行选择的, mask 的数据类型是bool 。

参数:

  • x (Tensor) - 输入Tensor, 数据类型为float32, float64,int32 或者int64。

  • mask (Tensor) - 用于索引的二进制掩码的Tensor,数据类型维bool。

  • name (str,可选)- 具体用法请参见 Name ,一般无需设置,默认值为None。

返回:返回一个根据 mask 选择的的Tensor

抛出异常:

  • TypeError: - 如果 x 不是 Tensor 或者 x 是Tensor的时候的数据类型不是 float32, float64, int32, int64其中之一。

  • TypeError: - 如果 mask 不是 Tensor 或者 mask 是Tensor的时候的数据类型不是 bool。

代码示例

  1. import paddle
  2. import numpy as np
  3. data = np.array([[1.0, 2.0, 3.0, 4.0],
  4. [5.0, 6.0, 7.0, 8.0],
  5. [9.0, 10.0, 11.0, 12.0]]).astype('float32')
  6. mask_data = np.array([[True, False, False, False],
  7. [True, True, False, False],
  8. [True, False, False, False]]).astype('bool')
  9. x = paddle.to_tensor(data)
  10. mask = paddle.to_tensor(mask_data)
  11. out = paddle.masked_select(x, mask)
  12. #[1.0 5.0 6.0 9.0]