mindspore.ops.maximum

查看源文件
mindspore.ops.maximum(input, other)[源代码]

逐元素计算两个输入Tensor中的最大值。

\[output_i = \max(input_i, other_i)\]

说明

  • 输入 inputother 遵循隐式类型转换规则,使数据类型保持一致。

  • 当输入是两个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 - inputother 不是以下之一:Tensor、Number、bool。

  • ValueError - inputother 的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