<!--
{
  "availability" : [
    "iOS: 14.0.0 - 17.4.0",
    "iPadOS: 14.0.0 - 17.4.0",
    "macCatalyst: 14.0.0 - 17.4.0",
    "macOS: 11.0.0 - 14.3.0",
    "tvOS: 14.0.0 - 17.4.0"
  ],
  "documentType" : "symbol",
  "framework" : "MLCompute",
  "identifier" : "/documentation/MLCompute/MLCOptimizerDescriptor",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "ML Compute"
    ],
    "preciseIdentifier" : "c:objc(cs)MLCOptimizerDescriptor"
  },
  "title" : "MLCOptimizerDescriptor"
}
-->

# MLCOptimizerDescriptor

A configuration object you use to create an optimizer.

```
class MLCOptimizerDescriptor
```

## Topics

### Creating an Optimizer Descriptor

[`init(learningRate:gradientRescale:regularizationType:regularizationScale:)`](/documentation/MLCompute/MLCOptimizerDescriptor/init(learningRate:gradientRescale:regularizationType:regularizationScale:))

Creates an optimizer descriptor with the learning rate, gradient rescale, regularization type, and regulation scale that you specify.

[`init(learningRate:gradientRescale:appliesGradientClipping:gradientClipMax:gradientClipMin:regularizationType:regularizationScale:)`](/documentation/MLCompute/MLCOptimizerDescriptor/init(learningRate:gradientRescale:appliesGradientClipping:gradientClipMax:gradientClipMin:regularizationType:regularizationScale:))

Creates a descriptor with the learning rate, gradient rescale, clipping option and values, and regularization type and scale that you specify.

[`init(learningRate:gradientRescale:appliesGradientClipping:gradientClippingType:gradientClipMax:gradientClipMin:maximumClippingNorm:customGlobalNorm:regularizationType:regularizationScale:)`](/documentation/MLCompute/MLCOptimizerDescriptor/init(learningRate:gradientRescale:appliesGradientClipping:gradientClippingType:gradientClipMax:gradientClipMin:maximumClippingNorm:customGlobalNorm:regularizationType:regularizationScale:))

Creates a descriptor with the learning rate, gradient rescale, clipping option and values, and regularization type and scale that you specify.

### Inspecting an Optimizer Descriptor

[`learningRate`](/documentation/MLCompute/MLCOptimizerDescriptor/learningRate)

The learning rate.

[`gradientRescale`](/documentation/MLCompute/MLCOptimizerDescriptor/gradientRescale)

The rescale value the optimizer applies to gradients during updates.

[`appliesGradientClipping`](/documentation/MLCompute/MLCOptimizerDescriptor/appliesGradientClipping)

A Boolean that indicates whether you apply gradient clipping.

[`gradientClipMax`](/documentation/MLCompute/MLCOptimizerDescriptor/gradientClipMax)

The maximum gradient value before the optimizer rescales the gradient, if you enabled gradient clipping.

[`gradientClipMin`](/documentation/MLCompute/MLCOptimizerDescriptor/gradientClipMin)

The minimum gradient value before the optimizer rescales the gradient, if you enabled gradient clipping.

[`regularizationScale`](/documentation/MLCompute/MLCOptimizerDescriptor/regularizationScale)

The regularization scale.

[`regularizationType`](/documentation/MLCompute/MLCOptimizerDescriptor/regularizationType)

The regularization type.

[`gradientClippingType`](/documentation/MLCompute/MLCOptimizerDescriptor/gradientClippingType)

The type of clipping the system applies to the gradient.

[`MLCGradientClippingType`](/documentation/MLCompute/MLCGradientClippingType)

A clipping type the system applies to a gradient.

[`maximumClippingNorm`](/documentation/MLCompute/MLCOptimizerDescriptor/maximumClippingNorm)

The maximum clipping value.

[`customGlobalNorm`](/documentation/MLCompute/MLCOptimizerDescriptor/customGlobalNorm)

A custom norm the system uses in place of the global norm.



---

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)