<!--
{
  "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/MLHandActionClassifier",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Create ML"
    ],
    "preciseIdentifier" : "s:8CreateML22MLHandActionClassifierV"
  },
  "title" : "MLHandActionClassifier"
}
-->

# MLHandActionClassifier

A task that creates a hand action classification model by training with
videos of people’s hand movements that you provide.

```
struct MLHandActionClassifier
```

## Topics

### Training a hand action classifier asynchronously

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

Begins an asynchronous hand action classifier’s training session.

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

Creates an asynchronous hand action classifier’s training session.

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

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

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

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

### Creating a hand action classifier from a checkpoint

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

Creates a hand action classifier from a training session checkpoint.

### Training a hand action classifier synchronously

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

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

### Evaluating a hand action classifier

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

Generates metrics describing the hand action classifier’s performance on
labeled videos.

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

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

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

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

### Testing a hand action classifier

[`func prediction(from: URL) throws -> [MLHandActionClassifier.Prediction]`](/documentation/CreateML/MLHandActionClassifier/prediction(from:))

Generates an array of hand-action predictions for a video.

[`func predictions(from: [URL]) throws -> [[MLHandActionClassifier.Prediction]]`](/documentation/CreateML/MLHandActionClassifier/predictions(from:))

Generates an array of hand action predictions for each video in a URL
array.

[`struct Prediction`](/documentation/CreateML/MLHandActionClassifier/Prediction)

A collection of predictions, each paired with its confidence, for a
range of video frames.

### Saving a hand action classifier

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

Exports the hand action classifier as a CoreML model file.

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

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

### Inspecting a hand action classifier model

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

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

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

The hand action model’s configuration parameters.

### Describing a hand action classifier

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

A text representation of the hand action classifier.

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

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

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

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

### Supporting types

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

A hand action classifier dataset that contains annotated videos or hand joint location data.

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

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

[`struct VideoAugmentationOptions`](/documentation/CreateML/MLHandActionClassifier/VideoAugmentationOptions)

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

### Default Implementations

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

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

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

## Relationships

### Conforms To

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

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

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

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

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

---

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)