---
title: "train(trainingData:annotationType:parameters:sessionParameters:)"
framework: createml
role: symbol
role_heading: Type Method
path: "createml/mlobjectdetector/train(trainingdata:annotationtype:parameters:sessionparameters:)"
---

# train(trainingData:annotationType:parameters:sessionParameters:)

Begins an asynchronous object-detector training session.

## Declaration

```swift
static func train(trainingData: MLObjectDetector.DataSource, annotationType: MLObjectDetector.AnnotationType, parameters: MLObjectDetector.ModelParameters = ModelParameters(), sessionParameters: MLTrainingSessionParameters = __Defaults.sessionParameters) throws -> MLJob<MLObjectDetector>
```

## Parameters

- `trainingData`: The annotated images the task uses to train the object detector.
- `annotationType`: The format your data source uses for its image annotations.
- `parameters`: An doc://com.apple.createml/documentation/CreateML/MLObjectDetector/ModelParameters-swift.struct instance you use to set the model configuration settings for the training session.
- `sessionParameters`: An doc://com.apple.createml/documentation/CreateML/MLTrainingSessionParameters instance you use to configure the training session.

## Return Value

Return Value An MLJob that represents the object-detector training session.

## See Also

### Training an object detector asynchronously

- [makeTrainingSession(trainingData:annotationType:parameters:sessionParameters:)](createml/mlobjectdetector/maketrainingsession(trainingdata:annotationtype:parameters:sessionparameters:).md)
- [resume(_:)](createml/mlobjectdetector/resume(_:).md)
- [restoreTrainingSession(sessionParameters:)](createml/mlobjectdetector/restoretrainingsession(sessionparameters:).md)
