__init__.py 2.9 KB

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