__init__.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. # ------------------------ Dataset Config ------------------------
  2. from .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. # ------------------ Model Config ----------------------
  12. from .yolov1_config import yolov1_cfg
  13. from .yolov2_config import yolov2_cfg
  14. from .yolov3_config import yolov3_cfg
  15. from .yolov4_config import yolov4_cfg
  16. from .yolov5_config import yolov5_cfg
  17. from .yolov7_config import yolov7_cfg
  18. from .yolox_config import yolox_cfg
  19. from .yolox_plus_config import yolox_plus_cfg
  20. def build_model_config(args):
  21. print('==============================')
  22. print('Model: {} ...'.format(args.model.upper()))
  23. # YOLOv1
  24. if args.model == 'yolov1':
  25. cfg = yolov1_cfg
  26. # YOLOv2
  27. elif args.model == 'yolov2':
  28. cfg = yolov2_cfg
  29. # YOLOv3
  30. elif args.model in ['yolov3', 'yolov3_t']:
  31. cfg = yolov3_cfg[args.model]
  32. # YOLOv4
  33. elif args.model in ['yolov4', 'yolov4_t']:
  34. cfg = yolov4_cfg[args.model]
  35. # YOLOv5
  36. elif args.model in ['yolov5_n', 'yolov5_s', 'yolov5_m', 'yolov5_l', 'yolov5_x']:
  37. cfg = yolov5_cfg[args.model]
  38. # YOLOv7
  39. elif args.model in ['yolov7_t', 'yolov7_l', 'yolov7_x']:
  40. cfg = yolov7_cfg[args.model]
  41. # YOLOX
  42. elif args.model in ['yolox_n', 'yolox_s', 'yolox_m', 'yolox_l', 'yolox_x']:
  43. cfg = yolox_cfg[args.model]
  44. # YOLOX-Plus
  45. elif args.model in ['yolox_plus_n', 'yolox_plus_s', 'yolox_plus_m', 'yolox_plus_l', 'yolox_plus_x']:
  46. cfg = yolox_plus_cfg[args.model]
  47. return cfg
  48. # ------------------ Transform Config ----------------------
  49. from .transform_config import (
  50. yolov5_nano_trans_config,
  51. yolov5_tiny_trans_config,
  52. yolov5_small_trans_config,
  53. yolov5_medium_trans_config,
  54. yolov5_large_trans_config,
  55. yolov5_huge_trans_config,
  56. yolox_nano_trans_config,
  57. yolox_tiny_trans_config,
  58. yolox_small_trans_config,
  59. yolox_medium_trans_config,
  60. yolox_large_trans_config,
  61. yolox_huge_trans_config,
  62. ssd_trans_config
  63. )
  64. def build_trans_config(trans_config='ssd'):
  65. print('==============================')
  66. print('Transform: {}-Style ...'.format(trans_config))
  67. # SSD-style transform
  68. if trans_config == 'ssd':
  69. cfg = ssd_trans_config
  70. # YOLOv5-style transform
  71. elif trans_config == 'yolov5_nano':
  72. cfg = yolov5_nano_trans_config
  73. elif trans_config == 'yolov5_tiny':
  74. cfg = yolov5_tiny_trans_config
  75. elif trans_config == 'yolov5_small':
  76. cfg = yolov5_small_trans_config
  77. elif trans_config == 'yolov5_medium':
  78. cfg = yolov5_medium_trans_config
  79. elif trans_config == 'yolov5_large':
  80. cfg = yolov5_large_trans_config
  81. elif trans_config == 'yolov5_huge':
  82. cfg = yolov5_huge_trans_config
  83. # YOLOX-style transform
  84. elif trans_config == 'yolox_nano':
  85. cfg = yolox_nano_trans_config
  86. elif trans_config == 'yolox_tiny':
  87. cfg = yolox_tiny_trans_config
  88. elif trans_config == 'yolox_small':
  89. cfg = yolox_small_trans_config
  90. elif trans_config == 'yolox_medium':
  91. cfg = yolox_medium_trans_config
  92. elif trans_config == 'yolox_large':
  93. cfg = yolox_large_trans_config
  94. elif trans_config == 'yolox_huge':
  95. cfg = yolox_huge_trans_config
  96. return cfg