<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 10.14.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CreateML",
  "identifier" : "/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Create ML",
      "CreateML"
    ],
    "preciseIdentifier" : "s:8CreateML17MLImageClassifierV15ModelParametersV"
  },
  "title" : "MLImageClassifier.ModelParameters"
}
-->

# MLImageClassifier.ModelParameters

Parameters that affect the process of training an image classifier model.

```
struct ModelParameters
```

## Overview

Use this structure to configure the model training session. With it you can:

- Set a limit to the number of training iterations the session can use
- Provide your own validation dataset. See [`MLImageClassifier.ModelParameters.ValidationData`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/ValidationData-swift.enum).
- Enable specific image augmentations. See [`MLImageClassifier.ImageAugmentationOptions`](/documentation/CreateML/MLImageClassifier/ImageAugmentationOptions).
- Designate a custom feature extractor. See [`MLImageClassifier.FeatureExtractorType.custom(_:)`](/documentation/CreateML/MLImageClassifier/FeatureExtractorType/custom(_:)).

Once you configure an [`MLImageClassifier.ModelParameters`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct) instance, use it to configure a
training session with one of the applicable [`MLImageClassifier`](/documentation/CreateML/MLImageClassifier) asynchronous type methods or synchronous
initializers.

## Topics

### Creating parameters

[`init(validation:maxIterations:augmentation:algorithm:)`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/init(validation:maxIterations:augmentation:algorithm:))

Creates model training parameters.

[`init(featureExtractor:validation:maxIterations:augmentationOptions:)`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/init(featureExtractor:validation:maxIterations:augmentationOptions:))

Creates a new set of training parameters for an image classifier with a validation dataset.

[`init(featureExtractor:validationData:maxIterations:augmentationOptions:)`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/init(featureExtractor:validationData:maxIterations:augmentationOptions:))

Creates a new set of image classifier parameters with validation data represented by a data source.

[`MLImageClassifier.ModelParameters.ClassifierType`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/ClassifierType)

Type of classifier to be used.

[`MLImageClassifier.ModelParameters.ModelAlgorithmType`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/ModelAlgorithmType)

The model algorithm to use for training an image classifier.

### Accessing the training parameters

[`algorithm`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/algorithm)

Model algorithm to be used

[`featureExtractor`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/featureExtractor)

The underlying base model the training session uses to extract image features as it trains an image
classifier.

[`validation`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/validation)

The image classifier’s validation dataset.

[`maxIterations`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/maxIterations)

The maximum number of iterations the training session can use.

[`augmentationOptions`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/augmentationOptions)

The variations the training session uses to generate more variety in the training dataset.

[`validationData`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/validationData-swift.property)

A set of images that the training process uses for validation.

### Describing parameters

[`description`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/description)

A text representation of the model parameters.

[`debugDescription`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/debugDescription)

A text representation of the model parameters that’s suitable for output
during debugging.

[`playgroundDescription`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/playgroundDescription)

A description of the model parameters shown in a playground.

### Supporting types

[`MLImageClassifier.FeatureExtractorType`](/documentation/CreateML/MLImageClassifier/FeatureExtractorType)

The underlying base model that extracts image features for image classifier training session.

[`MLImageClassifier.ModelParameters.ValidationData`](/documentation/CreateML/MLImageClassifier/ModelParameters-swift.struct/ValidationData-swift.enum)

The source of a validation dataset for an image classifier.

[`MLImageClassifier.ImageAugmentationOptions`](/documentation/CreateML/MLImageClassifier/ImageAugmentationOptions)

The variations that the training process can use to generate more training data from the training data you
provide.



---

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)