评估修改后的YOLOv8模型的参数量和速度

 YOLOv8公布了自己每个模型的速度和参数量

那么如果我们自己对YOLOv8做了一些修改,又怎么样自己写代码统计一下修改后的模型的参数量和速度呢?

其实评估这些东西,大多数情况下不需要我们从头自己写一个函数来评估

一般来说,只要是作者公布的这些分数。作者都会把这些分数的实现代码放在它的代码中。你所需要的仅仅是找到这段代码所在的位置,然后直接调用作者的代码,计算即可。

上述计算要求的diam被放在了了下面这个位置(ultralytircs8.0.40这个版本是这样,其他版本有可能会不同)

\ultralytics\yolo\utils\torch_utils.py line 165

计算参数量的函数

def model_info(model, verbose=False, imgsz=640):
    # Model information. imgsz may be int or list, i.e. imgsz=640 or imgsz=[640, 320]
    n_p = get_num_params(model)
    n_g = get_num_gradients(model)  # number gradients
    if verbose:
        print(f"{'layer':>5} {'name':>40} {'gradient':>9} {'parameters':>12} {'shape':>20
### 如何计算YOLOv8模型的GFLOPSFPS #### GFLOPS 的定义与计算方法 GFLOPS(Giga Floating Point Operations Per Second),即每秒十亿次浮点运算,用来衡量计算机执行浮点运算的能力。对于神经网络而言,GFLOPs 表示完成一次前向传播所需的理论浮点操作数量[^1]。 为了获取 YOLOv8 模型的具体 GFLOPs 值,可以采用如下 Python 代码片段来实现: ```python from thop import profile import torch from models.experimental import attempt_load device = 'cuda' if torch.cuda.is_available() else 'cpu' model = attempt_load('yolov8.pt', map_location=device) # 加载预训练权重文件 input_tensor = torch.randn(1, 3, 640, 640).to(device) flops, params = profile(model, inputs=(input_tensor,)) gflops = flops / (1e9) print(f"Model has {params/1e6:.2f}M parameters and requires approximately {gflops:.2f} GFLOPs.") ``` 这段代码通过 `thop` 库来进行模型复杂度分析,能够输出模型参数数目以及所需 FLOPs 数量,并将其转换成易于理解的形式显示出来。 #### FPS 的定义与测量方式 FPS(Frames per second)是指一秒钟内能处理多少张图片,在视频流检测场景下尤为重要。它反映了算法实时性的优劣程度[^2]。 针对 YOLOv8 这样的目标检测框架来说,可以通过下面的方式统计平均 FPS: ```python import time import cv2 cap = cv2.VideoCapture(video_path) frame_times = [] while cap.isOpened(): ret, frame = cap.read() start_time = time.time() results = model(frame) # 执行推理 end_time = time.time() fps = 1/(end_time-start_time) frame_times.append(fps) average_fps = sum(frame_times)/len(frame_times) print(f"The average FPS is about {average_fps:.2f}.") ``` 此脚本会读取一段视频并逐帧调用模型进行预测,同时记录每次推断所花费的时间,最后求得整个过程中的平均 FPS。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

德彪稳坐倒骑驴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值