mindspore.ops.floor_mod
- mindspore.ops.floor_mod(x, y)[源代码]
逐元素计算第一个输入除以第二个输入,并向下取余。
如果两个输入数据类型不同,遵循隐式类型转换规则。 输入必须是两个tensor或一个tensor和一个scalar。 当输入是两个tensor时,其shape须可以进行广播,并且数据类型不能同时为bool。
警告
输入 y 的元素不能等于0,否则将返回当前数据类型的最大值。
当输入元素数量超过2048时,算子的精度不能保证千分之二的要求。
由于架构不同,该算子在NPU和CPU上的计算结果可能不一致。
如果shape表示为
,那么 D1*D2… *DN<=1000000,n<=8。
- 参数:
x (Union[Tensor, Number, bool]) - 第一个输入tensor。
y (Union[Tensor, Number, bool]) - 第二个输入tensor。
- 返回:
Tensor
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> # case 1: Two tensors with boolean and integer data type. >>> input = mindspore.tensor([True, True, False]) >>> other = mindspore.tensor([1, 2, 4]) >>> output = mindspore.ops.floor_mod(input, other) >>> print(output) [0 1 0] >>> >>> # case 2: One tensor and one scalar. >>> input = mindspore.tensor([1, 2, 4]) >>> other = mindspore.tensor(1.5) >>> output = mindspore.ops.floor_mod(input, other) >>> print(output) [1. 0.5 1. ] >>> >>> # case 3: When inputs have different data types, type promotion rules are followed. >>> input = mindspore.tensor([1, 2, 4], mindspore.int32) >>> other = mindspore.tensor([1.1, 2.5, -1.5], mindspore.float32) >>> output = mindspore.ops.floor_mod(input, other) >>> print(output) [ 1. 2. -0.5]