---
title: MLModelConfiguration
framework: coreml
role: symbol
role_heading: Class
path: coreml/mlmodelconfiguration
---

# MLModelConfiguration

The settings for creating or updating a machine learning model.

## Declaration

```swift
class MLModelConfiguration
```

## Overview

Overview Use a model configuration to: Set or override model parameters. Designate which device the model uses to make predictions, such as a GPU. Restrict the model to use a specific computational device category, such as a CPU. You typically use a model configuration instance to configure an MLModel instance as you create it with init(contentsOf:configuration:) or create an MLUpdateTask. See Personalizing a Model with On-Device Updates. Configure your model parameters by setting values for each relevant MLParameterKey in the parameters property.

## Topics

### Configuring model parameters

- [functionName](coreml/mlmodelconfiguration/functionname.md)
- [modelDisplayName](coreml/mlmodelconfiguration/modeldisplayname.md)
- [parameters](coreml/mlmodelconfiguration/parameters.md)
- [MLParameterKey](coreml/mlparameterkey.md)

### Configuring GPU usage

- [preferredMetalDevice](coreml/mlmodelconfiguration/preferredmetaldevice.md)
- [allowLowPrecisionAccumulationOnGPU](coreml/mlmodelconfiguration/allowlowprecisionaccumulationongpu.md)

### Allowing access to processing units

- [computeUnits](coreml/mlmodelconfiguration/computeunits.md)
- [MLComputeUnits](coreml/mlcomputeunits.md)

### Getting optimization hints

- [optimizationHints](coreml/mlmodelconfiguration/optimizationhints-1oq0g.md)

### Initializers

- [init(coder:)](coreml/mlmodelconfiguration/init(coder:).md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.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

### Supporting types

- [MLOptimizationHints](coreml/mloptimizationhints-swift.struct.md)
- [MLKey](coreml/mlkey.md)
