mindspore.ops.TruncateMod

class mindspore.ops.TruncateMod[源代码]

逐元素取模。

输入 xy 应能遵循隐式类型转换规则使数据类型一致。 输入必须为两个Tensor或一个Tensor和一个标量。 当输入为两个Tensor时,数据类型不能同时为bool类型,支持shape广播。 当输入是一个Tensor和一个标量时,标量只能是一个常数。

警告

  • 输入数值不能为0。

  • 当输入含有超过2048个元素,该操作不能保证千分之二的精度要求。

  • 由于架构不同,该算子在NPU和CPU上的计算结果可能不一致。

  • 若shape为(D1、D2…、Dn),则D1*D2…*DN<=1000000,n<=8。

输入:
  • x (Union[Tensor, numbers.Number, bool]) - Number或bool类型的Tensor。

  • y (Union[Tensor, numbers.Number, bool]) - Number或bool类型的Tensor。

输出:

Tensor,shape为输入进行广播后的shape,数据类型为两个输入中精度较高的输入的类型。

异常:
  • TypeError - xy 数据类型不是以下之一:Tensor、Number、bool。

  • TypeError - xy 均不是Tensor。

  • ValueError - xy 的shape无法进行广播转换。

支持平台:

Ascend CPU GPU

样例:

>>> x = Tensor(np.array([2, 4, -1]), mindspore.int32)
>>> y = Tensor(np.array([3, 3, 3]), mindspore.int32)
>>> truncate_mod = ops.TruncateMod()
>>> output = truncate_mod(x, y)
>>> print(output)
[ 2  1 -1]