YOLOv8的FPS计算代码

本文提供了一个Python代码片段,展示了如何在YOLOv8模型上进行FPS计算,包括如何将模型加载到指定GPU,以及如何通过预热和检测一定数量的图像来获取更稳定的推理速度。
摘要由CSDN通过智能技术生成

YOLOv8的FPS计算代码

目前是默认加载到0号GPU中,如果你想加载到指定GPU中,请手动在加载模型的时候设置
device=编号

代码

import os

from ultralytics import YOLO


def load_model(model_path):
    model = YOLO(model_path)
    print('查看当前模型:', model)
    return model


if __name__ == '__main__':
    imgs_path = 'E:\\data\\dataset\\images\\val'  # TODO 验证集目录   要求图像数量 >= 200
    model = load_model('weights/shwd/yuan.pt' )  # TODO 模型路径
    re_num = 10  # TODO 预热图像张数
    detect_count = 100  # TODO 推理图像张数
    images = os.listdir(imgs_path)
    count = 0
    times = []
    for item in images:
        if count < re_num:
            model(imgs_path + os.sep + item)
        elif count < re_num + detect_count:
            results = model(imgs_path + os.sep + item)
            times.append(results[0].speed)
        else:
            break
        count += 1
    # main(opt)
    time_sum = 0.
    for i in times:
        time_sum += sum(i.values())
    one_img_time = time_sum / detect_count
    FPS = 1000 / one_img_time
    print(f'FPS: {FPS}')

代码说明

以上的代码中,需要自己改的参数有四个

    imgs_path = 'E:\\data\\dataset\\images\\val'  # TODO 验证集目录   要求图像数量 >= 200
    model = load_model('weights/shwd/yuan.pt' )  # TODO 模型路径
    re_num = 10  # TODO 预热图像张数
    detect_count = 100  # TODO 推理图像张数

imgs_path是给数据集的测试集的路径,下面应该有大于300张图像
model 对应的load_model需要填入模型的路径
re_num 是模型预热,随便写个20就行了,意思一下就可以了
detect_count 是测试100张图像取平均值,因为一张的话偶然性太大了

王清江唷_全网同名希望和你成为朋友,我的全网昵称均为王清江唷

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值