FluxTraining.on
function
defined in module
FluxTraining
on(event::Event, phase::Phase, callback::AbstractCallback, learner)
Handle
event
with
Callback
callback
.
By default, this event handler does nothing for a callback.
To see events which an
AbstractCallback
handles, use
methods(Training.on, (Any, Any, MyCallbackType, Any)
You can add event handlers to
Callback
s by implementing a method for
on
.
See also
Callback
and
custom callbacks
.
A method of
on
should
always
dispatch on the callback type, i.e.
on(event, phase, cb::MyCallback, learner)
. It may also dispatch on specific
Event
s and
Phase
. It should not dispatch on a specific type for
learner
.
There are
24
methods for on
:
on(::FluxTraining.Events.Event, phase, ::FluxTraining.SafeCallback, learner)
on(::FluxTraining.Events.EpochEnd, phase::FluxTraining.Phases.Phase, cb::MetricsPrinter, learner)
on(::FluxTraining.Events.StepBegin, ::FluxTraining.Phases.Phase, cb::ToDevice, learner)
on(::FluxTraining.Events.StepEnd, ::FluxTraining.Phases.Phase, cb::ProgressPrinter, learner)
on(::FluxTraining.Events.BackwardEnd, ::FluxTraining.Phases.AbstractTrainingPhase, ::StopOnNaNLoss, learner)
on(::FluxTraining.Events.EpochBegin, phase::FluxTraining.Phases.Phase, cb::ProgressPrinter, learner)
on(::FluxTraining.Events.EpochBegin, ::FluxTraining.Phases.Phase, cb::ToDevice, learner)
on(event::FluxTraining.Events.Event, phase::FluxTraining.Phases.Phase, cb::ConditionalCallback, learner)
on(::E, ::P, cb::CustomCallback{E, P}, learner)
on(::FluxTraining.Events.EpochEnd, phase::FluxTraining.Phases.Phase, cb::EarlyStopping, learner)
on(::FluxTraining.Events.EpochEnd, phase::FluxTraining.Phases.AbstractTrainingPhase, checkpointer::Checkpointer, learner)
on(::FluxTraining.Events.EpochEnd, phase, logger::LogMetrics, learner)
on(::FluxTraining.Events.StepEnd, phase::FluxTraining.Phases.AbstractTrainingPhase, logger::LogHistograms, learner)
on(::FluxTraining.Events.StepEnd, phase::FluxTraining.Phases.AbstractTrainingPhase, logger::LogVisualization, learner)
on(::FluxTraining.Events.StepEnd, phase, logger::LogMetrics, learner)
on(::FluxTraining.Events.StepEnd, phase, logger::LogHyperParams, learner)
on(::FluxTraining.Events.EpochEnd, phase, metrics::Metrics, learner)
on(::FluxTraining.Events.StepEnd, phase, metrics::Metrics, learner)
on(::FluxTraining.Events.EpochBegin, ::FluxTraining.Phases.Phase, metrics::Metrics, learner)
on(::FluxTraining.Events.EpochEnd, phase::FluxTraining.Phases.Phase, recorder::Recorder, learner)
on(::FluxTraining.Events.StepEnd, phase::FluxTraining.Phases.Phase, recorder::Recorder, learner)
on(::FluxTraining.Events.EpochBegin, phase::FluxTraining.Phases.Phase, recorder::Recorder, learner)
on(::FluxTraining.Events.EpochBegin, phase::FluxTraining.Phases.AbstractTrainingPhase, cb::SanityCheck, learner)
on(::FluxTraining.Events.StepBegin, phase::FluxTraining.Phases.AbstractTrainingPhase, scheduler::Scheduler, learner)
The following pages link back here:
Custom callbacks, Tips & tricks
callbacks/callback.jl , callbacks/callbacks.jl , callbacks/conditional.jl , callbacks/custom.jl , callbacks/earlystopping.jl , callbacks/logging/checkpointer.jl , callbacks/logging/logger.jl , callbacks/metrics.jl , callbacks/recorder.jl , callbacks/sanitycheck.jl , callbacks/scheduler.jl