|
|
@ -24,7 +24,7 @@ import ultralytics.yolo.utils as utils
|
|
|
|
import ultralytics.yolo.utils.callbacks as callbacks
|
|
|
|
import ultralytics.yolo.utils.callbacks as callbacks
|
|
|
|
from ultralytics import __version__
|
|
|
|
from ultralytics import __version__
|
|
|
|
from ultralytics.yolo.data.utils import check_dataset, check_dataset_yaml
|
|
|
|
from ultralytics.yolo.data.utils import check_dataset, check_dataset_yaml
|
|
|
|
from ultralytics.yolo.utils import LOGGER, ROOT, TQDM_BAR_FORMAT, colorstr
|
|
|
|
from ultralytics.yolo.utils import LOGGER, RANK, ROOT, TQDM_BAR_FORMAT, colorstr
|
|
|
|
from ultralytics.yolo.utils.checks import check_file, print_args
|
|
|
|
from ultralytics.yolo.utils.checks import check_file, print_args
|
|
|
|
from ultralytics.yolo.utils.configs import get_config
|
|
|
|
from ultralytics.yolo.utils.configs import get_config
|
|
|
|
from ultralytics.yolo.utils.dist import ddp_cleanup, generate_ddp_command
|
|
|
|
from ultralytics.yolo.utils.dist import ddp_cleanup, generate_ddp_command
|
|
|
@ -32,7 +32,6 @@ from ultralytics.yolo.utils.files import get_latest_run, increment_path, save_ya
|
|
|
|
from ultralytics.yolo.utils.torch_utils import ModelEMA, de_parallel, init_seeds, one_cycle, strip_optimizer
|
|
|
|
from ultralytics.yolo.utils.torch_utils import ModelEMA, de_parallel, init_seeds, one_cycle, strip_optimizer
|
|
|
|
|
|
|
|
|
|
|
|
DEFAULT_CONFIG = ROOT / "yolo/utils/configs/default.yaml"
|
|
|
|
DEFAULT_CONFIG = ROOT / "yolo/utils/configs/default.yaml"
|
|
|
|
RANK = int(os.getenv('RANK', -1))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class BaseTrainer:
|
|
|
|
class BaseTrainer:
|
|
|
@ -48,9 +47,9 @@ class BaseTrainer:
|
|
|
|
self.callbacks = defaultdict(list)
|
|
|
|
self.callbacks = defaultdict(list)
|
|
|
|
|
|
|
|
|
|
|
|
# dirs
|
|
|
|
# dirs
|
|
|
|
project = overrides.get("project") or self.args.task
|
|
|
|
project = self.args.project or f"runs/{self.args.task}"
|
|
|
|
name = overrides.get("name") or self.args.mode
|
|
|
|
name = self.args.name or f"{self.args.mode}"
|
|
|
|
self.save_dir = increment_path(Path("runs") / project / name, exist_ok=self.args.exist_ok)
|
|
|
|
self.save_dir = increment_path(Path(project) / name, exist_ok=self.args.exist_ok if RANK == -1 else True)
|
|
|
|
self.wdir = self.save_dir / 'weights' # weights dir
|
|
|
|
self.wdir = self.save_dir / 'weights' # weights dir
|
|
|
|
self.wdir.mkdir(parents=True, exist_ok=True) # make dir
|
|
|
|
self.wdir.mkdir(parents=True, exist_ok=True) # make dir
|
|
|
|
self.last, self.best = self.wdir / 'last.pt', self.wdir / 'best.pt' # checkpoint paths
|
|
|
|
self.last, self.best = self.wdir / 'last.pt', self.wdir / 'best.pt' # checkpoint paths
|
|
|
|