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