当用户基于各种原因学习并使用了一种框架的时候,常常会发现应用或者再训练的场景改变了,比如用户用 Caffe 训练好了一个图像识别的模型,但是生产环境是使用 TensorFlow 做预测。再比如某机构主要以TensorFlow作为基础的深度学习开发框架,现在有一个深度算法项目,需要将其部署在移动设备上,并希望使用速度较优的ncnn前向框架,以观测变现等等。传统地我们可能需要用tf重写Caffe,或用Caffe2重写tf,然后再训练参数,试想这将是一个多么耗时耗力的过程。因此,深度学习模型转换技术在AI工程化中将变得越来越重要。
本次我们带来了一个YOLOv5转化成任何模型结构的小工具,其帮助你快速迁移训练的模型,该工具支持的转化模型的格式有:
编号 | 格式 | 参数 | 模型 | 用途 |
---|---|---|---|---|
01 | PyTorch | - | yolov5s.pt | - |
02 | TorchScript | torchscript | yolov5s.torchscript | 移动端 |
03 | ONNX | onnx | yolov5s.onnx | 通用 |
04 | OpenVINO | openvino | yolov5s_openvino_model/ | 边缘 云 |
05 | TensorRT | engine | yolov5s.engine | 边缘计算 |
06 | CoreML | coreml | yolov5s.mlmodel | Apple |
07 | TensorFlow SavedModel | saved_model | yolov5s_saved_model/ | 完整的TF模型 |
08 | TensorFlow GraphDef | pb | yolov5s.pb | 数据流图 |
09 | TensorFlow Lite | tflite | yolov5s.tflite | 移动端 |
10 | TensorFlow Edge TPU | edgetpu | yolov5s_edgetpu.tflite | 边缘计算 |
11 | TensorFlow.js | tfjs | yolov5s_web_model/ | web |
❗ 注:参考官方文档:https://github.com/ultralytics/yolov5/releases/tag/v6.1
streamlit run app_03.py # v0.2 推荐
streamlit run app_02.py # v0.1
streamlit run app_01.py # v0.1
❗ 注:tflite
和tfjs
需要分开导出
【面包多-基于Streamlit的YOLOv5ToX模型转换工具源码下载】
【面包多-基于Streamlit的YOLOv5ToX模型转换工具源码下载】