|
|
@ -6,6 +6,7 @@ Usage: |
|
|
|
$ yolo mode=train model=yolov8n.pt data=coco128.yaml imgsz=640 epochs=100 batch=16 |
|
|
|
$ yolo mode=train model=yolov8n.pt data=coco128.yaml imgsz=640 epochs=100 batch=16 |
|
|
|
""" |
|
|
|
""" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import gc |
|
|
|
import math |
|
|
|
import math |
|
|
|
import os |
|
|
|
import os |
|
|
|
import subprocess |
|
|
|
import subprocess |
|
|
@ -437,6 +438,7 @@ class BaseTrainer: |
|
|
|
self.scheduler.last_epoch = self.epoch # do not move |
|
|
|
self.scheduler.last_epoch = self.epoch # do not move |
|
|
|
self.stop |= epoch >= self.epochs # stop if exceeded epochs |
|
|
|
self.stop |= epoch >= self.epochs # stop if exceeded epochs |
|
|
|
self.run_callbacks("on_fit_epoch_end") |
|
|
|
self.run_callbacks("on_fit_epoch_end") |
|
|
|
|
|
|
|
gc.collect() |
|
|
|
torch.cuda.empty_cache() # clear GPU memory at end of epoch, may help reduce CUDA out of memory errors |
|
|
|
torch.cuda.empty_cache() # clear GPU memory at end of epoch, may help reduce CUDA out of memory errors |
|
|
|
|
|
|
|
|
|
|
|
# Early Stopping |
|
|
|
# Early Stopping |
|
|
@ -458,6 +460,7 @@ class BaseTrainer: |
|
|
|
if self.args.plots: |
|
|
|
if self.args.plots: |
|
|
|
self.plot_metrics() |
|
|
|
self.plot_metrics() |
|
|
|
self.run_callbacks("on_train_end") |
|
|
|
self.run_callbacks("on_train_end") |
|
|
|
|
|
|
|
gc.collect() |
|
|
|
torch.cuda.empty_cache() |
|
|
|
torch.cuda.empty_cache() |
|
|
|
self.run_callbacks("teardown") |
|
|
|
self.run_callbacks("teardown") |
|
|
|
|
|
|
|
|
|
|
|