code: def test_rmsprop(backend_default):
      rms = RMSProp()
      param = np.random.rand(200, 128)
      param2 = copy.deepcopy(param)
      grad = 0.01 * np.random.rand(200, 128)
      grad2 = grad / 128.0
      states = [0.01 * np.random.rand(200, 128)]
      state = states[0]
      decay = rms.decay_rate
      denom = (
          np.sqrt(
              decay * state
              + np.square(grad2) * (1.0 - decay)
              + rms.epsilon
          )
          + rms.epsilon
      )
      param2[:] -= grad2 * float(rms.learning_rate) / denom
      param_list = [((wrap(param), wrap(grad)), [wrap(states[0])])]
      compare_tensors(rms, param_list, param2, tol=1e-7)
  
imports: import os
  import pytest
  import subprocess
  import numpy
  import copy
  from neon import NervanaObject
  from neon.backends import gen_backend
  from neon.optimizers import GradientDescentMomentum, RMSProp, Adadelta, Adam, Adagrad, ShiftAdaMax
  from neon.optimizers import MultiOptimizer
  from neon.layers import Conv, Affine, LSTM, GRU
  from neon.layers.layer import ParameterLayer
  from neon.initializers import Gaussian, Constant
  from neon.transforms import Rectlin, Logistic, Tanh
label_desc: Use image node_id 7 for calling a global function with example usage: test_rmsprop(backend_default) without return types