这里的 .pkl 文件应该是腌制的 .pt 文件。

我这里是Yolov5训练时,报错。

因为我之前训练过一次,没有报这个错误,但是训练失败了,再次打开的时候就报了这个错误。

解决方法:

删除在数据集的labels文件夹下生成的train.cache

RuntimeError: PytorchStreamReader failed locating file data.pkl: file not found

位置如下:

├── images
│   ├── train        # 训练集图片,这里我只列举几张示例
│   │   ├── P0000__1__0___0.png
│   │   ├── P0000__1__0___924.png
│   │   └── P0000__1__0___1848.png
│   └── val          # 验证集图片
│       ├── P0003__1__0___0.png
│       ├── P0003__1__123___0.png
│       └── P0004__1__0___440.png
└── labels               
    ├── train       # 训练集的标签文件
    │   ├── P0000__1__0___0.txt
    │   ├── P0000__1__0___924.txt
    │   └── P0000__1__0___1848.txt
    └── val         # 验证集的标签文件
    │   ├── P0003__1__0___0.txt
    │   ├── P0003__1__123___0.txt
    │   └── P0004__1__0___440.txt
    └── train.cache  # 删除这个文件 即可

重新运行train.py就不会报错了。

注意:不用删除weights/yolov5s.pt文件,我之前一直以为是yolov5s.pt损坏,就重新下载了,但是重新下载完也没用。只要删除train.cache就可以了。

发表回复