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' }