---
title: MPSNNOptimizerRMSProp
framework: metalperformanceshaders
role: symbol
role_heading: Class
path: metalperformanceshaders/mpsnnoptimizerrmsprop
---

# MPSNNOptimizerRMSProp

An optimization layer that performs a root mean square propagation update.

## Declaration

```swift
class MPSNNOptimizerRMSProp
```

## Topics

### Initializers

- [init(device:decay:epsilon:optimizerDescriptor:)](metalperformanceshaders/mpsnnoptimizerrmsprop/init(device:decay:epsilon:optimizerdescriptor:).md)
- [init(device:learningRate:)](metalperformanceshaders/mpsnnoptimizerrmsprop/init(device:learningrate:).md)

### Instance Properties

- [decay](metalperformanceshaders/mpsnnoptimizerrmsprop/decay.md)
- [epsilon](metalperformanceshaders/mpsnnoptimizerrmsprop/epsilon.md)

### Instance Methods

- [encode(commandBuffer:batchNormalizationGradientState:batchNormalizationSourceState:inputSumOfSquaresVectors:resultState:)](metalperformanceshaders/mpsnnoptimizerrmsprop/encode(commandbuffer:batchnormalizationgradientstate:batchnormalizationsourcestate:inputsumofsquaresvectors:resultstate:).md)
- [encode(commandBuffer:batchNormalizationState:inputSumOfSquaresVectors:resultState:)](metalperformanceshaders/mpsnnoptimizerrmsprop/encode(commandbuffer:batchnormalizationstate:inputsumofsquaresvectors:resultstate:).md)
- [encode(commandBuffer:convolutionGradientState:convolutionSourceState:inputSumOfSquaresVectors:resultState:)](metalperformanceshaders/mpsnnoptimizerrmsprop/encode(commandbuffer:convolutiongradientstate:convolutionsourcestate:inputsumofsquaresvectors:resultstate:).md)
- [encode(commandBuffer:inputGradientMatrix:inputValuesMatrix:inputSumOfSquaresMatrix:resultValuesMatrix:)](metalperformanceshaders/mpsnnoptimizerrmsprop/encode(commandbuffer:inputgradientmatrix:inputvaluesmatrix:inputsumofsquaresmatrix:resultvaluesmatrix:).md)
- [encode(commandBuffer:inputGradientVector:inputValuesVector:inputSumOfSquaresVector:resultValuesVector:)](metalperformanceshaders/mpsnnoptimizerrmsprop/encode(commandbuffer:inputgradientvector:inputvaluesvector:inputsumofsquaresvector:resultvaluesvector:).md)

## Relationships

### Inherits From

- [MPSNNOptimizer](metalperformanceshaders/mpsnnoptimizer.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Optimization Layers

- [MPSNNOptimizerAdam](metalperformanceshaders/mpsnnoptimizeradam.md)
- [MPSNNOptimizerStochasticGradientDescent](metalperformanceshaders/mpsnnoptimizerstochasticgradientdescent.md)
- [MPSNNOptimizer](metalperformanceshaders/mpsnnoptimizer.md)
- [MPSNNOptimizerDescriptor](metalperformanceshaders/mpsnnoptimizerdescriptor.md)
