Пример #1
0
    def __init__(self,
                 params,
                 learning_rate=1e-3,
                 beta1=0.9,
                 beta2=0.999,
                 eps=1e-8,
                 use_locking=False,
                 use_nesterov=False,
                 weight_decay=0.0,
                 loss_scale=1.0):
        super(Adam, self).__init__(learning_rate, params, weight_decay,
                                   loss_scale)
        _check_param_value(beta1, beta2, eps, weight_decay, self.cls_name)
        validator.check_value_type("use_locking", use_locking, [bool],
                                   self.cls_name)
        validator.check_value_type("use_nesterov", use_nesterov, [bool],
                                   self.cls_name)

        self.beta1 = Tensor(beta1, mstype.float32)
        self.beta2 = Tensor(beta2, mstype.float32)
        self.beta1_power = Parameter(initializer(1, [1], mstype.float32),
                                     name="beta1_power")
        self.beta2_power = Parameter(initializer(1, [1], mstype.float32),
                                     name="beta2_power")
        self.eps = eps

        self.moment1 = self.parameters.clone(prefix="moment1", init='zeros')
        self.moment2 = self.parameters.clone(prefix="moment2", init='zeros')

        self.hyper_map = C.HyperMap()
        self.opt = P.Adam(use_locking, use_nesterov)
        self.sparse_opt = P.SparseApplyAdam(use_locking, use_nesterov)
Пример #2
0
 def __init__(self):
     super(Net, self).__init__()
     self.sparse_apply_adam = P.SparseApplyAdam()
     self.var = Parameter(Tensor(np.ones([3, 3, 3]).astype(np.float32)),
                          name="var")
     self.m = Parameter(Tensor(np.ones([3, 3, 3]).astype(np.float32)),
                        name="m")
     self.v = Parameter(Tensor(np.ones([3, 3, 3]).astype(np.float32)),
                        name="v")