MLCTrainingGraph
A training graph that you create from one or more graph objects plus additional layers you add directly to the training graph.
Declaration
class MLCTrainingGraphOverview
The framework provides a family of graph-execution methods to execute a full training iteration, and methods to execute the forward pass, the gradient pass, and optimizer update, individually.
Use one of the execute methods to execute a full training iteration to accelerate an ML model represented as a single training graph.
Use one of the executeForward, executeGradient, or executeOptimizerUpdatemethods to accelerate an ML library that separates the forward pass, gradient pass, and optimizer update as separate phases.
Topics
Creating Training Graphs
Preparing Training Graphs
addInputs(_:lossLabels:)addInputs(_:lossLabels:lossLabelWeights:)addOutputs(_:)stopGradient(for:)compileOptimizer(_:)compile(options:device:)compile(options:device:inputTensors:inputTensorsData:)link(with:)allocateUserGradient(for:)MLCGraphCompilationOptions
Executing Training Iterations
execute(inputsData:lossLabelsData:lossLabelWeightsData:batchSize:options:completionHandler:)execute(inputsData:lossLabelsData:lossLabelWeightsData:outputsData:batchSize:options:completionHandler:)synchronizeUpdates()setTrainingTensorParameters(_:)MLCExecutionOptionsMLCGraphCompletionHandler
Executing Forward, Gradient, and Optimizer Updates
executeForward(batchSize:options:completionHandler:)executeForward(batchSize:options:outputsData:completionHandler:)executeForward(batchSize:options:outputsData:)executeGradient(batchSize:options:completionHandler:)executeGradient(batchSize:options:outputsData:completionHandler:)executeGradient(batchSize:options:outputsData:)executeOptimizerUpdate(options:completionHandler:)executeOptimizerUpdate(options:)synchronizeUpdates()setTrainingTensorParameters(_:)MLCExecutionOptionsMLCGraphCompletionHandler