class_docstr: Implements RMSprop algorithm (TensorFlow style epsilon)
  
  NOTE: This is a direct cut-and-paste of PyTorch RMSprop with eps applied before sqrt
  and a few other modifications to closer match Tensorflow for matching hyper-params.
  
  Noteworthy changes include:
  1. Epsilon applied inside square-root
  2. square_avg initialized to ones
  3. LR scaling of update accumulated in momentum buffer
  
  Proposed by G. Hinton in his
  `course <http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf>`_.
  
  The centered version first appears in `Generating Sequences
  With Recurrent Neural Networks <https://arxiv.org/pdf/1308.0850v5.pdf>`_.
  
  Arguments:
      params (iterable): iterable of parameters to optimize or dicts defining
          parameter groups
      lr (float, optional): learning rate (default: 1e-2)
      momentum (float, optional): momentum factor (default: 0)
      alpha (float, optional): smoothing (decay) constant (default: 0.9)
      eps (float, optional): term added to the denominator to improve
          numerical stability (default: 1e-10)
      centered (bool, optional) : if ``True``, compute the centered RMSProp,
          the gradient is normalized by an estimation of its variance
      weight_decay (float, optional): weight decay (L2 penalty) (default: 0)
      decoupled_decay (bool, optional): decoupled weight decay as per https://arxiv.org/abs/1711.05101
      lr_in_momentum (bool, optional): learning rate scaling is included in the momentum buffer
          update as per defaults in Tensorflow
code: def __setstate__(self, state):
      super(RMSpropTF, self).__setstate__(state)
      for group in self.param_groups:
          group.setdefault("momentum", 0)
          group.setdefault("centered", False)
  
imports: import torch
  from torch.optim import Optimizer
label_desc: Use image node_id 2 for calling the RMSpropTF obj's underlying member method code with example usage: obj.__setstate__(state) without return types