class_docstr: Implements NAdamW algorithm.
  
  See Table 1 in https://arxiv.org/abs/1910.05446 for the implementation of
  the NAdam algorithm (there is also a comment in the code which highlights
  the only difference of NAdamW and AdamW).
  For further details regarding the algorithm we refer to
  `Decoupled Weight Decay Regularization`_.
  
  Args:
    params (iterable): iterable of parameters to optimize or dicts defining
        parameter groups
    lr (float, optional): learning rate (default: 1e-3)
    betas (Tuple[float, float], optional): coefficients used for computing
        running averages of gradient and its square (default: (0.9, 0.999))
    eps (float, optional): term added to the denominator to improve
        numerical stability (default: 1e-8)
    weight_decay (float, optional): weight decay coefficient (default: 1e-2)
  .. _Decoupled Weight Decay Regularization:
      https://arxiv.org/abs/1711.05101
  .. _On the Convergence of Adam and Beyond:
      https://openreview.net/forum?id=ryQu7f-RZ
code: def __setstate__(self, state):
      super().__setstate__(state)
      state_values = list(self.state.values())
      step_is_tensor = (len(state_values) != 0) and torch.is_tensor(
          state_values[0]["step"]
      )
      if not step_is_tensor:
          for s in state_values:
              s["step"] = torch.tensor(float(s["step"]))
  
file_path: pytorch-image-models/timm/optim/nadamw.py
imports: import math
  from typing import List, Optional
  import torch
  from torch import Tensor
label_desc: Use image node_id 2 for calling the NAdamW obj's underlying member method code with example usage: obj.__setstate__(state) without return types