08/09 14:51:48 - mmengine - INFO - Collected 0 bboxes.
Traceback (most recent call last):
File "tools/analysis_tools/optimize_anchors.py", line 648, in
main()
File "tools/analysis_tools/optimize_anchors.py", line 628, in main
optimizer = YOLOV5KMeansAnchorOptimizer(
File "tools/analysis_tools/optimize_anchors.py", line 295, in init
super().init(**kwargs)
File "tools/analysis_tools/optimize_anchors.py", line 140, in init
ratios = img_shapes.max(1, keepdims=True) / np.array([input_shape])
File "/raid/xjtuuser/anaconda3/envs/mmyolo/lib/python3.8/site-packages/numpy/core/_methods.py", line 41, in _amax
return umr_maximum(a, axis, None, out, keepdims, initial, where)
numpy.AxisError: axis 1 is out of bounds for array of dimension 1
Prerequisite
🐞 Describe the bug
当采用COCO格式进行注释,并且数据集中所有图片的大小为1280*720时,运行以下命令:python tools/analysis_tools/optimize_anchors.py ./configs/ipstrash/yolov5_n.py --algorithm v5-k-means就会报错:
(mmyolo) xjtuuser@ubuntu:~/mmyolo$ python tools/analysis_tools/optimize_anchors.py ./configs/ipstrash/yolov5_n.py --algorithm v5-k-means --input-shape 1280 720 --prior-match-thr 4.0 --out-dir work_dirs/dataset_analysis_ipstrash loading annotations into memory... Done (t=0.09s) creating index... index created! 08/09 14:51:48 - mmengine - INFO - Collecting bboxes from annotation... [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>] 3200/3200, 8147.1 task/s, elapsed: 0s, ETA: 0ss
08/09 14:51:48 - mmengine - INFO - Collected 0 bboxes. Traceback (most recent call last): File "tools/analysis_tools/optimize_anchors.py", line 648, in
main()
File "tools/analysis_tools/optimize_anchors.py", line 628, in main
optimizer = YOLOV5KMeansAnchorOptimizer(
File "tools/analysis_tools/optimize_anchors.py", line 295, in init
super().init(**kwargs)
File "tools/analysis_tools/optimize_anchors.py", line 140, in init
ratios = img_shapes.max(1, keepdims=True) / np.array([input_shape])
File "/raid/xjtuuser/anaconda3/envs/mmyolo/lib/python3.8/site-packages/numpy/core/_methods.py", line 41, in _amax
return umr_maximum(a, axis, None, out, keepdims, initial, where)
numpy.AxisError: axis 1 is out of bounds for array of dimension 1
我们发现排除后发现就是图片尺寸大小问题,如果图片的尺寸大小为1280*1000,就不会出错。但是,为什么会造成这种原因?如何解决这种原因?
Environment
(mmyolo) xjtuuser@ubuntu:~/mmyolo$ python mmyolo/utils/collect_env.py sys.platform: linux Python: 3.8.17 (default, Jul 5 2023, 21:04:15) [GCC 11.2.0] CUDA available: True numpy_random_seed: 2147483648 GPU 0,1,2,3,4,5,6,7: Tesla V100-SXM2-16GB CUDA_HOME: None GCC: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0 PyTorch: 1.13.1+cu117 PyTorch compiling details: PyTorch built with:
TorchVision: 0.14.1+cu117 OpenCV: 4.8.0 MMEngine: 0.8.4 MMCV: 2.0.1 MMDetection: 3.0.0 MMYOLO: 0.6.0+
Additional information
No response