class_docstr: The RMSProp optimizer.
  
  Two versions of RMSProp are implemented:
  
  If ``centered=False``, we follow
  http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf by
  Tieleman & Hinton, 2012.
  For details of the update algorithm see :class:`~mxnet.ndarray.rmsprop_update`.
  
  If ``centered=True``, we follow http://arxiv.org/pdf/1308.0850v5.pdf (38)-(45)
  by Alex Graves, 2013.
  For details of the update algorithm see :class:`~mxnet.ndarray.rmspropalex_update`.
  
  This optimizer accepts the following parameters in addition to those accepted
  by :class:`.Optimizer`.
  
  Parameters
  ----------
  learning_rate : float, default 0.001
      The initial learning rate. If None, the optimization will use the
      learning rate from ``lr_scheduler``. If not None, it will overwrite
      the learning rate in ``lr_scheduler``. If None and ``lr_scheduler``
      is also None, then it will be set to 0.01 by default.
  rho: float, default 0.9
      A decay factor of moving average over past squared gradient.
  momentum: float, default 0.9
      Heavy ball momentum factor. Only used if `centered`=``True``.
  epsilon : float, default 1e-8
      Small value to avoid division by 0.
  centered : bool, default False
      Flag to control which version of RMSProp to use.::
  
          True: will use Graves's version of `RMSProp`,
          False: will use Tieleman & Hinton's version of `RMSProp`.
  
  clip_weights : float, optional
      Clips weights into range ``[-clip_weights, clip_weights]``.
  use_fused_step : bool, default True
      Whether or not to use fused kernels for optimizer.
      When use_fused_step=False, step is called,
      otherwise, fused_step is called.
code: def create_state(self, index, weight):
      if self.centered:
          return (
              zeros(
                  weight.shape, weight.context, stype=weight.stype
              ),  # mean
              zeros(
                  weight.shape, weight.context, stype=weight.stype
              ),  # var
              zeros(weight.shape, weight.context, stype=weight.stype),
          )  # mom
      else:
          return zeros(weight.shape, weight.context, stype=weight.stype)
  
file_path: mxnet/python/mxnet/optimizer/rmsprop.py
imports: from __future__ import absolute_import
  from ..ndarray import zeros, clip, sqrt, square
  from ..ndarray import rmsprop_update, rmspropalex_update
  from .optimizer import Optimizer, register
label_desc: Use image node_id 2 for calling the RMSProp obj's underlying member method code with example usage: obj.create_state(index, weight) and returns: zeros,  zeros,  zeros, zeros