yolov5和Fasterrcnn统一画P-R曲线

https://blog.csdn.net/qq_44929031/article/details/113355506

画图代码参考上面,但是导出pkl文件我来写一下,查了半天没有查到,原来很简单,不需要重新训练,只需要按照下面一步一步即可导出,然后画图即可!

Fasterrcnn

pkl文件在output文件夹下可以找到!

YOLO端

首先在YOLOV5端搜到metrics.py

添加 头文件:

import pickle

  1. 在函数plot_pr_curve中添加代码:

    #!!保存为pkl文件
    with open("你自己起个文件名.pkl",'wb') as f:
        pickle.dump({'rec':px,'prec':py,'ap':ap},f)

这样就导出了pkl格式的文件放在同一目录下,自己找一找在哪,找不到就搜索!

  1. 修改val.py中的训练权重为自己模型的权重存放位置,如下图红框所示:

  1. 运行python3  val.py无报错,得到pkl文件

  1. 按着链接代码修改位置画图即可

import _pickle as cPickle
import matplotlib.pyplot as plt

fr1= open('C:/Users/officer/Desktop/pkl/yolov4_fire_pr.pkl', 'rb')  # 这里open中第一个参数需要修改成自己生产的pkl文件
inf1 = cPickle.load(fr1)
fr1.close()

x1= inf1['rec']
y1= inf1['prec']



fr2= open('C:/Users/officer/Desktop/pkl/v3sppfire_pr.pkl', 'rb')  # 这里open中第一个参数需要修改成自己生产的pkl文件
inf2 = cPickle.load(fr2)
fr2.close()

x2= inf2['rec']
y2= inf2['prec']

fr3= open('C:/Users/officer/Desktop/pkl/v3fire_pr.pkl', 'rb')  # 这里open中第一个参数需要修改成自己生产的pkl文件
inf3 = cPickle.load(fr3)
fr3.close()

x3= inf3['rec']
y3= inf3['prec']

fr4= open('C:/Users/officer/Desktop/pkl/v2fire_pr.pkl', 'rb')  # 这里open中第一个参数需要修改成自己生产的pkl文件
inf4 = cPickle.load(fr4)
fr4.close()

x4= inf4['rec']
y4= inf4['prec']

fr5= open('C:/Users/officer/Desktop/pkl/oursfire_pr.pkl', 'rb')  # 这里open中第一个参数需要修改成自己生产的pkl文件
inf5 = cPickle.load(fr5)
fr5.close()

x5= inf5['rec']
y5= inf5['prec']

plt.figure()
plt.xlabel('recall')
plt.ylabel('precision')
plt.title('PR cruve')

plt.plot(x5, y5, color="red")
plt.plot(x1, y1, color="purple")
plt.plot(x2, y2, color="blue")
plt.plot(x3, y3, color="green")
plt.plot(x4, y4, color="orange")

plt.show()
  1. 效果如图:

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值