<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CreateML",
  "identifier" : "/documentation/CreateML/MLHandPoseClassifier",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Create ML"
    ],
    "preciseIdentifier" : "s:8CreateML20MLHandPoseClassifierV"
  },
  "title" : "MLHandPoseClassifier"
}
-->

# MLHandPoseClassifier

A task that creates a hand pose classification model by training with images
of people’s hands that you provide.

```
struct MLHandPoseClassifier
```

## Topics

### Training a hand pose classifier asynchronously

[`static func train(trainingData: MLHandPoseClassifier.DataSource, parameters: MLHandPoseClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters) throws -> MLJob<MLHandPoseClassifier>`](/documentation/CreateML/MLHandPoseClassifier/train(trainingData:parameters:sessionParameters:))

Begins an asynchronous hand pose classifier’s training session.

[`static func makeTrainingSession(trainingData: MLHandPoseClassifier.DataSource, parameters: MLHandPoseClassifier.ModelParameters, sessionParameters: MLTrainingSessionParameters) throws -> MLTrainingSession<MLHandPoseClassifier>`](/documentation/CreateML/MLHandPoseClassifier/makeTrainingSession(trainingData:parameters:sessionParameters:))

Creates an asynchronous hand pose classifier’s training session.

[`static func resume(MLTrainingSession<MLHandPoseClassifier>) throws -> MLJob<MLHandPoseClassifier>`](/documentation/CreateML/MLHandPoseClassifier/resume(_:))

Begins or continues an asynchronous hand pose classifier’s training
session.

[`static func restoreTrainingSession(sessionParameters: MLTrainingSessionParameters) throws -> MLTrainingSession<MLHandPoseClassifier>`](/documentation/CreateML/MLHandPoseClassifier/restoreTrainingSession(sessionParameters:))

Recreates an asynchronous hand pose classifier’s training session by
restoring its saved state from the file system.

### Creating a hand pose classifier from a checkpoint

[`init(checkpoint: MLCheckpoint) throws`](/documentation/CreateML/MLHandPoseClassifier/init(checkpoint:))

Creates a hand pose classifier from a training session checkpoint.

### Training a hand pose classifier synchronously

[`init(trainingData: MLHandPoseClassifier.DataSource, parameters: MLHandPoseClassifier.ModelParameters) throws`](/documentation/CreateML/MLHandPoseClassifier/init(trainingData:parameters:))

Creates a hand pose classifier by starting a synchronous training
session.

### Evaluating a hand pose classifier

[`func evaluation(on: MLHandPoseClassifier.DataSource) throws -> MLClassifierMetrics`](/documentation/CreateML/MLHandPoseClassifier/evaluation(on:))

Generates metrics that describe the hand pose classifier’s performance
with a dataset of labeled images.

[`var trainingMetrics: MLClassifierMetrics`](/documentation/CreateML/MLHandPoseClassifier/trainingMetrics)

Measurements of the hand pose classifier’s performance on the training
dataset.

[`var validationMetrics: MLClassifierMetrics`](/documentation/CreateML/MLHandPoseClassifier/validationMetrics)

Measurements of the hand pose classifier’s performance on the validation
dataset.

### Testing a hand pose classifier

[`func prediction(from: URL) throws -> [(label: String, confidence: Double)]`](/documentation/CreateML/MLHandPoseClassifier/prediction(from:))

Generates a hand pose prediction for an image.

[`func predictions(from: [URL]) throws -> [[(label: String, confidence: Double)]]`](/documentation/CreateML/MLHandPoseClassifier/predictions(from:))

Generates an array of hand pose predictions for each image in a URL
array.

### Saving a hand pose classifier

[`func write(to: URL, metadata: MLModelMetadata?) throws`](/documentation/CreateML/MLHandPoseClassifier/write(to:metadata:))

Exports the hand pose classifier as a CoreML model file.

[`func write(toFile: String, metadata: MLModelMetadata?) throws`](/documentation/CreateML/MLHandPoseClassifier/write(toFile:metadata:))

Exports the hand pose classifier as a Core ML model file.

### Inspecting a hand pose classifier model

[`var model: MLModel`](/documentation/CreateML/MLHandPoseClassifier/model)

The underlying Core ML model of the hand pose classifier stored in
memory.

[`let modelParameters: MLHandPoseClassifier.ModelParameters`](/documentation/CreateML/MLHandPoseClassifier/modelParameters-swift.property)

The hand pose model’s configuration parameters.

### Describing a hand pose classifier

[`var description: String`](/documentation/CreateML/MLHandPoseClassifier/description)

A text representation of the hand pose classifier.

[`var debugDescription: String`](/documentation/CreateML/MLHandPoseClassifier/debugDescription)

A text representation of the hand pose classifier suitable for
debugging.

[`var playgroundDescription: Any`](/documentation/CreateML/MLHandPoseClassifier/playgroundDescription)

A description of the hand pose classifier that’s viewable in a
playground.

### Supporting types

[`enum DataSource`](/documentation/CreateML/MLHandPoseClassifier/DataSource)

A hand pose classifier dataset that contains annotated images or hand
joint location data.

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

A set of parameters that affect the training process of a hand pose
classifier task.

[`struct ImageAugmentationOptions`](/documentation/CreateML/MLHandPoseClassifier/ImageAugmentationOptions)

Options a hand pose classification training session can use to generate
additional training data from the images you provide.

### Default Implementations

[CustomDebugStringConvertible Implementations](/documentation/CreateML/MLHandPoseClassifier/CustomDebugStringConvertible-Implementations)

[CustomPlaygroundDisplayConvertible Implementations](/documentation/CreateML/MLHandPoseClassifier/CustomPlaygroundDisplayConvertible-Implementations)

[CustomStringConvertible Implementations](/documentation/CreateML/MLHandPoseClassifier/CustomStringConvertible-Implementations)

## Relationships

### Conforms To

[`CustomPlaygroundDisplayConvertible`](/documentation/Swift/CustomPlaygroundDisplayConvertible)

[`Escapable`](/documentation/Swift/Escapable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Copyable`](/documentation/Swift/Copyable)

---

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)