mindspore.ops.AssignSub

查看源文件
class mindspore.ops.AssignSub[源代码]

从网络参数减去特定数值来更新网络参数。

更多细节请参考 mindspore.ops.assign_sub()

输入:
  • variable (Parameter) - 待更新的网络参数,shape: \((N,*)\) ,其中 \(*\) 表示任何数量的附加维度。其秩应小于8。

  • value (Union[numbers.Number, Tensor]) - 待从 variable 减去的值。如果类型为Tensor,则应与 variable 的shape相同。

输出:

Tensor,shape和dtype与 variable 相同。

支持平台:

Ascend GPU CPU

样例:

>>> import mindspore
>>> import numpy as np
>>> from mindspore import Tensor, ops, nn
>>> from mindspore.common.initializer import initializer
>>> class Net(nn.Cell):
...     def __init__(self):
...         super(Net, self).__init__()
...         self.AssignSub = ops.AssignSub()
...         self.variable = mindspore.Parameter(initializer(1, [1], mindspore.int32), name="global_step")
...
...     def construct(self, x):
...         self.AssignSub(self.variable, x)
...         return self.variable
...
>>> net = Net()
>>> value = Tensor(np.ones([1]).astype(np.int32)*100)
>>> output = net(value)
>>> print(net.variable.asnumpy())
[-99]