emmmm就是这种连最基本的pickle.load都做不到的亚子
失败的尝试:pickle.load()读取文件错误_u012813109的博客-CSDN博客
(报错都不一样当然解决不了)
后来简单地测试了一下
获取pkl中数据_把数据写入pkl文件,读取pkl文件_weixin_39947812的博客-CSDN博客
基本成功
确定了pickle.load()是没有问题的,有问题的是训练得到的pkl文件本身
推测此为正确解释:(20200720已解决)_pickle.UnpicklingError: A load persistent id instruction was encountered,_漫步量化-CSDN博客
问题出在pkl文件格式上,pickle.load()和mmcv.load()都会报错,总之就是pkl格式的文件load不出来
因为目的是用mmdetection2训练出来的结果画pr曲线,所以暂且跳过去寻找别的代码,但问题最终都出在这里
这两个一个是mmd一个是mmd2,都报了一样的错,只不过都是voc类型数据集
所以解决数据集格式问题终究是跳不过去的,找了三个代码问题出在一个地方,明早好好看眼这个:如何画PR curve (PR曲线)基于COCO格式数据集 在maskrcnn_benchmark中 - 知乎
实在不行就只能从代码本身查问题,再不济就自己写
1.30
卡了五天竟然是因为一句话没有认真看
【mmdetection绘制PR评估曲线】基于COCO API_Watson的博客-CSDN博客
其中,result file中的latest.pkl文件是将训练生成的latest.pth文件test.py处理过的,即:python ./tools/test.py configs/faster_rcnn/faster_rcnn_r50_fpn_1x_coco.py work_dirs/faster_rcnn_r50_fpn_1x_coco/latest.pth --out results.pkl
这样生成的latest.pkl才是用到的文件