__init__.py 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. # ------------------------ Dataset Config ------------------------
  2. from .data_config.dataset_config import dataset_cfg
  3. def build_dataset_config(args):
  4. if args.dataset in ['coco', 'coco-val', 'coco-test']:
  5. cfg = dataset_cfg['coco']
  6. else:
  7. cfg = dataset_cfg[args.dataset]
  8. print('==============================')
  9. print('Dataset Config: {} \n'.format(cfg))
  10. return cfg
  11. # ------------------ Transform Config ----------------------
  12. from .data_config.transform_config import (
  13. # YOLOv5-Style
  14. yolov5_pico_trans_config,
  15. yolov5_nano_trans_config,
  16. yolov5_small_trans_config,
  17. yolov5_medium_trans_config,
  18. yolov5_large_trans_config,
  19. yolov5_huge_trans_config,
  20. # YOLOX-Style
  21. yolox_pico_trans_config,
  22. yolox_nano_trans_config,
  23. yolox_small_trans_config,
  24. yolox_medium_trans_config,
  25. yolox_large_trans_config,
  26. yolox_huge_trans_config,
  27. # SSD-Style
  28. ssd_trans_config
  29. )
  30. def build_trans_config(trans_config='ssd'):
  31. print('==============================')
  32. print('Transform: {}-Style ...'.format(trans_config))
  33. # SSD-style transform
  34. if trans_config == 'ssd':
  35. cfg = ssd_trans_config
  36. # YOLOv5-style transform
  37. elif trans_config == 'yolov5_pico':
  38. cfg = yolov5_pico_trans_config
  39. elif trans_config == 'yolov5_nano':
  40. cfg = yolov5_nano_trans_config
  41. elif trans_config == 'yolov5_small':
  42. cfg = yolov5_small_trans_config
  43. elif trans_config == 'yolov5_medium':
  44. cfg = yolov5_medium_trans_config
  45. elif trans_config == 'yolov5_large':
  46. cfg = yolov5_large_trans_config
  47. elif trans_config == 'yolov5_huge':
  48. cfg = yolov5_huge_trans_config
  49. # YOLOX-style transform
  50. elif trans_config == 'yolox_pico':
  51. cfg = yolox_pico_trans_config
  52. elif trans_config == 'yolox_nano':
  53. cfg = yolox_nano_trans_config
  54. elif trans_config == 'yolox_small':
  55. cfg = yolox_small_trans_config
  56. elif trans_config == 'yolox_medium':
  57. cfg = yolox_medium_trans_config
  58. elif trans_config == 'yolox_large':
  59. cfg = yolox_large_trans_config
  60. elif trans_config == 'yolox_huge':
  61. cfg = yolox_huge_trans_config
  62. return cfg
  63. # ------------------ Model Config ----------------------
  64. from .model_config.yolov1_config import yolov1_cfg
  65. from .model_config.yolov2_config import yolov2_cfg
  66. from .model_config.yolov3_config import yolov3_cfg
  67. from .model_config.yolov4_config import yolov4_cfg
  68. from .model_config.yolov5_config import yolov5_cfg
  69. from .model_config.yolov7_config import yolov7_cfg
  70. from .model_config.yolox_config import yolox_cfg
  71. from .model_config.yolox2_config import yolox2_cfg
  72. from .model_config.rtdetr_config import rtdetr_cfg
  73. def build_model_config(args):
  74. print('==============================')
  75. print('Model: {} ...'.format(args.model.upper()))
  76. # YOLOv1
  77. if args.model == 'yolov1':
  78. cfg = yolov1_cfg
  79. # YOLOv2
  80. elif args.model == 'yolov2':
  81. cfg = yolov2_cfg
  82. # YOLOv3
  83. elif args.model in ['yolov3', 'yolov3_t']:
  84. cfg = yolov3_cfg[args.model]
  85. # YOLOv4
  86. elif args.model in ['yolov4', 'yolov4_t']:
  87. cfg = yolov4_cfg[args.model]
  88. # YOLOv5
  89. elif args.model in ['yolov5_n', 'yolov5_s', 'yolov5_m', 'yolov5_l', 'yolov5_x']:
  90. cfg = yolov5_cfg[args.model]
  91. # YOLOv7
  92. elif args.model in ['yolov7_t', 'yolov7_l', 'yolov7_x']:
  93. cfg = yolov7_cfg[args.model]
  94. # YOLOX
  95. elif args.model in ['yolox_n', 'yolox_s', 'yolox_m', 'yolox_l', 'yolox_x']:
  96. cfg = yolox_cfg[args.model]
  97. # YOLOX2
  98. elif args.model in ['yolox2_n', 'yolox2_s', 'yolox2_m', 'yolox2_l', 'yolox2_x']:
  99. cfg = yolox2_cfg[args.model]
  100. # RT-DETR
  101. elif args.model in ['rtdetr_n', 'rtdetr_s', 'rtdetr_m', 'rtdetr_l', 'rtdetr_x']:
  102. cfg = rtdetr_cfg[args.model]
  103. return cfg