yolov5、pycharm、训练集

Traceback (most recent call last):
File "D:\pycharm\traffic\yolov5\train.py", line 642, in
main(opt)
File "D:\pycharm\traffic\yolov5\train.py", line 531, in main
train(opt.hyp, opt, device, callbacks)
File "D:\pycharm\traffic\yolov5\train.py", line 124, in train
ckpt = torch.load(weights, map_location='cpu') # load checkpoint to CPU to avoid CUDA memory leak
File "D:\Python\lib\site-packages\torch\serialization.py", line 815, in load
return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
File "D:\Python\lib\site-packages\torch\serialization.py", line 1033, in _legacy_load
magic_number = pickle_module.load(f, **pickle_load_args)
EOFError: Ran out of input
利用yolov5进行训练时,一直出现上面问题,如果有必要,我可以发代码

这个错误通常表示在尝试加载权重(checkpoint)文件时出现了意外关闭或截断文件的情况 需要贴代码

img

img

img

img


我只在这几个文件里修改过

请确保提供的权重文件路径是正确的,并且文件存在。你可以检查一下weights变量的值是否正确,并确认文件路径是否指向正确的权重文件。

根据你提供的错误信息,出现了EOFError: Ran out of input的错误。这个错误通常表示在加载模型权重文件时发生了问题。

可能的原因和解决方法如下:

  1. 权重文件损坏:检查你使用的权重文件是否完整且没有损坏。尝试重新下载或使用其他可靠的权重文件。

  2. 权重文件路径错误:确保你提供的权重文件路径是正确的,并且可以在指定位置找到文件。检查文件路径中是否有任何拼写错误或者文件名大小写不匹配的情况。

  3. 权重文件版本不兼容:如果你使用的yolov5代码版本与权重文件版本不兼容,可能会导致加载错误。确保使用相同版本的yolov5代码和权重文件,或者查看yolov5的文档以了解版本兼容性问题。

  4. 内存不足:在加载权重文件时,如果内存不足,也可能导致加载错误。尝试释放一些内存,并确保你的系统具有足够的内存来加载权重文件。

这是一个EOFError(文件结束错误),表示训练时无法读取完整的模型权重文件,针对权重文件版本、损坏、路径、内存等几个方面排查下

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

    很抱歉,我并没有提交过使用yolov5进行训练时出现的问题,所以无法提供更多的背景信息和代码。请提供更多细节以便更好地解决您的问题。


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

YOLOV5训练自定义数据集(PyCharm超详细版)
https://blog.csdn.net/weixin_44901043/article/details/121027769

遇到这种问题先把训练数据集中的 labels.cache 文件删除, 再去尝试训练。因为 labels.cache可能是训练历史文件,删除重新训练会自动生成,不删除可能因为错误数据导致加载不了数据集

检查一下weights文件路径