---
title: "executeGradient(batchSize:options:outputsData:completionHandler:)"
framework: ML Compute
role: symbol
role_heading: Instance Method
platforms: [iOS 14.0+, iPadOS 14.0+, Mac Catalyst 14.0+, macOS 11.0+, tvOS 14.0+]
path: "mlcompute/mlctraininggraph/executegradient(batchsize:options:outputsdata:completionhandler:)"
---

# executeGradient(batchSize:options:outputsData:completionHandler:)

Executes the gradient pass of the training graph with the batch size, execution options, output data, and completion handler you specify.

## Declaration

```swift
func executeGradient(batchSize: Int, options: MLCExecutionOptions = [], outputsData: [String : MLCTensorData]?, completionHandler: MLCGraphCompletionHandler? = nil) -> Bool
```

## Parameters

- `batchSize`: The batch size.
- `options`: The execution options.
- `outputsData`: A dictionary that contains output data.
- `completionHandler`: The completion handler.

## Return Value

Return Value true if the execution was successful.

## See Also

### Executing Forward, Gradient, and Optimizer Updates

- [executeForward(batchSize:options:completionHandler:)](mlcompute/mlctraininggraph/executeforward(batchsize:options:completionhandler:).md)
- [executeForward(batchSize:options:outputsData:completionHandler:)](mlcompute/mlctraininggraph/executeforward(batchsize:options:outputsdata:completionhandler:).md)
- [executeForward(batchSize:options:outputsData:)](mlcompute/mlctraininggraph/executeforward(batchsize:options:outputsdata:).md)
- [executeGradient(batchSize:options:completionHandler:)](mlcompute/mlctraininggraph/executegradient(batchsize:options:completionhandler:).md)
- [executeGradient(batchSize:options:outputsData:)](mlcompute/mlctraininggraph/executegradient(batchsize:options:outputsdata:).md)
- [executeOptimizerUpdate(options:completionHandler:)](mlcompute/mlctraininggraph/executeoptimizerupdate(options:completionhandler:).md)
- [executeOptimizerUpdate(options:)](mlcompute/mlctraininggraph/executeoptimizerupdate(options:).md)
- [synchronizeUpdates()](mlcompute/mlctraininggraph/synchronizeupdates().md)
- [setTrainingTensorParameters(_:)](mlcompute/mlctraininggraph/settrainingtensorparameters(_:).md)
- [MLCExecutionOptions](mlcompute/mlcexecutionoptions.md)
- [MLCGraphCompletionHandler](mlcompute/mlcgraphcompletionhandler.md)
