yolov7 _pickle.UnpicklingError: STACK_GLOBAL requires str 问题修复

问题现象

在启动训练时候报错了

 

 1 Model Summary: 415 layers, 37201950 parameters, 37201950 gradients, 105.1 GFLOPS
 2 
 3 Scaled weight_decay = 0.0005
 4 Optimizer groups: 95 .bias, 95 conv.weight, 98 other
 5 Traceback (most recent call last):
 6   File "train.py", line 610, in <module>
 7     train(hyp, opt, device, tb_writer)
 8   File "train.py", line 248, in train
 9     image_weights=opt.image_weights, quad=opt.quad, prefix=colorstr('train: '))
10   File "/home/yolo系列/yolov7/utils/datasets.py", line 78, in create_dataloader
11     prefix=prefix)
12   File "/home//yolo系列/yolov7/utils/datasets.py", line 392, in __init__
13     cache, exists = torch.load(cache_path), True  # load
14   File "/home/qfz/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/serialization.py", line 608, in load
15     return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
16   File "/home/qfz/anaconda3/envs/yolov7/lib/python3.7/site-packages/torch/serialization.py", line 777, in _legacy_load
17     magic_number = pickle_module.load(f, **pickle_load_args)
18 _pickle.UnpicklingError: STACK_GLOBAL requires str

 

问题分析

回想起是偷懒直接用yolov5训练过的数据集拷贝到yolov7下进行重新训练结果报错。

 

最终解决方法: 

经过波斯大佬的指点,把训练数据集下面的 labels.cache文件删除即可。

 

posted @ 2022-08-05 14:24  包子铺1234  阅读(2465)  评论(0编辑  收藏  举报