mindspore.ops.masked_fill

mindspore.ops.masked_fill(input_x, mask, value)[源代码]

将掩码位置为True的位置填充指定的值。input_xmask 的shape需相同或可广播。

参数:
  • input_x (Tensor) - 输入Tensor,其数据类型为bool, uint8, int8, int16, int32, int64, float16, float32, float64, complex64或complex128。

  • mask (Tensor[bool]) - 输入的掩码,其数据类型为bool。

  • value (Union[Number, Tensor]) - 用来填充的值,只支持零维Tensor或者Number。

返回:

Tensor,输出与输入的数据类型和shape相同。

异常:
  • TypeError - mask 的数据类型不是bool。

  • TypeError - input_xmask 不是Tensor。

  • ValueError - input_xmask 的shape不可广播。

  • TypeError - input_xvalue 的数据类型不是bool, uint8, int8, int16, int32, int64, float16, float32, float64, complex64或complex128。

  • TypeError - value 的数据类型与 input_x 不同。

  • TypeError - value 既不是Number也不是Tensor。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops
>>> input_x = Tensor(np.array([1., 2., 3., 4.]), mindspore.float32)
>>> mask = Tensor(np.array([True, True, False, True]), mindspore.bool_)
>>> output = ops.masked_fill(input_x, mask, 0.5)
>>> print(output)
[0.5 0.5 3.  0.5]