code: def noamwd_decay(
      step, warmup_steps, model_size, rate, decay_steps, start_step=0
  ):
      """Learning rate schedule optimized for huge batches"""
      return (
          model_size ** (-0.5)
          * min(step ** (-0.5), step * warmup_steps ** (-1.5))
          * rate
          ** (max(step - start_step + decay_steps, 0) // decay_steps)
      )
  
imports: import torch
  import torch.optim
  from torch.nn.utils import clip_grad_norm_
  import operator
  import functools
  from copy import copy
  from math import sqrt
  import types
  import os
  import importlib
  from onmt.utils.misc import fn_args
label_desc: Use image node_id 4 for calling a global function with example usage: noamwd_decay(step, warmup_steps, model_size, rate, decay_steps, start_step) and returns: unknown