Add `stop_training=False` flag to callbacks (#6365)

* New flag 'stop_training' in util.callbacks.Callbacks class to prematurely stop training from callback handler

* Removed most of the new  checks, leaving only the one after calling 'on_train_batch_end'

* Cleanup

Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com>
pull/6403/head
Matthias 2022-01-23 03:37:21 +01:00 committed by GitHub
parent c43439aa31
commit 8efe97719c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 0 deletions

View File

@ -352,6 +352,8 @@ def train(hyp, # path/to/hyp.yaml or hyp dictionary
pbar.set_description(('%10s' * 2 + '%10.4g' * 5) % (
f'{epoch}/{epochs - 1}', mem, *mloss, targets.shape[0], imgs.shape[-1]))
callbacks.run('on_train_batch_end', ni, model, imgs, targets, paths, plots, opt.sync_bn)
if callbacks.stop_training:
return
# end batch ------------------------------------------------------------------------------------------------
# Scheduler

View File

@ -35,6 +35,7 @@ class Callbacks:
'on_params_update': [],
'teardown': [],
}
self.stop_training = False # set True to interrupt training
def register_action(self, hook, name='', callback=None):
"""