build.py 787 B

123456789101112131415161718192021222324252627282930
  1. #!/usr/bin/env python3
  2. # -*- coding:utf-8 -*-
  3. from .loss import build_criterion
  4. from .yolov1 import YOLOv1
  5. # build object detector
  6. def build_yolov1(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 = YOLOv1(
  12. device=device,
  13. img_size=args.img_size,
  14. num_classes=num_classes,
  15. conf_thresh=args.conf_thresh,
  16. nms_thresh=args.nms_thresh,
  17. trainable=trainable
  18. )
  19. criterion = None
  20. if trainable:
  21. # build criterion for training
  22. criterion = build_criterion(cfg, device, num_classes)
  23. return model, criterion