__init__.py 3.2 KB

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