You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VSCode中将YOLOv8s的best.pt模型转换为TensorFlow Lite?

从YOLOv8 PyTorch模型(.pt)转换为TensorFlow Lite(.tflite)的可行方案

1. 环境准备

先在VSCode的Python环境中安装必要依赖:

pip install ultralytics tensorflow torch
  • ultralytics是YOLOv8官方库,自带多格式模型转换工具
  • tensorflow用于处理TFLite模型的转换与验证
  • torch负责加载PyTorch格式的.pt模型

2. 模型转换步骤

方法一:用Ultralytics工具直接转换(最简便)

Ultralytics支持一键将YOLOv8的.pt模型转成TFLite格式:

  1. 在VSCode中新建Python脚本(如convert.py),写入代码:
from ultralytics import YOLO

# 加载本地的best.pt模型
model = YOLO('best.pt')

# 导出为TFLite格式,文件会保存在当前目录
model.export(format='tflite')
  1. 运行脚本:
python convert.py

执行完成后,当前目录会生成best.tflite文件。

方法二:先转SavedModel再转TFLite(支持自定义调整)

如果需要对模型做修改(比如冻结层、调整输入尺寸),可以分两步转换:

  1. 先将.pt模型导出为TensorFlow SavedModel:
from ultralytics import YOLO

model = YOLO('best.pt')
# 导出SavedModel到指定目录
model.export(format='saved_model', save_dir='tf_saved_model')
  1. 用TensorFlow将SavedModel转为TFLite(可添加量化优化):
import tensorflow as tf

# 加载SavedModel
converter = tf.lite.TFLiteConverter.from_saved_model('tf_saved_model')
# 可选:启用动态量化,减小模型体积、加快推理速度
converter.optimizations = [tf.lite.Optimize.DEFAULT]
# 执行转换
tflite_model = converter.convert()

# 保存最终的TFLite模型
with open('best_quantized.tflite', 'wb') as f:
    f.write(tflite_model)

3. 验证转换结果

可以快速验证TFLite模型是否可用:

import tensorflow as tf

# 加载TFLite模型
interpreter = tf.lite.Interpreter(model_path='best.tflite')
interpreter.allocate_tensors()

# 查看输入输出形状,确认模型加载正常
input_shape = interpreter.get_input_details()[0]['shape']
output_shape = interpreter.get_output_details()[0]['shape']
print(f"模型输入形状: {input_shape}")
print(f"模型输出形状: {output_shape}")

能正常打印输入输出信息,说明转换成功。

注意事项

  • 确保best.pt文件放在VSCode工作目录下,或在代码中填写绝对路径
  • 若遇到版本兼容问题,可指定兼容版本:pip install ultralytics==8.0.200 tensorflow==2.15.0
  • 如需int8量化(进一步压缩模型),需准备校准数据集,可参考TensorFlow量化逻辑调整转换代码

内容的提问来源于stack exchange,提问作者zizo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 18:42:38