<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/BNNSOptimizerFunction",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "c:@EA@BNNSOptimizerFunction"
  },
  "title" : "BNNSOptimizerFunction"
}
-->

# BNNSOptimizerFunction

A structure that contains optimizer functions.

```
struct BNNSOptimizerFunction
```

## Topics

### Adam Optimizer Functions

[`BNNSOptimizerFunctionAdam`](/documentation/Accelerate/BNNSOptimizerFunctionAdam)

An optimizer function that updates parameters according to the Adam algorithm.

[`BNNSOptimizerFunctionAdamWithClipping`](/documentation/Accelerate/BNNSOptimizerFunctionAdamWithClipping)

An optimizer function that updates parameters according to the Adam algorithm and optionally clips the gradient by value or by norm.

[`BNNSOptimizerFunctionAdamAMSGrad`](/documentation/Accelerate/BNNSOptimizerFunctionAdamAMSGrad)

An optimizer function that updates parameters according to the AMSGrad variant of the Adam algorithm.

[`BNNSOptimizerFunctionAdamAMSGradWithClipping`](/documentation/Accelerate/BNNSOptimizerFunctionAdamAMSGradWithClipping)

An optimizer function that updates parameters according to the AMSGrad variant of the Adam algorithm and optionally clips the gradient by value or by norm.

### AdamW Optimizer Functions

[`BNNSOptimizerFunctionAdamW`](/documentation/Accelerate/BNNSOptimizerFunctionAdamW)

An optimizer function that updates parameters according to the AdamW algorithm.

[`BNNSOptimizerFunctionAdamWWithClipping`](/documentation/Accelerate/BNNSOptimizerFunctionAdamWWithClipping)

An optimizer function that updates parameters according to the AdamW algorithm and optionally clips the gradient by value or by norm.

[`BNNSOptimizerFunctionAdamWAMSGrad`](/documentation/Accelerate/BNNSOptimizerFunctionAdamWAMSGrad)

An optimizer function that updates parameters according to the AMSGrad variant of the AdamW algorithm.

[`BNNSOptimizerFunctionAdamWAMSGradWithClipping`](/documentation/Accelerate/BNNSOptimizerFunctionAdamWAMSGradWithClipping)

An optimizer function that updates parameters according to the AMSGrad variant of the AdamW algorithm and optionally clips the gradient by value or by norm.

### RMSProp Optimizer Functions

[`BNNSOptimizerFunctionRMSProp`](/documentation/Accelerate/BNNSOptimizerFunctionRMSProp)

An optimizer function that updates parameters according to the root mean square propagation (RMSProp) algorithm.

[`BNNSOptimizerFunctionRMSPropWithClipping`](/documentation/Accelerate/BNNSOptimizerFunctionRMSPropWithClipping)

An optimizer function that updates parameters according to the root mean square propagation (RMSProp) algorithm and optionally clips the gradient by value or by norm.

### SGD  Optimizer Functions

[`BNNSOptimizerFunctionSGDMomentum`](/documentation/Accelerate/BNNSOptimizerFunctionSGDMomentum)

An optimizer function that updates parameters according to the stochastic gradient descent (SGD) with momentum algorithm.

[`BNNSOptimizerFunctionSGDMomentumWithClipping`](/documentation/Accelerate/BNNSOptimizerFunctionSGDMomentumWithClipping)

An optimizer function that updates parameters according to the stochastic gradient descent (SGD) with momentum algorithm and optionally clips the gradient by value or by norm.

### Raw Values

[`rawValue`](/documentation/Accelerate/BNNSOptimizerFunction/rawValue)

[`init(_:)`](/documentation/Accelerate/BNNSOptimizerFunction/init(_:))

[`init(rawValue:)`](/documentation/Accelerate/BNNSOptimizerFunction/init(rawValue:))



---

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)