_pickle.UnpicklingError: A load persistent id instruction was encountered, but no persistent_load...

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曲线,所以暂且跳过去寻找别的代码,但问题最终都出在这里

失败尝试:GitHub - Stephenfang51/mmdetection_visualize: visualize training result for mmdetection 訓練文件可視化, PR curve绘制, F1-score计算

GitHub - xiaoyu1233/mmdetection2.0_visualize: It is a simple tool based on mmdetection2.0. The tool is used for visualize test result produced by mmdetection 2.0, including drawing PR curves and loss curves.(PR曲线绘制,loss曲线绘制)

这两个一个是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才是用到的文件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容