ultralytics / yolov5

YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
https://docs.ultralytics.com
GNU Affero General Public License v3.0
50.39k stars 16.26k forks source link

meet error when I fetch the new repo. #5344

Closed SpongeBab closed 2 years ago

SpongeBab commented 2 years ago

@glenn-jocher ,hi, today, when I update the yolov5 repo.I meet this error. I runed the val.py. I'm sure that I didn't make any change on the dataset or the model. I tried solve it but failed.Maybe it is because the multithread programming. can you have a look?

val: Scanning '..\Dataset\desk_3_400\valid' images and labels...50 found, 0 missing, 0 empty, 0 corrupted: 100%|██████████| 50/50 [00:08<00:00,  5.85it/s]
val: WARNING: Cache directory ..\Dataset\desk_3_400 is not writeable: [WinError 183] 当文件已存在时,无法创建该文件。: '..\\Dataset\\desk_3_400\\valid.cache.npy' -> '..\\Dataset\\desk_3_400\\valid.cache'
               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95:  14%|█▍        | 1/7 [00:03<00:21,  3.50s/it]Exception in thread Thread-6:
Traceback (most recent call last):
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 954, in _bootstrap_inner
    self.run()
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "E:\yolov5\utils\plots.py", line 205, in plot_images
    cls = names[cls] if names else cls
KeyError: 1
               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95:  29%|██▊       | 2/7 [00:05<00:13,  2.64s/it]Exception in thread Thread-8:
Traceback (most recent call last):
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 954, in _bootstrap_inner
    self.run()
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "E:\yolov5\utils\plots.py", line 205, in plot_images
    cls = names[cls] if names else cls
KeyError: 1
               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95:  43%|████▎     | 3/7 [00:07<00:09,  2.28s/it]Exception in thread Thread-10:
Traceback (most recent call last):
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 954, in _bootstrap_inner
    self.run()
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "E:\yolov5\utils\plots.py", line 205, in plot_images
    cls = names[cls] if names else cls
KeyError: 1
               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95: 100%|██████████| 7/7 [00:10<00:00,  1.47s/it]
                 all         50          0          0          0          0          0
Speed: 1.5ms pre-process, 23.8ms inference, 18.9ms NMS per image at shape (8, 3, 640, 640)
Results saved to runs\val\desk-3-400-yolov5s6-b32-64011

Edited: I tried bs=1,2,8...,the result is all the same.

SpongeBab commented 2 years ago

Same error in yolov3, but only occur when I set 'batch-size' = 32. I tried bs =1,2,8,16.It worked well. Run the test.py in the yolov3. this is my option:

    opt = parser.parse_args(['--weights', 'runs/train/desk2-1000-yolov3-b1-640/weights/best.pt',
                             '--data', 'data/desk2-1000.yaml',
                             '--batch-size', '32',
                             '--img-size', '640',
                             '--conf-thres', '0.001',
                             '--iou-thres', '0.65',
                             '--name', 'desk2-1000-yolov3-b32-640',
                             '--save-metrics'])

the whole result:


val: Scanning '..\Dataset\desk2-1000\valid.cache' images and labels... 200 found, 0 missing, 0 empty, 0 corrupted: 100%|██████████| 200/200 [00:00<?, ?it/s]
               Class      Images      Labels           P           R      mAP@.5  mAP@.5:.95:  14%|█▍        | 1/7 [00:03<00:23,  3.97s/it]Exception in thread Thread-3:
Traceback (most recent call last):
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 954, in _bootstrap_inner
    self.run()
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "E:\yolov3\utils\plots.py", line 162, in plot_images
    img = cv2.resize(img, (w, h))
cv2.error: OpenCV(4.5.2) C:\Users\runneradmin\AppData\Local\Temp\pip-req-build-m8us58q4\opencv\modules\core\src\alloc.cpp:73: error: (-4:Insufficient memory) Failed to allocate 2810880 bytes in function 'cv::OutOfMemoryError'

Exception in thread Thread-4:
Traceback (most recent call last):
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 954, in _bootstrap_inner
    self.run()
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "E:\yolov3\utils\plots.py", line 132, in plot_images
    images = images.cpu().float().numpy()
RuntimeError: [enforce fail at ..\c10\core\CPUAllocator.cpp:75] data. DefaultCPUAllocator: not enough memory: you tried to allocate 99090432 bytes. Buy new RAM!
               Class      Images      Labels           P           R      mAP@.5  mAP@.5:.95:  29%|██▊       | 2/7 [00:06<00:16,  3.34s/it]Exception in thread Thread-6:
Traceback (most recent call last):
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 954, in _bootstrap_inner
    self.run()
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "E:\yolov3\utils\plots.py", line 132, in plot_images
    images = images.cpu().float().numpy()
RuntimeError: [enforce fail at ..\c10\core\CPUAllocator.cpp:75] data. DefaultCPUAllocator: not enough memory: you tried to allocate 99090432 bytes. Buy new RAM!
               Class      Images      Labels           P           R      mAP@.5  mAP@.5:.95:  43%|████▎     | 3/7 [00:09<00:11,  2.92s/it]Exception in thread Thread-8:
Traceback (most recent call last):
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 954, in _bootstrap_inner
    self.run()
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "E:\yolov3\utils\plots.py", line 132, in plot_images
    images = images.cpu().float().numpy()
RuntimeError: [enforce fail at ..\c10\core\CPUAllocator.cpp:75] data. DefaultCPUAllocator: not enough memory: you tried to allocate 99090432 bytes. Buy new RAM!
               Class      Images      Labels           P           R      mAP@.5  mAP@.5:.95: 100%|██████████| 7/7 [00:16<00:00,  2.35s/it]
                 all         200        5971       0.941       0.902       0.931        0.63
Speed: 16.5/3.5/19.9 ms inference/NMS/total per 640x640 image at batch-size 32
Results saved to runs\test\desk2-1000-yolov3-b32-6403
```****
glenn-jocher commented 2 years ago

@SpongeBab your error message clearly states Insufficient memory

glenn-jocher commented 2 years ago

error: (-4:Insufficient memory) Failed to allocate 2810880 bytes in function 'cv::OutOfMemoryError'

SpongeBab commented 2 years ago

@glenn-jocher ,yeah, I saw that.But I have not encountered this problem before. And yolov5 also has this problem. I know that yolov3 is due to insufficient memory. I set bs to be less than 32 and no error is reported. But in yolov5, this problem occurs even if bs=1.

glenn-jocher commented 2 years ago

@SpongeBab 👋 hi, thanks for letting us know about this possible problem with YOLOv5 🚀. We've created a few short guidelines below to help users provide what we need in order to get started investigating a possible problem.

How to create a Minimal, Reproducible Example

When asking a question, people will be better able to provide help if you provide code that they can easily understand and use to reproduce the problem. This is referred to by community members as creating a minimum reproducible example. Your code that reproduces the problem should be:

In addition to the above requirements, for Ultralytics to provide assistance your code should be:

If you believe your problem meets all of the above criteria, please close this issue and raise a new one using the 🐛 Bug Report template and providing a minimum reproducible example to help us better understand and diagnose your problem.

Thank you! 😃

SpongeBab commented 2 years ago

ok~ This is my custom dataset.I can get the correct val.jpg but can not get the map.The map0.5,0.95 are all zero. image image

The screenshot: image

🐛 Bug

When I run the val.py. I cann't get the map.

To Reproduce (REQUIRED)

Input: run the yolov5 val.py, and this is my option:

    opt = parser.parse_args(['--data', 'data/desk-3-400.yaml',
                             '--weights', 'runs/train/desk-3-400-s6-640-300/weights/best.pt',
                             '--batch-size', '1',
                             '--img-size', '640',
                             '--conf-thres', '0.001',
                             '--iou-thres', '0.65',
                             '--name', 'desk-3-400-yolov5s6-b1-640'])

Output:

The error:

val: data=data/desk-3-400.yaml, weights=['runs/train/desk-3-400-s6-640-300/weights/best.pt'], batch_size=1, imgsz=640, conf_thres=0.001, iou_thres=0.65, task=val, device=, single_cls=False, augment=False, verbose=False, save_txt=False, save_metrics=False, save_hybrid=False, save_conf=False, save_json=False, project=runs\val, name=desk-3-400-yolov5s6-b1-640, exist_ok=False, half=False
YOLOv5  v6.0-35-ga4fece8 torch 1.8.0+cu111 CUDA:0 (GeForce RTX 2070, 8192.0MB)

Fusing layers... 
Model Summary: 291 layers, 12349288 parameters, 0 gradients
val: Scanning '..\Dataset\desk_3_400\valid' images and labels...:   0%|          | 0/50 [00:00<?, ?it/s]Traceback (most recent call last):
  File "<string>", line 1, in <module>
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])    _fixup_main_from_path(data['init_main_from_path'])
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path

  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
    main_content = runpy.run_path(main_path,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code
    return _run_module_code(code, init_globals, run_name,
    _run_code(code, mod_globals, init_globals,  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code

  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "E:\yolov5\val.py", line 17, in <module>
    _run_code(code, mod_globals, init_globals,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    exec(code, run_globals)
  File "E:\yolov5\val.py", line 17, in <module>
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "E:\yolov5\val.py", line 17, in <module>
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "E:\yolov5\val.py", line 17, in <module>
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])    _fixup_main_from_path(data['init_main_from_path'])

  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
      File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
main_content = runpy.run_path(main_path,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code
        _run_code(code, mod_globals, init_globals,return _run_module_code(code, init_globals, run_name,

  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code
        exec(code, run_globals)_run_code(code, mod_globals, init_globals,

  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
  File "E:\yolov5\val.py", line 17, in <module>
    exec(code, run_globals)
  File "E:\yolov5\val.py", line 17, in <module>
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\cudnn_adv_infer64_8.dll" or one of its dependencies.
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\cudnn_cnn_infer64_8.dll" or one of its dependencies.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "E:\yolov5\val.py", line 17, in <module>
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "E:\yolov5\val.py", line 17, in <module>
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "E:\yolov5\val.py", line 17, in <module>
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "E:\yolov5\val.py", line 17, in <module>
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "E:\yolov5\val.py", line 17, in <module>
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 116, in spawn_main
    exitcode = _main(fd, parent_sentinel)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 125, in _main
    prepare(preparation_data)
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 236, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "D:\Miniconda\envs\yolov5\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 268, in run_path
    return _run_module_code(code, init_globals, run_name,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 97, in _run_module_code
    _run_code(code, mod_globals, init_globals,
  File "D:\Miniconda\envs\yolov5\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "E:\yolov5\val.py", line 17, in <module>
    import torch
  File "D:\Miniconda\envs\yolov5\lib\site-packages\torch\__init__.py", line 123, in <module>
    raise err
OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "D:\Miniconda\envs\yolov5\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.
val: Scanning '..\Dataset\desk_3_400\valid' images and labels...50 found, 0 missing, 0 empty, 0 corrupted: 100%|██████████| 50/50 [00:10<00:00,  4.83it/s]
val: WARNING: Cache directory ..\Dataset\desk_3_400 is not writeable: [WinError 183] 当文件已存在时,无法创建该文件。: '..\\Dataset\\desk_3_400\\valid.cache.npy' -> '..\\Dataset\\desk_3_400\\valid.cache'
               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95:   2%|▏         | 1/50 [00:00<00:23,  2.09it/s]Exception in thread Thread-5:
Traceback (most recent call last):
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 954, in _bootstrap_inner
    self.run()
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "E:\yolov5\utils\plots.py", line 205, in plot_images
    cls = names[cls] if names else cls
KeyError: 1
               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95:   4%|▍         | 2/50 [00:00<00:19,  2.44it/s]Exception in thread Thread-7:
Traceback (most recent call last):
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 954, in _bootstrap_inner
    self.run()
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "E:\yolov5\utils\plots.py", line 205, in plot_images
    cls = names[cls] if names else cls
KeyError: 1
               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95:   6%|▌         | 3/50 [00:01<00:18,  2.52it/s]Exception in thread Thread-9:
Traceback (most recent call last):
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 954, in _bootstrap_inner
    self.run()
  File "D:\Miniconda\envs\yolov5\lib\threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "E:\yolov5\utils\plots.py", line 205, in plot_images
    cls = names[cls] if names else cls
KeyError: 1
               Class     Images     Labels          P          R     mAP@.5 mAP@.5:.95: 100%|██████████| 50/50 [00:07<00:00,  6.52it/s]
                 all         50          0          0          0          0          0
Speed: 0.7ms pre-process, 63.4ms inference, 4.9ms NMS per image at shape (1, 3, 640, 640)
Results saved to runs\val\desk-3-400-yolov5s6-b1-640

Process finished with exit code 0

Expected behavior

Get the correct map.

Environment

Additional context

I have never encountered this problem before, and all of this happened after I updated the repo.

glenn-jocher commented 2 years ago

@SpongeBab it appears you may have environment problems. Please ensure you meet all dependency requirements if you are attempting to run YOLOv5 locally. If in doubt, create a new virtual Python 3.8 environment, clone the latest repo (code changes daily), and pip install -r requirements.txt again. We also highly recommend using one of our verified environments below.

Requirements

Python>=3.6.0 with all requirements.txt installed including PyTorch>=1.7. To get started:

$ git clone https://github.com/ultralytics/yolov5
$ cd yolov5
$ pip install -r requirements.txt

Environments

YOLOv5 may be run in any of the following up-to-date verified environments (with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled):

Status

CI CPU testing

If this badge is green, all YOLOv5 GitHub Actions Continuous Integration (CI) tests are currently passing. CI tests verify correct operation of YOLOv5 training (train.py), validation (val.py), inference (detect.py) and export (export.py) on MacOS, Windows, and Ubuntu every 24 hours and on every commit.

github-actions[bot] commented 2 years ago

👋 Hello, this issue has been automatically marked as stale because it has not had recent activity. Please note it will be closed if no further activity occurs.

Access additional YOLOv5 🚀 resources:

Access additional Ultralytics ⚡ resources:

Feel free to inform us of any other issues you discover or feature requests that come to mind in the future. Pull Requests (PRs) are also always welcomed!

Thank you for your contributions to YOLOv5 🚀 and Vision AI ⭐!