class_docstr: Update rule for Alex Graves's RMSprop.
  
  See :class:`~chainer.optimizers.RMSpropGraves` for the default values of
  the hyperparameters.
  
  Args:
      parent_hyperparam (~chainer.optimizer.Hyperparameter): Hyperparameter
          that provides the default values.
      lr (float): Learning rate.
      alpha (float): Exponential decay rate of the first and second order
          moments of the raw gradient.
      momentum (float): Exponential decay rate of the first order moment of
          the adjusted gradient.
      eps (float): Small value for the numerical stability.
class_docstr_tok: ["Update","rule","for","Alex","Graves","'s","RMSprop",".","See",":","class",":","`","~chainer.optimizers.RMSpropGraves","`","for","the","default","values","of","the","hyperparameters",".","Args",":","parent_hyperparam","(","~chainer.optimizer.Hyperparameter",")",":","Hyperparameter","that","provides","the","default","values",".","lr","(","float",")",":","Learning","rate",".","alpha","(","float",")",":","Exponential","decay","rate","of","the","first","and","second","order","moments","of","the","raw","gradient",".","momentum","(","float",")",":","Exponential","decay","rate","of","the","first","order","moment","of","the","adjusted","gradient",".","eps","(","float",")",":","Small","value","for","the","numerical","stability","."]
code: def update_core_gpu(self, param):
      grad = param.grad
      if grad is None:
          return
      hp = self.hyperparam
      if RMSpropGravesRule._kernel is None:
          RMSpropGravesRule._kernel = cuda.elementwise(
              "T grad, T lr, T alpha, T momentum, T eps",
              "T param, T avg_n, T avg_g, T delta",
              """avg_n = alpha * avg_n + (1 - alpha) * grad * grad;
                     avg_g = alpha * avg_g + (1 - alpha) * grad;
                     delta = delta * momentum -
                         lr * grad * rsqrt(avg_n - avg_g * avg_g + eps);
                     param += delta;""",
              "rmsprop_graves",
          )
      RMSpropGravesRule._kernel(
          grad,
          hp.lr,
          hp.alpha,
          hp.momentum,
          hp.eps,
          param.data,
          self.state["n"],
          self.state["g"],
          self.state["delta"],
      )
  
file_path: chainer/chainer/optimizers/rmsprop_graves.py
imports: import numpy
  import chainer
  from chainer.backends import cuda
  from chainer import optimizer
  from chainer import types
label_desc: Use image node_id 4 for calling the RMSpropGravesRule obj's underlying member method code with example usage: obj.update_core_gpu(param) without return types