'Class constructor.
Arguments:
stochastic_round (bool): Set this to True for stochastic rounding.
If False rounding will be to nearest.
If True will perform stochastic rounding using default width.
Only affects the gpu backend.
decay_rate (float): decay rate of states
learning_rate (float): the multiplication coefficent of updates
epsilon (float): smoothing epsilon to avoid divide by zeros
gradient_clip_norm (float, optional): Target gradient norm.
Defaults to None.
gradient_clip_value (float, optional): Value to element-wise clip
gradients.
Defaults to None.
param_clip_value (float, optional): Value to element-wise clip
parameters.
Defaults to None.
schedule (neon.optimizers.optimizer.Schedule, optional): Learning rate schedule.
Defaults to a constant.
Notes:
Only constant learning rate is supported currently.'

def __init__(self, stochastic_round=False, decay_rate=0.95, learning_rate=0.002, epsilon=1e-06, gradient_clip_norm=None, gradient_clip_value=None, param_clip_value=None, name=None, schedule=Schedule()):

    super(RMSProp, self).__init__(name=name)
    self.state_list = None
    self.epsilon = epsilon
    self.decay_rate = decay_rate
    self.learning_rate = learning_rate
    self.schedule = schedule
    self.gradient_clip_norm = gradient_clip_norm
    self.gradient_clip_value = gradient_clip_value
    self.param_clip_value = param_clip_value
    self.stochastic_round = stochastic_round
