mindspore.ops.ReduceOp
- class mindspore.ops.ReduceOp[源代码]
规约张量的操作选项。这是枚举类型,而不是运算符。
主要调用方法如下:
SUM:ReduceOp.SUM.
MAX:ReduceOp.MAX.
MIN:ReduceOp.MIN.
PROD:ReduceOp.PROD.
有四种操作选项,”SUM”、”MAX”、”MIN”和”PROD”。
SUM:求和。
MAX:求最大值。
MIN:求最小值。
PROD:求乘积。
- 支持平台:
Ascend
GPU
样例:
说明
运行以下样例之前,需要配置好通信环境变量。
针对Ascend设备,用户需要准备rank表,设置rank_id和device_id,详见 rank table启动 。
针对GPU设备,用户需要准备host文件和mpi,详见 mpirun启动 。
针对CPU设备,用户需要编写动态组网启动脚本,详见 动态组网启动 。
该样例需要在多卡环境下运行。
>>> import numpy as np >>> import mindspore >>> from mindspore.communication import init >>> from mindspore import Tensor, ops, nn >>> from mindspore.ops import ReduceOp >>> >>> init() >>> class Net(nn.Cell): ... def __init__(self): ... super(Net, self).__init__() ... self.allreduce_sum = ops.AllReduce(ReduceOp.SUM) ... ... def construct(self, x): ... return self.allreduce_sum(x) ... >>> input_ = Tensor(np.ones([2, 8]).astype(np.float32)) >>> net = Net() >>> output = net(input_) >>> print(output) [[2. 2. 2. 2. 2. 2. 2. 2.] [2. 2. 2. 2. 2. 2. 2. 2.]]