mindspore.Tensor.remainder =========================== .. py:method:: mindspore.Tensor.remainder(other) 逐元素计算 `self` 除以 `other` 后的余数。结果与除数同号且绝对值小于除数的绝对值。 支持广播和隐式数据类型提升。 .. code:: python remainder(input, other) == input - input.div(other, rounding_mode="floor") * other .. note:: 输入不支持复数类型。至少一个输入为tensor,且不能都为布尔型tensor。 除数 `self` 为数据类型为 `number <https://www.mindspore.cn/docs/zh-CN/r2.5.0/api_python/mindspore/mindspore.dtype.html#mindspore.dtype>`_ 或 `bool_ <https://www.mindspore.cn/docs/zh-CN/r2.5.0/api_python/mindspore/mindspore.dtype.html#mindspore.dtype>`_ 的Tensor。 参数: - **other** (Union[Tensor, numbers.Number, bool]) - 被除数为数值型、bool或数据类型为数值型或bool的Tensor。当除数是Tensor时,则被除数是数值型、bool或数据类型为数值型或bool的Tensor。 返回: Tensor,经过隐式类型提升和广播。 异常: - **TypeError** - 如果 `self` 和 `other` 不是以下类型之一:(tensor, tensor),(tensor, number),(tensor, bool),(number, tensor) 或 (bool, tensor)。 - **ValueError** - 如果 `self` 和 `other` 不能被广播。 .. py:method:: mindspore.Tensor.remainder(divisor) :noindex: 逐元素计算第一个元素除以第二个元素的余数。 `self` 和 `divisor` 的输入遵守隐式类型转换规则,以使数据类型一致。输入必须是两个Tensor或者一个Tensor和一个Scalar。当输入是两个Tensor时,两个dtype都不能是bool类型,shape可以广播。当输入是Tensor和Scalar时,这个Scalar只能是常数。 .. code:: python remainder(input, other) == input - input.div(other, rounding_mode="floor") * other .. warning:: - 当输入元素超过2048时,可能会有精度问题。 - 在Ascend和CPU上的计算结果可能不一致。 - 如果shape表示为(D1,D2…Dn),那么D1 \ * D2……\ * DN <= 1000000,n <= 8。 .. note:: 第一个输入 `self` 为dtype是Number的Tensor。 参数: - **divisor** (Union[Tensor, numbers.Number, bool]) - 当第一个输入是一个Tensor时,第二个输入可以是Number、bool或者dtype是Number的Tensor。 返回: Tensor,具有和其中一个输入广播后相同的shape,数据类型是两个输入中精度较高的数据类型。 异常: - **TypeError** - `self` 和 `divisor` 的类型不是Tensor,number或bool。 - **ValueError** - `self` 和 `divisor` 的shape不能广播成对方的shape。