YOLOv5模型训练报错,如何解决?

YOLOv5模型训练报错

classify\train: model=yolov5s-cls.pt, data=imagenette160, epochs=10, batch_size=64, imgsz=224, nosave=False, cache=None, device=, workers=8, project=..\runs\train-cls, name=exp, exist_ok=False, pretrained=True, optimizer=Adam, lr0=0.001, decay=5e-05, label_smoothing=0.1, cutoff=None, dropout=None, verbose=False, seed=0, local_rank=-1
github: skipping check (not a git repository), for updates see https://github.com/ultralytics/yolov5
YOLOv5  2022-11-22 Python-3.11.5 torch-2.0.1+cpu CPU
TensorBoard: Start with 'tensorboard --logdir ..\runs\train-cls', view at http://localhost:6006/
Traceback (most recent call last):
  File "D:\venv\Lib\site-packages\IPython\core\interactiveshell.py", line 3526, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-2-3bd7b49a8733>", line 1, in <module>
    runfile('D:\\YOLOv5\\classify\\train.py', wdir='D:\\YOLOv5\\classify')
  File "D:\pyCharm\PyCharm Community Edition 2023.2.1\plugins\python-ce\helpers\pydev\_pydev_bundle\pydev_umd.py", line 197, in runfile
    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\pyCharm\PyCharm Community Edition 2023.2.1\plugins\python-ce\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile
    exec(compile(contents+"\n", file, 'exec'), glob, loc)
  File "D:\YOLOv5\classify\train.py", line 333, in <module>
    main(opt)
  File "D:\YOLOv5\classify\train.py", line 319, in main
    train(opt, device)
  File "D:\YOLOv5\classify\train.py", line 90, in train
    trainloader = create_classification_dataloader(path=data_dir / 'train',
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\YOLOv5\utils\dataloaders.py", line 1206, in create_classification_dataloader
    dataset = ClassificationDataset(root=path, imgsz=imgsz, augment=augment, cache=cache)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\YOLOv5\utils\dataloaders.py", line 1172, in __init__
    super().__init__(root=root)
  File "D:\venv\Lib\site-packages\torchvision\datasets\folder.py", line 309, in __init__
    super().__init__(
  File "D:\venv\Lib\site-packages\torchvision\datasets\folder.py", line 144, in __init__
    classes, class_to_idx = self.find_classes(self.root)
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\venv\Lib\site-packages\torchvision\datasets\folder.py", line 218, in find_classes
    return find_classes(directory)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\venv\Lib\site-packages\torchvision\datasets\folder.py", line 40, in find_classes
    classes = sorted(entry.name for entry in os.scandir(directory) if entry.is_dir())
                                             ^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'imagenette160\\train'

img

不知道这个到底是什么问题,而且为什么会找不到路径?

不要用相对路径,修改为绝对路径

【以下回答由 GPT 生成】

根据报错信息和截图来看,该报错信息显示了以下几个问题和可能的原因: 1. 报错信息显示找不到torch.utils.data.Dataset,可能是由于torch版本或者安装问题导致。 2. 报错信息中提醒了github上可能有更新,但是由于未初始化git仓库,无法进行更新。

解决步骤如下:

步骤1: 确认torch版本

  • 解决该问题的第一步是确保torch库已正确安装并且版本相匹配。可以通过以下代码来检查torch版本:
import torch
print(torch.__version__)

请提供运行结果以用于进一步排查。

步骤2: 确认torch.utils.data.Dataset是否可用

  • 检查torch库是否正确导入,同时确认torch.utils.data所需的子模块是否可用,包括torch.utils.data.Dataset。可以使用以下代码来检查:
import torch.utils.data
print(dir(torch.utils.data))

请提供运行结果以用于进一步排查。

步骤3: 更新YOLOv5模型代码

  • 按照报错信息中的提示,该代码从github获取更新。请确保YOLOv5模型的代码是最新的,并按照以下步骤执行:

  • 克隆YOLOv5模型仓库:git clone https://github.com/ultralytics/yolov5.git

  • 进入克隆的仓库目录:cd yolov5
  • 检查最新的提交:git pull

请提供执行上述步骤后的结果。

步骤4: 安装依赖包

  • 确认你的环境中已经安装了YOLOv5所需的所有依赖包。你可以使用以下命令来安装相关依赖包:
pip install -U -r requirements.txt

请提供执行上述命令后的结果。

步骤5: 重新运行训练代码

  • 在进行了以上步骤之后,尝试重新运行YOLOv5模型的训练代码,检查是否仍然会出现相同的报错。

如果你已经尝试了以上步骤,但问题仍然存在,请提供详细的执行结果、环境配置信息以及其他可能的报错信息,以便进一步排查该问题。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^