---
title: "init(descriptor:beta1:beta2:epsilon:timeStep:)"
framework: ML Compute
role: symbol
role_heading: Initializer
platforms: [iOS 14.0+, iPadOS 14.0+, Mac Catalyst 14.0+, macOS 11.0+, tvOS 14.0+]
path: "mlcompute/mlcadamoptimizer/init(descriptor:beta1:beta2:epsilon:timestep:)"
---

# init(descriptor:beta1:beta2:epsilon:timeStep:)

Creates an Adam optimizer with the values you specify.

## Declaration

```swift
convenience init(descriptor optimizerDescriptor: MLCOptimizerDescriptor, beta1: Float, beta2: Float, epsilon: Float, timeStep: Int)
```

## Parameters

- `optimizerDescriptor`: An object for configuring the optimizer.
- `beta1`: The coefficent for computing running averages of gradient. The default value is 0.9.
- `beta2`: The coefficent for computing running averages of square of gradient. The default value is 0.999.
- `epsilon`: The epsilon value for improving numerical stability. The default value is 1e-8.
- `timeStep`: The initial timestep for the update. The default value is 1.

## See Also

### Creating an Adam Optimizer

- [init(descriptor:)](mlcompute/mlcadamoptimizer/init(descriptor:).md)
- [init(descriptor:beta1:beta2:epsilon:usesAMSGrad:timeStep:)](mlcompute/mlcadamoptimizer/init(descriptor:beta1:beta2:epsilon:usesamsgrad:timestep:).md)
