# RMSprop

RMSprop is an adaptive learning rate optimizer that is very similar to `Adagrad`. RMSprop stores a *weighted average* of the squared past gradients for each parameter and uses it to scale their learning rate. This allows the learning rate to be automatically lower or higher depending on the magnitude of the gradient, and it prevents the learning rate from diminishing.

## RMSprop[[api-class]][[bitsandbytes.optim.RMSprop]]

<div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8">


<docstring><name>class bitsandbytes.optim.RMSprop</name><anchor>bitsandbytes.optim.RMSprop</anchor><source>https://github.com/bitsandbytes-foundation/bitsandbytes/blob/v0.48.0/bitsandbytes/optim/rmsprop.py#L8</source><parameters>[{"name": "params", "val": ""}, {"name": "lr", "val": " = 0.01"}, {"name": "alpha", "val": " = 0.99"}, {"name": "eps", "val": " = 1e-08"}, {"name": "weight_decay", "val": " = 0"}, {"name": "momentum", "val": " = 0"}, {"name": "centered", "val": " = False"}, {"name": "optim_bits", "val": " = 32"}, {"name": "args", "val": " = None"}, {"name": "min_8bit_size", "val": " = 4096"}, {"name": "percentile_clipping", "val": " = 100"}, {"name": "block_wise", "val": " = True"}]</parameters></docstring>


</div>

## RMSprop8bit[[bitsandbytes.optim.RMSprop8bit]]

<div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8">


<docstring><name>class bitsandbytes.optim.RMSprop8bit</name><anchor>bitsandbytes.optim.RMSprop8bit</anchor><source>https://github.com/bitsandbytes-foundation/bitsandbytes/blob/v0.48.0/bitsandbytes/optim/rmsprop.py#L72</source><parameters>[{"name": "params", "val": ""}, {"name": "lr", "val": " = 0.01"}, {"name": "alpha", "val": " = 0.99"}, {"name": "eps", "val": " = 1e-08"}, {"name": "weight_decay", "val": " = 0"}, {"name": "momentum", "val": " = 0"}, {"name": "centered", "val": " = False"}, {"name": "args", "val": " = None"}, {"name": "min_8bit_size", "val": " = 4096"}, {"name": "percentile_clipping", "val": " = 100"}, {"name": "block_wise", "val": " = True"}]</parameters></docstring>


</div>

## RMSprop32bit[[bitsandbytes.optim.RMSprop32bit]]

<div class="docstring border-l-2 border-t-2 pl-4 pt-3.5 border-gray-100 rounded-tl-xl mb-6 mt-8">


<docstring><name>class bitsandbytes.optim.RMSprop32bit</name><anchor>bitsandbytes.optim.RMSprop32bit</anchor><source>https://github.com/bitsandbytes-foundation/bitsandbytes/blob/v0.48.0/bitsandbytes/optim/rmsprop.py#L135</source><parameters>[{"name": "params", "val": ""}, {"name": "lr", "val": " = 0.01"}, {"name": "alpha", "val": " = 0.99"}, {"name": "eps", "val": " = 1e-08"}, {"name": "weight_decay", "val": " = 0"}, {"name": "momentum", "val": " = 0"}, {"name": "centered", "val": " = False"}, {"name": "args", "val": " = None"}, {"name": "min_8bit_size", "val": " = 4096"}, {"name": "percentile_clipping", "val": " = 100"}, {"name": "block_wise", "val": " = True"}]</parameters></docstring>


</div>

<EditOnGithub source="https://github.com/bitsandbytes-foundation/bitsandbytes/blob/main/docs/source/reference/optim/rmsprop.mdx" />