Browse Source

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>
modifyDataloader
Matthias GitHub 2 years ago
parent
commit
8efe97719c
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 0 deletions
  1. +2
    -0
      train.py
  2. +1
    -0
      utils/callbacks.py

+ 2
- 0
train.py 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

+ 1
- 0
utils/callbacks.py 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):
"""

Loading…
Cancel
Save