__init__.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # ------------------ Model Config ----------------------
  2. from .yolov1_config import yolov1_cfg
  3. from .yolov2_config import yolov2_cfg
  4. from .yolov3_config import yolov3_cfg
  5. from .yolov4_config import yolov4_cfg
  6. from .yolov5_config import yolov5_cfg
  7. from .yolov7_config import yolov7_cfg
  8. from .yolov8_config import yolov8_cfg
  9. from .yolox_config import yolox_cfg
  10. def build_model_config(args):
  11. print('==============================')
  12. print('Model: {} ...'.format(args.model.upper()))
  13. # YOLOv1
  14. if args.model == 'yolov1':
  15. cfg = yolov1_cfg
  16. # YOLOv2
  17. elif args.model == 'yolov2':
  18. cfg = yolov2_cfg
  19. # YOLOv3
  20. elif args.model == 'yolov3':
  21. cfg = yolov3_cfg
  22. # YOLOv4
  23. elif args.model == 'yolov4':
  24. cfg = yolov4_cfg
  25. # YOLOv5
  26. elif args.model in ['yolov5_n', 'yolov5_s', 'yolov5_m', 'yolov5_l', 'yolov5_x']:
  27. cfg = yolov5_cfg[args.model]
  28. # YOLOv7
  29. elif args.model in ['yolov7_t', 'yolov7_l', 'yolov7_x']:
  30. cfg = yolov7_cfg[args.model]
  31. # YOLOv8
  32. elif args.model in ['yolov8_n', 'yolov8_s', 'yolov8_m', 'yolov8_l', 'yolov8_x']:
  33. cfg = yolov8_cfg[args.model]
  34. # YOLOX
  35. elif args.model == 'yolox':
  36. cfg = yolox_cfg
  37. return cfg
  38. # ------------------ Transform Config ----------------------
  39. from .transform_config import (
  40. yolov5_nano_trans_config,
  41. yolov5_tiny_trans_config,
  42. yolov5_small_trans_config,
  43. yolov5_medium_trans_config,
  44. yolov5_large_trans_config,
  45. yolov5_huge_trans_config,
  46. ssd_trans_config
  47. )
  48. def build_trans_config(trans_config='ssd'):
  49. print('==============================')
  50. print('Transform: {}-Style ...'.format(trans_config))
  51. # SSD-style transform
  52. if trans_config == 'ssd':
  53. cfg = ssd_trans_config
  54. # YOLOv5-style transform
  55. elif trans_config == 'yolov5_nano':
  56. cfg = yolov5_nano_trans_config
  57. elif trans_config == 'yolov5_tiny':
  58. cfg = yolov5_tiny_trans_config
  59. elif trans_config == 'yolov5_small':
  60. cfg = yolov5_small_trans_config
  61. elif trans_config == 'yolov5_medium':
  62. cfg = yolov5_medium_trans_config
  63. elif trans_config == 'yolov5_large':
  64. cfg = yolov5_large_trans_config
  65. elif trans_config == 'yolov5_huge':
  66. cfg = yolov5_huge_trans_config
  67. return cfg