yolo权重文件.pt格式转为TensorFlow Lite权重.tflite格式
要将yolo部署到移动端,需要将pt文件转换为TensorFlow Lite模型文件(安卓 .tflite,ios .mlmodel)。转换需要在linux环境中执行(必须下载ai_edge_litert)。
1)安装ultralytics
pip install ultralytics
2)安装 ai_edge_litert
下载whl文件手动安装 ,选择对应python版本,地址:https://pypi.org/project/ai-edge-litert/1.2.0/#files
下载后 pip install <文件地址>

3)转换
执行python
from ultralytics import YOLO
# 加载一个模型,路径为 YOLO 模型的 .pt 文件
model = YOLO(r"yolo11_best.pt")
# 导出模型,设置多种参数
model.export(
format="tflite",
int8=True #量化为int8
)
成功后显示:

结果在 pt文件名__saved_model 文件夹中,以.tflite结尾(多种格式,int8,float16,foat32,精度越高越准确):
best_full_integer_quant:所有的权重和激活都被量化为整数(通常是 int8),这使得模型在推理时的计算更快,并且所需的内存更少。
best_integer_quant:与全量化模型相似,这种格式通常意味着权重已经被量化,而激活可能仍然是浮点数。这种格式在推理时仍然能保持较高的性能,并且在某些情况下,可能会在精度上优于完全量化模型。
best_int8:与 "full integer quant" 类似,通常指的是整个模型都已量化为 8 位整数。它的优点是占用的模型大小小,适合资源受限的设备。
best_float16:虽然模型大小比 float32 小,但它仍然能够保持较好的精度。适合于具有更高计算能力的设备,如某些手机或嵌入式系统,能够支持更高效的浮点计算。
best_float32:这种格式通常保留了模型的原始精度,是最常见的模型格式之一。但它的模型大小最大,推理速度可能也相对较慢,尤其是在资源受限的设备上。
更多推荐

所有评论(0)