__init__.py 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  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. # RTMDet-v1-Style
  30. rtcdet_v1_pico_trans_config,
  31. rtcdet_v1_nano_trans_config,
  32. rtcdet_v1_small_trans_config,
  33. rtcdet_v1_medium_trans_config,
  34. rtcdet_v1_large_trans_config,
  35. rtcdet_v1_huge_trans_config,
  36. # RTMDet-v2-Style
  37. rtcdet_v2_pico_trans_config,
  38. rtcdet_v2_nano_trans_config,
  39. rtcdet_v2_small_trans_config,
  40. rtcdet_v2_medium_trans_config,
  41. rtcdet_v2_large_trans_config,
  42. rtcdet_v2_huge_trans_config,
  43. )
  44. def build_trans_config(trans_config='ssd'):
  45. print('==============================')
  46. print('Transform: {}-Style ...'.format(trans_config))
  47. # SSD-style transform
  48. if trans_config == 'ssd':
  49. cfg = ssd_trans_config
  50. # YOLOv5-style transform
  51. elif trans_config == 'yolov5_pico':
  52. cfg = yolov5_pico_trans_config
  53. elif trans_config == 'yolov5_nano':
  54. cfg = yolov5_nano_trans_config
  55. elif trans_config == 'yolov5_small':
  56. cfg = yolov5_small_trans_config
  57. elif trans_config == 'yolov5_medium':
  58. cfg = yolov5_medium_trans_config
  59. elif trans_config == 'yolov5_large':
  60. cfg = yolov5_large_trans_config
  61. elif trans_config == 'yolov5_huge':
  62. cfg = yolov5_huge_trans_config
  63. # YOLOX-style transform
  64. elif trans_config == 'yolox_pico':
  65. cfg = yolox_pico_trans_config
  66. elif trans_config == 'yolox_nano':
  67. cfg = yolox_nano_trans_config
  68. elif trans_config == 'yolox_small':
  69. cfg = yolox_small_trans_config
  70. elif trans_config == 'yolox_medium':
  71. cfg = yolox_medium_trans_config
  72. elif trans_config == 'yolox_large':
  73. cfg = yolox_large_trans_config
  74. elif trans_config == 'yolox_huge':
  75. cfg = yolox_huge_trans_config
  76. # RTMDetv1-style transform
  77. elif trans_config == 'rtcdet_v1_pico':
  78. cfg = rtcdet_v1_pico_trans_config
  79. elif trans_config == 'rtcdet_v1_nano':
  80. cfg = rtcdet_v1_nano_trans_config
  81. elif trans_config == 'rtcdet_v1_small':
  82. cfg = rtcdet_v1_small_trans_config
  83. elif trans_config == 'rtcdet_v1_medium':
  84. cfg = rtcdet_v1_medium_trans_config
  85. elif trans_config == 'rtcdet_v1_large':
  86. cfg = rtcdet_v1_large_trans_config
  87. elif trans_config == 'rtcdet_v1_huge':
  88. cfg = rtcdet_v1_huge_trans_config
  89. # RTMDetv2-style transform
  90. elif trans_config == 'rtcdet_v2_pico':
  91. cfg = rtcdet_v2_pico_trans_config
  92. elif trans_config == 'rtcdet_v2_nano':
  93. cfg = rtcdet_v2_nano_trans_config
  94. elif trans_config == 'rtcdet_v2_small':
  95. cfg = rtcdet_v2_small_trans_config
  96. elif trans_config == 'rtcdet_v2_medium':
  97. cfg = rtcdet_v2_medium_trans_config
  98. elif trans_config == 'rtcdet_v2_large':
  99. cfg = rtcdet_v2_large_trans_config
  100. elif trans_config == 'rtcdet_v2_huge':
  101. cfg = rtcdet_v2_huge_trans_config
  102. print('Transform Config: {} \n'.format(cfg))
  103. return cfg
  104. # ------------------ Model Config ------------------
  105. ## YOLO series
  106. from .model_config.yolov1_config import yolov1_cfg
  107. from .model_config.yolov2_config import yolov2_cfg
  108. from .model_config.yolov3_config import yolov3_cfg
  109. from .model_config.yolov4_config import yolov4_cfg
  110. from .model_config.yolov5_config import yolov5_cfg
  111. from .model_config.yolov7_config import yolov7_cfg
  112. from .model_config.yolox_config import yolox_cfg
  113. ## My RTMDet series
  114. from .model_config.rtcdet_v1_config import rtcdet_v1_cfg
  115. from .model_config.rtcdet_v2_config import rtcdet_v2_cfg
  116. def build_model_config(args):
  117. print('==============================')
  118. print('Model: {} ...'.format(args.model.upper()))
  119. # YOLOv1
  120. if args.model == 'yolov1':
  121. cfg = yolov1_cfg
  122. # YOLOv2
  123. elif args.model == 'yolov2':
  124. cfg = yolov2_cfg
  125. # YOLOv3
  126. elif args.model in ['yolov3', 'yolov3_tiny']:
  127. cfg = yolov3_cfg[args.model]
  128. # YOLOv4
  129. elif args.model in ['yolov4', 'yolov4_tiny']:
  130. cfg = yolov4_cfg[args.model]
  131. # YOLOv5
  132. elif args.model in ['yolov5_n', 'yolov5_s', 'yolov5_m', 'yolov5_l', 'yolov5_x']:
  133. cfg = yolov5_cfg[args.model]
  134. # YOLOv7
  135. elif args.model in ['yolov7_tiny', 'yolov7', 'yolov7_x']:
  136. cfg = yolov7_cfg[args.model]
  137. # YOLOX
  138. elif args.model in ['yolox_n', 'yolox_s', 'yolox_m', 'yolox_l', 'yolox_x']:
  139. cfg = yolox_cfg[args.model]
  140. # My RTMDet-v1
  141. elif args.model in ['rtcdet_v1_p', 'rtcdet_v1_n', 'rtcdet_v1_t', 'rtcdet_v1_s', 'rtcdet_v1_m', 'rtcdet_v1_l', 'rtcdet_v1_x']:
  142. cfg = rtcdet_v1_cfg[args.model]
  143. # My RTMDet-v2
  144. elif args.model in ['rtcdet_v2_p', 'rtcdet_v2_n', 'rtcdet_v2_t', 'rtcdet_v2_s', 'rtcdet_v2_m', 'rtcdet_v2_l', 'rtcdet_v2_x']:
  145. cfg = rtcdet_v2_cfg[args.model]
  146. return cfg