ONNX - 环境设置
设置用于处理 ONNX 的环境对于创建、转换和部署机器学习模型至关重要。在本教程中,我们将学习安装 ONNX、其依赖项以及设置 ONNX 运行时以实现高效模型推理。
ONNX 环境设置包括安装 ONNX 运行时、其依赖项以及转换和运行 ONNX 格式机器学习模型所需的工具。
为 Python 设置 ONNX
Python 是最常用的 ONNX 开发语言。要在 Python 中设置 ONNX 环境,您需要安装 ONNX 和针对 PyTorch、TensorFlow 和 Scikit-learn 等常用框架的模型导出库。ONNX 对于将模型转换并导出为 ONNX 格式是必需的。
pip install onnx
安装 ONNX 运行时
ONNX 运行时是运行 ONNX 格式模型的主要工具。它适用于 CPU 和 GPU(CUDA 和 ROCm)环境。
安装适用于 CPU 的 ONNX 运行时
要安装 CPU 版本的 ONNX 运行时,只需在您的终端中运行以下命令:
pip install onnxruntime
这将安装适用于 CPU 执行的基本 ONNX 运行时包。
安装适用于 GPU 的 ONNX 运行时
如果您想利用 GPU 加速,ONNX 运行时同时支持 CUDA(NVIDIA)和 ROCm(AMD)平台。ONNX 运行时支持的默认 CUDA 版本为 11.8。
pip install onnxruntime-gpu
这将安装适用于 CUDA 11.x 的 ONNX 运行时。
安装模型导出库
根据您使用的框架,安装相应的模型转换库。
PyTorch:ONNX 支持内置于 PyTorch 中。以下是命令。
pip install torch
TensorFlow:安装 tf2onnx 来转换 TensorFlow 模型。
pip install tf2onnx
Scikit-learn:使用 skl2onnx 导出 Scikit-learn 模型。
pip install skl2onnx
为其他语言设置 ONNX
C#/C++/WinML
对于 C# 和 C++ 项目,ONNX 运行时提供对 Windows ML (WinML) 和 GPU 加速的原生支持。我们可以使用以下命令在C#中安装适用于 CPU 的 ONNX 运行时:
dotnet add package Microsoft.ML.OnnxRuntime
同样,使用以下命令安装适用于 GPU(CUDA)的 ONNX 运行时:
dotnet add package Microsoft.ML.OnnxRuntime.Gpu
JavaScript
ONNX 运行时也适用于浏览器和 Node.js 环境中的 JavaScript。以下是安装适用于浏览器的 ONNX 运行时的命令:
npm install onnxruntime-web
同样,要安装适用于 Node.js 的 ONNX 运行时,请使用以下命令:
npm install onnxruntime-node
为移动设备 (iOS/Android) 设置 ONNX
ONNX 运行时可以设置为移动平台,包括 iOS 和 Android。
-
iOS:将 ONNX 运行时添加到您的 Podfile 并运行 pod install:
pod 'onnxruntime-c'
Android:在您的 Android Studio 项目中,将 ONNX 运行时添加到您的 build.gradle 文件:
dependencies { implementation 'com.microsoft.onnxruntime :onnxruntime-android:latest.release' }