--- title: Callbacks keywords: fastai sidebar: home_sidebar summary: "API details." ---
%load_ext autoreload %autoreload 2 %matplotlib inline
class
TorchCallback
TorchCallback()
BasicConfig
BasicConfig(priority=0) :: TorchCallback
priority
0
Handles basic model tasks like putting the model on the GPU and switching between train and eval modes.
StatsHandler
StatsHandler(priority=5) :: TorchCallback
5
This updates metrics at the end of each epoch to account for potentially varying batch sizes.
MetricPrinter
MetricPrinter(priority=10) :: TorchCallback
10
Prints metrics at the end of each epoch. This is one of the default callbacks provided in BaseModel - it does not need to be passed in explicitly.
EarlyStopper
EarlyStopper(metric, goal:('max', 'min'), min_improvement=0.0, patience=3, priority=15) :: TorchCallback
metric
goal
('max', 'min')
min_improvement
0.0
patience
3
15
PerformanceThreshold
PerformanceThreshold(metric, goal:('min', 'max'), threshold, skip_epochs=0, split:('train', 'val')='val', priority=15) :: TorchCallback
('min', 'max')
threshold
skip_epochs
split
('train', 'val')
'val'
ModelCheckpoint
ModelCheckpoint(metric='loss', goal:('max', 'min')='min', priority=25) :: TorchCallback
'loss'
'min'
25
MetricHistory
MetricHistory(fname='history.csv', plot_fname='history.png', priority=90) :: TorchCallback
fname
'history.csv'
plot_fname
'history.png'
90
Separate from StatsHandler in case we don't want to log outputs.
S3Uploader
S3Uploader(bucket, prefix, priority=95) :: TorchCallback
bucket
prefix
95
Upload model and logs to S3 when training finishes.
EC2Closer
EC2Closer(timeout=5, priority=100) :: TorchCallback
timeout
100
ModelUnfreezer
ModelUnfreezer(i2n, unfreeze_type:('groups', 'layers')='groups', mode:('batch', 'epoch')='epoch', priority=25) :: TorchCallback
i2n
unfreeze_type
('groups', 'layers')
'groups'
mode
('batch', 'epoch')
'epoch'
Gradually unfreeze a model during training.
SchedulerMixin
SchedulerMixin() :: TorchCallback
CosineLRScheduler
CosineLRScheduler(warm=0.3, restarts=False, cycle_len=5, cycle_decay=0.0, min_lr=None, verbose=False, priority=10) :: SchedulerMixin
warm
0.3
restarts
False
cycle_len
cycle_decay
min_lr
None
verbose
Learning rate scheduler that makes updates each batch.