YOLOv8:压缩每个纪元文件

问题描述 投票:0回答:1

训练 Yolo 模型时如下所示:

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8s.pt')  

results = model.train(data='coco128.yaml', 
epochs=100, imgsz=640, save_period=1)

save_period 选项将保存每个纪元。当找到最佳纪元时,文件将保存为 best.pt。

best.pt 的文件大小约为 27MB,每个 epoch 约为 120MB。是否可以在每个时期的训练结束时使用应用于最佳时期的压缩(即使这是在训练后完成的)。

machine-learning deep-learning compression yolo yolov8
1个回答
0
投票

您所看到的与压缩无关。在训练期间保存检查点时,YOLO 训练脚本会保存(除了其他元数据之外)当前模型的权重、模型 EMA 的权重以及优化器参数。从检查点继续训练需要这些,但仅保留 EMA 用于推理。

要删除优化器和当前模型,您可以使用 ultralytics 的实用函数

strip_optimizer
,该函数从给定路径中找到的状态字典中删除不必要的权重,并将较小的文件保存在同一位置。

from ultralytics.utils.torch_utils import strip_optimizer

path_to_checkpoint = "best.pt"
strip_optimizer(path_to_checkpoint)
© www.soinside.com 2019 - 2024. All rights reserved.