COCO评估输出指定某类AP或者输出每个类别AP结果_coco api打印出所有类别的ap值

“”"
COCO-Style Evaluations

“”"

import json
import os

import argparse
from pycocotools.coco import COCO
from pycocotools.cocoeval import COCOeval

def eval(coco_gt, image_ids, pred_json_path):
# load results in COCO evaluation tool
coco_pred = coco_gt.loadRes(pred_json_path)

# run COCO evaluation
print('BBox')
coco_eval = COCOeval(coco_gt, coco_pred, 'bbox')
coco_eval.params.imgIds = image_ids
coco_eval.evaluate()
coco_eval.accumulate()
coco_eval.summarize()

if name == ‘main’:
ap = argparse.ArgumentParser()
ap.add_argument(‘–gt-json’, type=str, default=‘instances.json’, help=‘coco val2017 annotations json files’)
ap.add_argument(‘–pred-json’, type=str, default=‘coco_results.json’, help=‘pred coco val2017 annotations json files’)
args = ap.parse_args()
print(args)

pred_json_path = args.pred_json

MAX_IMAGES = 1000
coco_gt = COCO(args.gt_json)
image_ids = coco_gt.getImgIds()[:MAX_IMAGES]

eval(coco_gt, image_ids, pred_json_path)

以上代码评估后的输出


![](https://img-blog.csdnimg.cn/069c45fbc3154605a46c6d700d9f6a30.png)


 


修改后的代码,可以指定输出某类AP值,只修改eval函数:



def eval(coco_gt, image_ids, pred_json_path):
# load results in COCO evaluation tool
coco_pred = coco_gt.loadRes(pred_json_path)

# run COCO evaluation
print('BBox')
coco_eval = COCOeval(coco_gt, coco_pred, 'bbox')
coco_eval.params.imgIds = image_ids
coco_eval.params.catIds = [2] # 你可以根据需要增减类别
coco_eval.evaluate()
coco_eval.accumulate()
coco_eval.summarize()

修改后输出,比如只输出第2类


![](https://img-blog.csdnimg.cn/9f6af8b3f0ce4983b7fcf6b251c415ea.png)


 


二 输出每个类别AP结果(需要修改pycocotools下的coco.py和cocoeval.py)


首先修改coco.py的类COCO的初始化为,在84行下添加代码



def __init__(self, annotation_file=None):
    """
    Constructor of Microsoft COCO helper class for reading and visualizing annotations.
    :param annotation_file (str): location of annotation file
    :param image_folder (str): location to the folder that hosts images.
    :return:
    """
    # load dataset

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)
img

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

roid移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

  • 11
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Yolact是一种基于Mask-RCNN框架的目标检测模型,具有实时分割的能力。COCO评价指标是用来衡量目标检测和分割模型性能的指标之一,常用于比较和评估不同模型的表现。 在Yolact代码中,计算COCO评价指标的主要步骤如下: 1. 首先,需要加载训练好的Yolact模型并设置好相应的参数,包括类别数量、阈等。 2. 接下来,需要准备COCO数据集的标注文件和预测结果文件。标注文件包含每个图像中的目标类别和边界框信息,预测结果文件则包括模型对图像的预测结果,包括类别、边界框和分割掩码等。 3. 使用COCOAPI工具包中的函数,可以将标注文件和预测结果文件转换成COCO数据结构。这样就可以方便地使用COCO评价指标进行计算。 4. 在计算评价指标之前,通常会对预测结果进行后处理,以去除一些低置信度或重叠度较大的检测框。常见的后处理方法包括非极大抑制(NMS)和置信度阈等。 5. 最后,使用COCOAPI提供的函数,可以根据标注文件和预测结果文件计算一系列COCO评价指标,包括检测精度(AP)、平均精度(mAP)和平均交并比(mIoU)等。 总之,Yolact代码计算COCO评价指标的过程包括准备数据、后处理和调用COCOAPI函数进行计算。通过评价指标的计算,可以了解Yolact模型在目标检测和分割任务上的表现,并与其他模型进行比较和评估

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值