---
title: "init(learningRate:alpha:epsilon:centered:momentum:gradientScale:regularizationScale:gradientClipping:regularizationFunction:)"
framework: accelerate
role: symbol
role_heading: Initializer
path: "accelerate/bnns/rmspropoptimizer/init(learningrate:alpha:epsilon:centered:momentum:gradientscale:regularizationscale:gradientclipping:regularizationfunction:)"
---

# init(learningRate:alpha:epsilon:centered:momentum:gradientScale:regularizationScale:gradientClipping:regularizationFunction:)

Returns a new RMSProp optimizer object with gradient clipped by value or clipped by norm.

## Declaration

```swift
init(learningRate: Float = 1e-2, alpha: Float = 0.99, epsilon: Float = 1e-8, centered: Bool, momentum: Float = 0, gradientScale: Float, regularizationScale: Float, gradientClipping: BNNS.GradientClipping, regularizationFunction: BNNSOptimizerRegularizationFunction)
```

## Parameters

- `learningRate`: A value that specifies the learning rate.
- `alpha`: A constant that specifies smoothing, in the range 0 to 1.
- `epsilon`: A term that the optimizer adds to the denominator.
- `centered`: A Boolean value that specifies whether to use the centered variant.
- `momentum`: The rate of momentum decay.
- `gradientScale`: A value that specifies the gradient scaling factor.
- `regularizationScale`: A value that specifies the regularization scaling factor.
- `gradientClipping`: The gradient clipping function and bounds.
- `regularizationFunction`: The variable that specifies the regularization function.

## See Also

### Creating an RMSProp Optimizer

- [init(learningRate:alpha:epsilon:centered:momentum:gradientScale:regularizationScale:clipsGradientsTo:regularizationFunction:)](accelerate/bnns/rmspropoptimizer/init(learningrate:alpha:epsilon:centered:momentum:gradientscale:regularizationscale:clipsgradientsto:regularizationfunction:).md)
