ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

YOLO模型pt格式转换tflite格式

YOLO模型pt格式转换tflite格式 from ultralytics import YOLO def train_model(): # 导出为 TFLite 模型 model YOLO(runs/detect/train/weights/best.pt) model.export(formattflite) print(✅ 训练和导出完成模型文件已保存为 runs/detect/train/weights/best.tflite) if __name__ __main__: # Windows multiprocessing 入口保护 train_model()报错Ultralytics 8.3.128 Python-3.11.9 torch-2.7.0cu118 CPU (Intel Core(TM) i5-14400) YOLO11n summary (fused): 100 layers, 2,583,322 parameters, 0 gradients, 6.3 GFLOPs PyTorch: starting from runs\detect\train\weights\best.pt with input shape (1, 3, 640, 640) BCHW and output shape(s) (1, 10, 8400) (5.2 MB) requirements: Ultralytics requirements [ai-edge-litert1.2.0, onnxslim0.1.46, onnxruntime] not found, attempting AutoUpdate... ERROR: Could not find a version that satisfies the requirement ai-edge-litert1.2.0 (from versions: none) ERROR: No matching distribution found for ai-edge-litert1.2.0 WARNING Retry 1/2 failed: Command pip install --no-cache-dir ai-edge-litert1.2.0 onnxslim0.1.46 onnxruntime --extra-index-url https://pypi.ngc.nvidia.com returned non-zero exit status 1. ERROR: Could not find a version that satisfies the requirement ai-edge-litert1.2.0 (from versions: none) ERROR: No matching distribution found for ai-edge-litert1.2.0 WARNING Retry 2/2 failed: Command pip install --no-cache-dir ai-edge-litert1.2.0 onnxslim0.1.46 onnxruntime --extra-index-url https://pypi.ngc.nvidia.com returned non-zero exit status 1. WARNING requirements: Command pip install --no-cache-dir ai-edge-litert1.2.0 onnxslim0.1.46 onnxruntime --extra-index-url https://pypi.ngc.nvidia.com returned non-zero exit status 1. TensorFlow SavedModel: starting export with tensorflow 2.19.0... WARNING:tensorflow:From C:\Users\wuyuhe\Desktop\YOLO\.venv\Lib\site-packages\tf_keras\src\losses.py:2976: The name tf.losses.sparse_softmax_cross_entropy is deprecated. Please use tf.compat.v1.losses.sparse_softmax_cross_entropy instead. Traceback (most recent call last): File C:\Users\wuyuhe\Desktop\YOLO\train_0711.py, line 13, in module train_model() File C:\Users\wuyuhe\Desktop\YOLO\train_0711.py, line 6, in train_model model.export(formattflite) File C:\Users\wuyuhe\Desktop\YOLO\.venv\Lib\site-packages\ultralytics\engine\model.py, line 730, in export return Exporter(overridesargs, _callbacksself.callbacks)(modelself.model) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File C:\Users\wuyuhe\Desktop\YOLO\.venv\Lib\site-packages\ultralytics\engine\exporter.py, line 460, in __call__ f[5], keras_model self.export_saved_model() ^^^^^^^^^^^^^^^^^^^^^^^^^ File C:\Users\wuyuhe\Desktop\YOLO\.venv\Lib\site-packages\ultralytics\engine\exporter.py, line 196, in outer_func raise e File C:\Users\wuyuhe\Desktop\YOLO\.venv\Lib\site-packages\ultralytics\engine\exporter.py, line 191, in outer_func f, model inner_func(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File C:\Users\wuyuhe\Desktop\YOLO\.venv\Lib\site-packages\ultralytics\engine\exporter.py, line 938, in export_saved_model import onnx2tf File C:\Users\wuyuhe\Desktop\YOLO\.venv\Lib\site-packages\onnx2tf\__init__.py, line 1, in module from onnx2tf.onnx2tf import convert, main File C:\Users\wuyuhe\Desktop\YOLO\.venv\Lib\site-packages\onnx2tf\onnx2tf.py, line 44, in module from onnx2tf.utils.common_functions import ( File C:\Users\wuyuhe\Desktop\YOLO\.venv\Lib\site-packages\onnx2tf\utils\common_functions.py, line 20, in module from ai_edge_litert.interpreter import Interpreter ModuleNotFoundError: No module named ai_edge_litert ERROR TensorFlow SavedModel: export failure 15.0s: No module named ai_edge_litert❌onnx2tf依赖ai_edge_litert但该模块在 PyPI 上根本不存在导致 TFLite 导出失败。 为什么会这样Ultralytics YOLO 的export(formattflite)实际通过 onnx2tf 实现 TFLite 转换。但从 2024 年开始onnx2tf默认强依赖ai_edge_litert这是专为 Jetson/NVIDIA TensorRT 推理接口定制的模块对你当前的CPU 桌面环境根本不适用。✅解决方案 改用官方export(formatonnx)→tf→tflite方式推荐最稳定步骤一导出为 ONNXmodel YOLO(runs/detect/train/weights/best.pt) model.export(formatonnx)会输出best.onnx步骤二用onnx-tf转换为 TensorFlow SavedModelpip install onnx onnx-tf onnx-tf convert -i best.onnx -o best_saved_model步骤三用 TensorFlow 官方工具转换为.tfliteimport tensorflow as tf converter tf.lite.TFLiteConverter.from_saved_model(best_saved_model) tflite_model converter.convert() with open(best.tflite, wb) as f: f.write(tflite_model)
返回列表