mindspore.ops.maximum
- mindspore.ops.maximum(input, other)[源代码]
逐元素计算两个输入Tensor中的最大值。
\[output_i = \max(input_i, other_i)\]说明
输入 input 和 other 遵循隐式类型转换规则,使数据类型保持一致。
当输入是两个Tensor时,它们的数据类型不能同时是bool,并保证其shape可以广播。
当输入是一个Tensor和一个Scalar时,Scalar只能是一个常数。
支持广播。
如果一个元素和NaN比较,则返回NaN。
警告
如果所有输入都为标量int类型,在GRAPH模式下,输出为int32类型的Tensor,在PYNATIVE模式下,输出为int64类型的Tensor。
- 参数:
input (Union[Tensor, Number, bool]) - 第一个输入可以是Number或bool,也可以是数据类型为Number或bool的Tensor。
other (Union[Tensor, Number, bool]) - 第二个输入可以是Number或bool,也可以是数据类型为Number或bool的Tensor。
- 返回:
Tensor的shape与广播后的shape相同,数据类型为两个输入中精度较高或数字较多的类型。
- 异常:
TypeError - input 和 other 不是以下之一:Tensor、Number、bool。
ValueError - input 和 other 的shape不相同。
- 支持平台:
Ascend
GPU
CPU
样例:
>>> import mindspore >>> import numpy as np >>> from mindspore import Tensor, ops >>> # case 1 : same data type >>> input = Tensor(np.array([1.0, 5.0, 3.0]), mindspore.float32) >>> other = Tensor(np.array([4.0, 2.0, 6.0]), mindspore.float32) >>> output = ops.maximum(input, other) >>> print(output) [4. 5. 6.] >>> # case 2 : different data type >>> input = Tensor(np.array([1.0, 5.0, 3.0]), mindspore.int32) >>> other = Tensor(np.array([4.0, 2.0, 6.0]), mindspore.float32) >>> output = ops.maximum(input, other) >>> print(output.dtype) Float32