MCPcopy Create free account
hub / github.com/open-mmlab/mmengine / run

Method run

mmengine/runner/loops.py:271–300  ·  view source on GitHub ↗

Launch training.

(self)

Source from the content-addressed store, hash-verified

269 return self._iter
270
271 def run(self) -> None:
272 """Launch training."""
273 self.runner.call_hook('before_train')
274 # In iteration-based training loop, we treat the whole training process
275 # as a big epoch and execute the corresponding hook.
276 self.runner.call_hook('before_train_epoch')
277 if self._iter > 0:
278 print_log(
279 f'Advance dataloader {self._iter} steps to skip data '
280 'that has already been trained',
281 logger='current',
282 level=logging.WARNING)
283 for _ in range(self._iter):
284 next(self.dataloader_iterator)
285 while self._iter < self._max_iters and not self.stop_training:
286 self.runner.model.train()
287
288 data_batch = next(self.dataloader_iterator)
289 self.run_iter(data_batch)
290
291 self._decide_current_val_interval()
292 if (self.runner.val_loop is not None
293 and self._iter >= self.val_begin
294 and (self._iter % self.val_interval == 0
295 or self._iter == self._max_iters)):
296 self.runner.val_loop.run()
297
298 self.runner.call_hook('after_train_epoch')
299 self.runner.call_hook('after_train')
300 return self.runner.model
301
302 def run_iter(self, data_batch: Sequence[dict]) -> None:
303 """Iterate one mini-batch.

Callers

nothing calls this directly

Calls 6

run_iterMethod · 0.95
print_logFunction · 0.90
call_hookMethod · 0.45
trainMethod · 0.45
runMethod · 0.45

Tested by

no test coverage detected