---
title: MPSNNOptimizerAdam
framework: metalperformanceshaders
role: symbol
role_heading: Class
path: metalperformanceshaders/mpsnnoptimizeradam
---

# MPSNNOptimizerAdam

An optimization layer that performs an Adam pdate.

## Declaration

```swift
class MPSNNOptimizerAdam
```

## Topics

### Initializers

- [init(device:beta1:beta2:epsilon:timeStep:optimizerDescriptor:)](metalperformanceshaders/mpsnnoptimizeradam/init(device:beta1:beta2:epsilon:timestep:optimizerdescriptor:).md)
- [init(device:learningRate:)](metalperformanceshaders/mpsnnoptimizeradam/init(device:learningrate:).md)

### Instance Properties

- [beta1](metalperformanceshaders/mpsnnoptimizeradam/beta1.md)
- [beta2](metalperformanceshaders/mpsnnoptimizeradam/beta2.md)
- [epsilon](metalperformanceshaders/mpsnnoptimizeradam/epsilon.md)
- [timeStep](metalperformanceshaders/mpsnnoptimizeradam/timestep.md)

### Instance Methods

- [encode(commandBuffer:batchNormalizationGradientState:batchNormalizationSourceState:inputMomentumVectors:inputVelocityVectors:maximumVelocityVectors:resultState:)](metalperformanceshaders/mpsnnoptimizeradam/encode(commandbuffer:batchnormalizationgradientstate:batchnormalizationsourcestate:inputmomentumvectors:inputvelocityvectors:maximumvelocityvectors:resultstate:).md)
- [encode(commandBuffer:batchNormalizationGradientState:batchNormalizationSourceState:inputMomentumVectors:inputVelocityVectors:resultState:)](metalperformanceshaders/mpsnnoptimizeradam/encode(commandbuffer:batchnormalizationgradientstate:batchnormalizationsourcestate:inputmomentumvectors:inputvelocityvectors:resultstate:).md)
- [encode(commandBuffer:batchNormalizationState:inputMomentumVectors:inputVelocityVectors:maximumVelocityVectors:resultState:)](metalperformanceshaders/mpsnnoptimizeradam/encode(commandbuffer:batchnormalizationstate:inputmomentumvectors:inputvelocityvectors:maximumvelocityvectors:resultstate:).md)
- [encode(commandBuffer:batchNormalizationState:inputMomentumVectors:inputVelocityVectors:resultState:)](metalperformanceshaders/mpsnnoptimizeradam/encode(commandbuffer:batchnormalizationstate:inputmomentumvectors:inputvelocityvectors:resultstate:).md)
- [encode(commandBuffer:convolutionGradientState:convolutionSourceState:inputMomentumVectors:inputVelocityVectors:maximumVelocityVectors:resultState:)](metalperformanceshaders/mpsnnoptimizeradam/encode(commandbuffer:convolutiongradientstate:convolutionsourcestate:inputmomentumvectors:inputvelocityvectors:maximumvelocityvectors:resultstate:).md)
- [encode(commandBuffer:convolutionGradientState:convolutionSourceState:inputMomentumVectors:inputVelocityVectors:resultState:)](metalperformanceshaders/mpsnnoptimizeradam/encode(commandbuffer:convolutiongradientstate:convolutionsourcestate:inputmomentumvectors:inputvelocityvectors:resultstate:).md)
- [encode(commandBuffer:inputGradientMatrix:inputValuesMatrix:inputMomentumMatrix:inputVelocityMatrix:maximumVelocityMatrix:resultValuesMatrix:)](metalperformanceshaders/mpsnnoptimizeradam/encode(commandbuffer:inputgradientmatrix:inputvaluesmatrix:inputmomentummatrix:inputvelocitymatrix:maximumvelocitymatrix:resultvaluesmatrix:).md)
- [encode(commandBuffer:inputGradientMatrix:inputValuesMatrix:inputMomentumMatrix:inputVelocityMatrix:resultValuesMatrix:)](metalperformanceshaders/mpsnnoptimizeradam/encode(commandbuffer:inputgradientmatrix:inputvaluesmatrix:inputmomentummatrix:inputvelocitymatrix:resultvaluesmatrix:).md)
- [encode(commandBuffer:inputGradientVector:inputValuesVector:inputMomentumVector:inputVelocityVector:maximumVelocityVector:resultValuesVector:)](metalperformanceshaders/mpsnnoptimizeradam/encode(commandbuffer:inputgradientvector:inputvaluesvector:inputmomentumvector:inputvelocityvector:maximumvelocityvector:resultvaluesvector:).md)
- [encode(commandBuffer:inputGradientVector:inputValuesVector:inputMomentumVector:inputVelocityVector:resultValuesVector:)](metalperformanceshaders/mpsnnoptimizeradam/encode(commandbuffer:inputgradientvector:inputvaluesvector:inputmomentumvector:inputvelocityvector: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

- [MPSNNOptimizerRMSProp](metalperformanceshaders/mpsnnoptimizerrmsprop.md)
- [MPSNNOptimizerStochasticGradientDescent](metalperformanceshaders/mpsnnoptimizerstochasticgradientdescent.md)
- [MPSNNOptimizer](metalperformanceshaders/mpsnnoptimizer.md)
- [MPSNNOptimizerDescriptor](metalperformanceshaders/mpsnnoptimizerdescriptor.md)
