build.py 796 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env python3
  2. # -*- coding:utf-8 -*-
  3. from .loss import build_criterion
  4. from .yolov8 import YOLOv8
  5. # build object detector
  6. def build_yolov8(args, cfg, device, num_classes=80, trainable=False):
  7. print('==============================')
  8. print('Build {} ...'.format(args.model.upper()))
  9. print('==============================')
  10. print('Model Configuration: \n', cfg)
  11. model = YOLOv8(
  12. cfg=cfg,
  13. device=device,
  14. num_classes=num_classes,
  15. trainable=trainable,
  16. conf_thresh=args.conf_thresh,
  17. nms_thresh=args.nms_thresh,
  18. topk=args.topk
  19. )
  20. criterion = None
  21. if trainable:
  22. # build criterion for training
  23. criterion = build_criterion(cfg, device, num_classes)
  24. return model, criterion