parser.add_argument('--half', action='store_true', help='use FP16 half-precision inference') | parser.add_argument('--half', action='store_true', help='use FP16 half-precision inference') | ||||
opt = parser.parse_args() | opt = parser.parse_args() | ||||
print(opt) | print(opt) | ||||
check_requirements(exclude=('tensorboard', 'pycocotools', 'thop')) | |||||
check_requirements(exclude=('tensorboard', 'thop')) | |||||
if opt.update: # update all models (to fix SourceChangeWarning) | if opt.update: # update all models (to fix SourceChangeWarning) | ||||
for opt.weights in ['yolov5s.pt', 'yolov5m.pt', 'yolov5l.pt', 'yolov5x.pt']: | for opt.weights in ['yolov5s.pt', 'yolov5m.pt', 'yolov5l.pt', 'yolov5x.pt']: |
from utils.torch_utils import select_device | from utils.torch_utils import select_device | ||||
check_requirements(requirements=Path(__file__).parent / 'requirements.txt', | check_requirements(requirements=Path(__file__).parent / 'requirements.txt', | ||||
exclude=('tensorboard', 'pycocotools', 'thop', 'opencv-python')) | |||||
exclude=('tensorboard', 'thop', 'opencv-python')) | |||||
set_logging(verbose=verbose) | set_logging(verbose=verbose) | ||||
fname = Path(name).with_suffix('.pt') # checkpoint filename | fname = Path(name).with_suffix('.pt') # checkpoint filename |
# extras -------------------------------------- | # extras -------------------------------------- | ||||
# Cython # for pycocotools https://github.com/cocodataset/cocoapi/issues/172 | # Cython # for pycocotools https://github.com/cocodataset/cocoapi/issues/172 | ||||
pycocotools>=2.0 # COCO mAP | |||||
# pycocotools>=2.0 # COCO mAP | |||||
thop # FLOPs computation | thop # FLOPs computation |
json.dump(jdict, f) | json.dump(jdict, f) | ||||
try: # https://github.com/cocodataset/cocoapi/blob/master/PythonAPI/pycocoEvalDemo.ipynb | try: # https://github.com/cocodataset/cocoapi/blob/master/PythonAPI/pycocoEvalDemo.ipynb | ||||
check_requirements(['pycocotools']) | |||||
from pycocotools.coco import COCO | from pycocotools.coco import COCO | ||||
from pycocotools.cocoeval import COCOeval | from pycocotools.cocoeval import COCOeval | ||||
opt.save_json |= opt.data.endswith('coco.yaml') | opt.save_json |= opt.data.endswith('coco.yaml') | ||||
opt.data = check_file(opt.data) # check file | opt.data = check_file(opt.data) # check file | ||||
print(opt) | print(opt) | ||||
check_requirements(exclude=('tensorboard', 'pycocotools', 'thop')) | |||||
check_requirements(exclude=('tensorboard', 'thop')) | |||||
if opt.task in ('train', 'val', 'test'): # run normally | if opt.task in ('train', 'val', 'test'): # run normally | ||||
test(opt.data, | test(opt.data, |
set_logging(opt.global_rank) | set_logging(opt.global_rank) | ||||
if opt.global_rank in [-1, 0]: | if opt.global_rank in [-1, 0]: | ||||
check_git_status() | check_git_status() | ||||
check_requirements(exclude=('pycocotools', 'thop')) | |||||
check_requirements(exclude=['thop']) | |||||
# Resume | # Resume | ||||
wandb_run = check_wandb_resume(opt) | wandb_run = check_wandb_resume(opt) |