මෙය AMSGrad ප්රශස්තකරණය පුළුල් කරන අතර උනුසුම් අවධියක් එක් කරයි.
12from typing import Dict
13
14from labml_nn.optimizers import WeightDecay
15from labml_nn.optimizers.amsgrad import AMSGrad18class AdamWarmup(AMSGrad):params
 යනු පරාමිතීන් ලැයිස්තුවයි lr
 යනු ඉගෙනුම් අනුපාතයයි  betas
 (, ) ක tuple වේ eps
  හෝ මත  පදනම් වේ optimized_update
 weight_decay
 WeightDecay
 අර්ථ දක්වා ඇති පන්තියේ අවස්ථාවකි __init__.py
 amsgrad
 ආදම් සරල කිරීම සඳහා AMSGrad හෝ වැටීම භාවිතා කළ යුතුද යන්න දැක්වෙන ධජයකි warmup
 උනුසුම් පියවර ගණන defaults
 කණ්ඩායම් අගයන් සඳහා පෙරනිමි ශබ්ද කෝෂයකි. ඔබට පන්තිය දීර් extend කිරීමට අවශ්ය විට මෙය ප්රයෝජනවත් AdamWarmup
වේ. 24    def __init__(self, params, lr=1e-3, betas=(0.9, 0.999), eps=1e-16,
25                 weight_decay: WeightDecay = WeightDecay(),
26                 optimized_update: bool = True,
27                 amsgrad=False, warmup=0, defaults=None):44        defaults = {} if defaults is None else defaults
45        defaults.update(dict(warmup=warmup))
46        super().__init__(params, lr, betas, eps, weight_decay, optimized_update, amsgrad, defaults)48    def get_lr(self, state: Dict[str, any], group: Dict[str, any]):අපිඋනුසුම් අවධියක සිටී නම්
56        if group['warmup'] > state['step']:සිට රේඛීයව වැඩිවන ඉගෙනුම් අනුපාතය
58            return 1e-8 + state['step'] * group['lr'] / group['warmup']
59        else:නිරන්තරඉගෙනුම් අනුපාතය
61            return group['lr']