TrainingPhase
struct
defined in module
FluxTraining.Phases
TrainingPhase() <: AbstractTrainingPhase
A regular training phase for supervised learning. It iterates over batches
in
learner.data.training
and updates the model parameters
using
learner.optim
after calculating the gradients.
Throws the following events in this order:
EpochBegin
when an epoch starts,
StepBegin
when a step starts,
LossBegin
after the forward pass but before loss calculation,
BackwardBegin
after loss calculation but before backward pass,
BackwardEnd
after the bacward pass but before the optimization
step,
StepEnd
when a step ends; and
EpochEnd
when an epoch ends
It writes the following step state to
learner.state
, grouped by the
event from which on it is available.
StepBegin
:
xs
and
ys
: encoded input and target (batch)
LossBegin
:
ŷs
: model output
BackwardBegin
:
loss
: loss
BackwardEnd
:
grads
: calculated gradients
There is
1
method for TrainingPhase
:
TrainingPhase()
The following pages link back here:
FluxTraining.jl , callbacks/conditional.jl , callbacks/custom.jl , callbacks/metrics.jl , callbacks/phases.jl , training.jl