FileNotFoundError: [WinError 3] 系统找不到指定的路径。: '..\\..\\datasets\\mnist\\val'

使用pycharm运行yolov5做目标检测时,运行val.py文件,出现下面这个错误,是什么问题呢,怎么解决
FileNotFoundError: [WinError 3] 系统找不到指定的路径。: '..\..\datasets\mnist\val'

你的程序有读这个文件吧?检查程序和这个文件路径是否存在。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    解决YOLOv5在PyCharm中对象检测时出现的路径错误

    问题背景

    您在使用YOLOv5进行对象检测时,使用val.py文件在PyCharm中出现以下错误信息:

    "FileNotFoundError: [WinError 3] The system cannot find the path specified: '..\..\datasets\mnist\val'"

    问题分析

    根据错误信息,我们推测可能是文件路径错误导致的。val.py文件无法找到指定路径下的文件。

    解决方案

    1. 检查文件路径

    我们首先需要确认参数'--data'中指定的数据集路径是否正确。比如,'--data datasets/mnist'需要指定到mnist文件夹本身,而不是mnist文件夹下的某个子文件夹。

    python val.py --weights weights/best.pt --data datasets/mnist --img 640 --conf 0.25 --iou 0.45
    

    2. 修改数据集路径

    如果您的数据集路径不正确,您需要使用正确的路径,或者您可以修改变量data_yaml中 self.val 来指定数据集的路径。例如,在data.yaml中指定数据集路径。

    train: ../mnist/train/images
    val: ../mnist/val/images
    

    3. 检查数据集是否存在

    如果您确认数据集路径正确,那么您需要确保您的数据集存在且可用。我们可以通过检查datasets/mnist/val文件夹内是否有图像文件来确保数据集存在。

    datasets/mnist/val/
    

    4. 绝对路径方式

    如果上述解决方式都不行,您可以尝试使用绝对路径,而不是相对路径。确保在使用绝对路径时,路径不包含空格和其他特殊字符。例如,在val.py中以绝对路径指定数据集路径。

    import os
    
    os.chdir(os.path.dirname(os.path.abspath(__file__)))
    
    data = 'D:/datasets/mnist'
    

    5. 加载数据集

    如果您的数据集的文件路径无误,您还可以尝试使用如下代码手动加载数据集,确保数据集可用,并且您的系统可以正常访问它。

    from torch.utils.data import DataLoader
    from torchvision.datasets import MNIST
    
    mnist_val = MNIST('../mnist/val', train=False, download=True) # Dataset
    dataloader_val = DataLoader(mnist_val, batch_size=64, shuffle=True, num_workers=4, pin_memory=True) # Dataloader
    

    总结

    这些方案中的任一个都可以解决YOLOv5在PyCharm中出现的路径错误,您可以尝试这些解决方案,同时每个解决方案都需要根据您的实际需求调整。


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