一、前言
本人需要打印FPS指标上网站查找,发现有人打印FPS指标都要收费,本人十分看不下去特地写着一篇
二、效果图
原本这里是没有FPS指标的,本人计算的FPS指标是关于预处理、推理、损失、后处理这几个总和加起来的时间,如果只想要推理时间的话只取元组中的第二个元素,即推理时间就可以了
三、修改代码
位置在"yolov10\ultralytics\engine\validator.py"第215行
代码如下:
#-----------------------------------------------------------------------------#
speedvalues_list = [round(x, 1) for x in list(self.speed.values())]
print(f'FPS: {round(1000 / sum(speedvalues_list), 2)} 帧/s')
# -----------------------------------------------------------------------------#
本人的推理模型代码
from ultralytics import YOLOv10
if __name__ == '__main__':
# Load a model
# model = YOLOv10("your.pt") # 加载自定义模型
model = YOLOv10("your.pt")
# 验证模型
metrics = model.val() # 无需参数,数据集和设置可记住
# metrics.box.map # map50-95
# print("mAP50-95::"+metrics.box.map)
# metrics.box.map50 # map50
# print("mAP50::" + metrics.box.map50)
# metrics.box.map75 # map75
# print("mAP75::" + metrics.box.map75)
# 打印总体的 mAP 值
print("mAP50:", metrics.box.map50) # 打印 mAP50
print("mAP75:", metrics.box.map75) # 打印 mAP75
print("mAP50-95:", metrics.box.map) # 打印 mAP50-95
# maps_per_category = metrics.box.maps # a list contains map50-95 of each category
# print("每个类别的mAP50-95: " + str(maps_per_category))