onnxruntime模型部署流程
一、將訓練好的模型轉換格式為ONNX格式
例如pytorch模型轉換:
def torch2onnx(model, save_path):
"""
:param model:
:param save_path: XXX/XXX.onnx
:return:
"""
model.eval()
data = torch.rand(1, 3, 224, 224)
input_names = ["input"]
output_names = ["out"]
torch.onnx._export(model, data, save_path, export_params=True, opset_version=11, input_names=input_names, output_names=output_names)
print("torch2onnx finish.")
支援動態形狀的輸入和輸出:
def torch2onnx_dynamic(model, save_path):
"""
:param model:
:param save_path: XXX/XXX.onnx
:return:
"""
model.eval()
data = torch.rand(1, 3, 224, 224)
input_names = ["input"] # ncnn需要
output_names = ["out"] # ncnn需要
torch.onnx._export(model, data, save_path, export_params=True, opset_version=11, input_names=input_names,
output_names=output_names, dynamic_axes={'input': [2, 3], 'out': [2, 3]})
print("torch2onnx finish.")
二、安裝onnxruntime
注意:onnxruntime-gpu版本在0.4以上時需要CUDA 10
pip install onnxruntime
pip install onnxruntime-gpu
onnxruntime幫助文件:
https://microsoft.github.io/onnxruntime/python/tutorial.html
三、onnxruntime使用方法
載入模型:
session = onnxruntime.InferenceSession("./dmnet.onnx")
載入圖片:
img = cv2.imread(img_path)
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
tensor = transforms.ToTensor()(img)
tensor = tensor.unsqueeze_(0)
執行推理:
注意:這裡的"input"是和轉onnx格式時的名字對應的。
result = session.run([], {"input": tensor.cpu().numpy()})
相關文章
- c# onnx模型部署:TensorRT、OpenVino、ONNXRuntime、OpenCV dnnC#模型OpenCVDNN
- flowable流程引擎通過模型ID部署流程模型
- flowable流程引擎透過模型ID部署流程模型
- 【推理引擎】從原始碼看ONNXRuntime的執行流程原始碼
- 利用 onnxruntime 庫同時推理多個模型的效率研究模型
- lazarus呼叫Onnxruntime
- PbootCMS部署流程boot
- flowable流程部署
- miniconda Pytorch CUDA Cudnn onnxruntimePyTorchDNN
- Ubuntu20.04部署TVM流程及編譯最佳化模型示例Ubuntu編譯模型
- ONNXRuntime學習筆記(四)筆記
- ONNXRuntime學習筆記(三)筆記
- 小程式部署全流程
- Linux部署專案流程Linux
- Activity 流程模型匯入匯出-activity流程模型匯入匯出模型
- 使用flowable部署流程定義
- Tomcat部署web專案流程TomcatWeb
- flowable 三種方式部署流程
- 【推理引擎】ONNXRuntime 的架構設計架構
- 筆記:Gitlab-CI部署流程筆記Gitlab
- flowable 部署流程的三種方式
- Python常見專案部署流程Python
- 機器學習框架推理流程簡述(以一項部署在windows上的MNN框架大模型部署過程為例子)機器學習框架Windows大模型
- Docker部署深度學習模型Docker深度學習模型
- Ai qwen大模型本地部署AI大模型
- TensorRT c++部署onnx模型C++模型
- activiti 新增流程模型並返回 modelId模型
- LLM大模型部署實戰指南:Ollama簡化流程,OpenLLM靈活部署,LocalAI本地最佳化,Dify賦能應用開發大模型AI
- Spark原始碼解析-Yarn部署流程(ApplicationMaster)Spark原始碼YarnAPPAST
- Centos 7.1+CDH5.7.2全部署流程CentOSH5
- devops系統自動化部署流程dev
- 前端Linux部署命令與流程記錄前端Linux
- 業務流程模型與資料流程圖的比較 - brcommunity模型流程圖Unity
- 使用Infinity部署Embedding和Reranking模型模型
- ollama 最快方式部署管理大模型大模型
- 一鍵部署本地AI大模型AI大模型
- zabbix4.0服務端 部署全流程服務端
- Laravel Envoy 安裝到部署完整流程Laravel