FluxTraining.jl comes with many callbacks included. Some of them are added to
Learner by default, here marked with a *.
| Callback | Description |
|---|---|
Metrics* | Tracks loss and additional metrics on a per-step and per-epoch base |
Recorder* | Records training stats like number of steps and epochs |
ProgressPrinter* | Prints a progress bar for the current epoch during training |
MetricsPrinter* | Prints out metrics after every epoch |
StopOnNaNLoss* |
Stops training early if a step loss is
NaN |
SanityCheck | Performs sanity checks on data, model and loss before training |
ToGPU | Trains using a CUDA GPU if available |
Checkpointer | Saves the model after every epoch |
EarlyStopping | Stops training early when a criterion is met |
Scheduler | Schedules hyperparameters |
LogMetrics | Logs metrics to a logging backend |
LogHyperParams | Logs hyperparameters to a logging backend |
LogVisualization | Logs visualization to a logging backend |
LogHistograms | Logs model weight histograms to a logging backend |
To construct a learner without default callbacks, pass
usedefaultcallbacks=false when constructing it.
For working with callbacks on an existing
Learner, see:
There are also some utilities for creating callbacks:
CustomCallback to quickly hook a function into an event
throttle to run a callback only after every
n events or every
t seconds
The following types and functions can be used to create custom callbacks. Read the custom callbacks guide for more context.
The following pages link back here:
Getting started, How to use callbacks, News, Training an image classifier, Training loop