|
|
@@ -36,7 +36,7 @@ from utils.autoanchor import check_anchors |
|
|
|
from utils.datasets import create_dataloader |
|
|
|
from utils.general import labels_to_class_weights, increment_path, labels_to_image_weights, init_seeds, \ |
|
|
|
strip_optimizer, get_latest_run, check_dataset, check_git_status, check_img_size, check_requirements, \ |
|
|
|
check_yaml, check_suffix, print_mutation, set_logging, one_cycle, colorstr, methods |
|
|
|
check_file, check_yaml, check_suffix, print_mutation, set_logging, one_cycle, colorstr, methods |
|
|
|
from utils.downloads import attempt_download |
|
|
|
from utils.loss import ComputeLoss |
|
|
|
from utils.plots import plot_labels, plot_evolve |
|
|
@@ -105,6 +105,7 @@ def train(hyp, # path/to/hyp.yaml or hyp dictionary |
|
|
|
is_coco = data.endswith('coco.yaml') and nc == 80 # COCO dataset |
|
|
|
|
|
|
|
# Model |
|
|
|
check_suffix(weights, '.pt') # check weights |
|
|
|
pretrained = weights.endswith('.pt') |
|
|
|
if pretrained: |
|
|
|
with torch_distributed_zero_first(RANK): |
|
|
@@ -484,8 +485,7 @@ def main(opt, callbacks=Callbacks()): |
|
|
|
opt.cfg, opt.weights, opt.resume = '', ckpt, True # reinstate |
|
|
|
LOGGER.info(f'Resuming training from {ckpt}') |
|
|
|
else: |
|
|
|
check_suffix(opt.weights, '.pt') # check weights |
|
|
|
opt.data, opt.cfg, opt.hyp = check_yaml(opt.data), check_yaml(opt.cfg), check_yaml(opt.hyp) # check YAMLs |
|
|
|
opt.data, opt.cfg, opt.hyp = check_file(opt.data), check_yaml(opt.cfg), check_yaml(opt.hyp) # check YAMLs |
|
|
|
assert len(opt.cfg) or len(opt.weights), 'either --cfg or --weights must be specified' |
|
|
|
if opt.evolve: |
|
|
|
opt.project = 'runs/evolve' |