<!--
{
  "availability" : [
    "*: -",
    "iOS: 14.0.0 - 15.0.0",
    "iPadOS: 14.0.0 - 15.0.0",
    "macCatalyst: -",
    "macOS: 11.0.0 - 12.0.0",
    "tvOS: 14.0.0 - 15.0.0",
    "visionOS: -",
    "watchOS: 7.0.0 - 8.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/BNNS/SGDMomentumOptimizer/init(learningRate:momentum:gradientScale:regularizationScale:clipsGradientsTo:usesNestrovMomentum:regularizationFunction:sgdMomentumVariant:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "s:10Accelerate4BNNSO20SGDMomentumOptimizerV12learningRate8momentum13gradientScale014regularizationI016clipsGradientsTo19usesNestrovMomentum0J8Function03sgdP7VariantAESf_S3fSNySfGSgSbSo027BNNSOptimizerRegularizationQ0aSo0tcS0atcfc"
  },
  "title" : "init(learningRate:momentum:gradientScale:regularizationScale:clipsGradientsTo:usesNestrovMomentum:regularizationFunction:sgdMomentumVariant:)"
}
-->

# init(learningRate:momentum:gradientScale:regularizationScale:clipsGradientsTo:usesNestrovMomentum:regularizationFunction:sgdMomentumVariant:)

Returns a new stochastic gradient descent (SGD) with momentum optimizer object.

```
init(learningRate: Float, momentum: Float, gradientScale: Float, regularizationScale: Float, clipsGradientsTo gradientBounds: ClosedRange<Float>? = nil, usesNestrovMomentum: Bool, regularizationFunction: BNNSOptimizerRegularizationFunction, sgdMomentumVariant: BNNSOptimizerSGDMomentumVariant)
```

## Parameters

`learningRate`

A value that specifies the learning rate.

`momentum`

The rate of momentum decay.

`gradientScale`

A value that specifies the gradient scaling factor.

`regularizationScale`

A value that specifies the regularization scaling factor.

`gradientBounds`

The values for the minimum and maximum gradients.

`usesNestrovMomentum`

A Boolean value that specifies whether to use Nesterov momentum update.

`regularizationFunction`

The variable that specifies the regularization function.

`sgdMomentumVariant`

The variable that specifies the momentum variant.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)