安裝 ONNX Runtime

請參閱安裝矩陣,獲取目標作業系統、硬體、加速器和語言所需組合的推薦說明。

有關作業系統版本、編譯器、語言版本、依賴庫等的詳細資訊,請參閱相容性

目錄

要求

  • 所有構建都需要帶有 en_US.UTF-8 區域設定的英語語言包。在 Linux 上,透過執行 locale-gen en_US.UTF-8update-locale LANG=en_US.UTF-8 安裝 language-pack-en 軟體包

  • Windows 構建需要 Visual C++ 2019 執行時。建議使用最新版本。

CUDA 和 CuDNN

對於 ONNX Runtime GPU 軟體包,需要安裝 CUDAcuDNN。請檢查 CUDA 執行提供程式要求以獲取相容的 CUDA 和 cuDNN 版本。

  • cuDNN 9.x 僅在 Linux 上需要 Zlib(Zlib 靜態連結到 cuDNN 9.x Windows 動態庫中),或者 cuDNN 8.x 在 Linux 和 Windows 上都需要 Zlib。請遵循 cuDNN 8.9 安裝指南在 Linux 或 Windows 中安裝 Zlib。
  • 在 Windows 中,必須將 CUDA bin 和 cuDNN bin 目錄的路徑新增到 PATH 環境變數中。
  • 在 Linux 中,必須將 CUDA lib64 和 cuDNN lib 目錄的路徑新增到 LD_LIBRARY_PATH 環境變數中。

對於 onnxruntime-gpu 軟體包,可以在不手動安裝 CUDA 或 cuDNN 的情況下與 PyTorch 一起使用。有關更多資訊,請參閱與 PyTorch 的相容性

Python 安裝

安裝 ONNX Runtime CPU

pip install onnxruntime

安裝每夜構建版本

pip install flatbuffers numpy packaging protobuf sympy
pip install --pre --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple/ onnxruntime

安裝 ONNX Runtime GPU (DirectML)

pip install onnxruntime-directml

安裝每夜構建版本

pip install flatbuffers numpy packaging protobuf sympy
pip install --pre --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple/ onnxruntime-directml

安裝 ONNX Runtime GPU (CUDA 12.x)

自 1.19.0 版本起,PyPI 中的 onnxruntime-gpu 的預設 CUDA 版本是 12.x。

pip install onnxruntime-gpu

安裝每夜構建版本

pip install flatbuffers numpy packaging protobuf sympy
pip install --pre --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple/ onnxruntime-gpu

對於早期版本,您可以在此處下載:1.18.11.18.0

安裝 ONNX Runtime GPU (CUDA 11.x)

對於 CUDA 11.x,請使用以下說明從 ORT Azure Devops Feed 安裝 1.19.2 或更高版本。

pip install flatbuffers numpy packaging protobuf sympy
pip install onnxruntime-gpu --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-11/pypi/simple/

對於早期版本,您可以在此處下載:1.18.11.18.0

安裝 ONNX Runtime QNN

pip install onnxruntime-qnn

安裝每夜構建版本

pip install flatbuffers numpy packaging protobuf sympy
pip install --pre --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple/ onnxruntime-qnn

安裝 ONNX Runtime GPU (ROCm)

對於 ROCm,請遵循 AMD ROCm 安裝文件中的說明進行安裝。ONNX Runtime 的 ROCm 執行提供程式是使用 ROCm 6.2.0 構建和測試的。

要在 Linux 上從原始碼構建,請遵循此處的說明。

C#/C/C++/WinML 安裝

安裝 ONNX Runtime

安裝 ONNX Runtime CPU

# CPU
dotnet add package Microsoft.ML.OnnxRuntime

安裝 ONNX Runtime GPU (CUDA 12.x)

ORT 的預設 CUDA 版本是 12.x

# GPU
dotnet add package Microsoft.ML.OnnxRuntime.Gpu

安裝 ONNX Runtime GPU (CUDA 11.8)

  1. 專案設定

確保您已從 Azure Artifacts 憑據提供程式 GitHub 倉庫安裝最新版本的 Azure Artifacts keyring。
在您的專案中,與 .csproj 檔案相同的目錄中新增一個 nuget.config 檔案。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <packageSources>
        <clear/>
        <add key="onnxruntime-cuda-11"
             value="https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-11/nuget/v3/index.json"/>
    </packageSources>
</configuration>
  1. 還原包

還原包(使用互動式標誌,允許 dotnet 提示您輸入憑據)

dotnet add package Microsoft.ML.OnnxRuntime.Gpu

注意:您不需要每次都使用 –interactive。如果 dotnet 需要更新的憑據,它會提示您新增 –interactive。

DirectML

dotnet add package Microsoft.ML.OnnxRuntime.DirectML

WinML

dotnet add package Microsoft.AI.MachineLearning

在 Web 和移動裝置上安裝

預構建的軟體包完全支援所有 ONNX opset 和運算元。

如果預構建的軟體包太大,您可以建立自定義構建。自定義構建可以只包含模型中的 opset 和運算元,以減小大小。

JavaScript 安裝

安裝 ONNX Runtime Web (瀏覽器)

# install latest release version
npm install onnxruntime-web

# install nightly build dev version
npm install onnxruntime-web@dev

安裝 ONNX Runtime Node.js 繫結 (Node.js)

# install latest release version
npm install onnxruntime-node

為 React Native 安裝 ONNX Runtime

# install latest release version
npm install onnxruntime-react-native

在 iOS 上安裝

在您的 CocoaPods Podfile 中,根據您想要使用的 API,新增 onnxruntime-connxruntime-objc pod。

C/C++

  use_frameworks!

  pod 'onnxruntime-c'

Objective-C

  use_frameworks!

  pod 'onnxruntime-objc'

執行 pod install

自定義構建

請參閱建立自定義 iOS 軟體包的說明。

在 Android 上安裝

Java/Kotlin

在您的 Android Studio 專案中,對以下檔案進行更改:

  1. build.gradle (專案)

     repositories {
         mavenCentral()
     }
    
  2. build.gradle (模組)

     dependencies {
         implementation 'com.microsoft.onnxruntime:onnxruntime-android:latest.release'
     }
    

C/C++

從 MavenCentral 下載託管的 onnxruntime-android AAR 包,將副檔名從 .aar 更改為 .zip,然後解壓。在您的 NDK 專案中包含 headers 資料夾中的標頭檔案,以及 jni 資料夾中相關的 libonnxruntime.so 動態庫。

自定義構建

請參閱建立自定義 Android 軟體包的說明。

用於裝置端訓練的安裝

除非另有說明,本節中的安裝說明指的是為執行裝置端訓練而設計的預構建軟體包。

如果預構建的訓練軟體包支援您的模型但太大,您可以建立自定義訓練構建

離線階段 - 為訓練做準備

python -m pip install cerberus flatbuffers h5py numpy>=1.16.6 onnx packaging protobuf sympy setuptools>=41.4.0
pip install -i https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT/pypi/simple/ onnxruntime-training-cpu

訓練階段 - 裝置端訓練

裝置 語言 包名 安裝說明
Windows C, C++, C# Microsoft.ML.OnnxRuntime.Training dotnet add package Microsoft.ML.OnnxRuntime.Training
Linux C, C++ onnxruntime-training-linux*.tgz
  • 此處下載 *.tgz 檔案。
  • 解壓。
  • 將標頭檔案移動到 include 目錄幷包含。
  • libonnxruntime.so 動態庫移動到所需路徑幷包含。
Python onnxruntime-training pip install onnxruntime-training
Android C, C++ onnxruntime-training-android
  • 從 Maven Central 下載託管的 onnxruntime-training-android (完整包) AAR。
  • 將副檔名從 .aar 更改為 .zip,然後解壓。
  • 包含 headers 資料夾中的標頭檔案。
  • 在您的 NDK 專案中包含 jni 資料夾中相關的 libonnxruntime.so 動態庫。
Java/Kotlin onnxruntime-training-android 在您的 Android Studio 專案中,對以下檔案進行更改:
  1. build.gradle (專案): repositories { mavenCentral() }
  2. build.gradle (模組): dependencies { implementation 'com.microsoft.onnxruntime:onnxruntime-training-android:latest.release' }
iOS C, C++ CocoaPods: onnxruntime-training-c
  • 在您的 CocoaPods Podfile 中,新增 onnxruntime-training-c pod
    use_frameworks!
    pod 'onnxruntime-training-c'
              
  • 執行 pod install
Objective-C CocoaPods: onnxruntime-training-objc
  • 在您的 CocoaPods Podfile 中,新增 onnxruntime-training-objc pod
    use_frameworks!
    pod 'onnxruntime-training-objc'
                
  • 執行 pod install
Web JavaScript, TypeScript onnxruntime-web
npm install onnxruntime-web
  • 使用 import * as ort from 'onnxruntime-web/training';const ort = require('onnxruntime-web/training');

大模型訓練

pip install torch-ort
python -m torch_ort.configure

注意:這將安裝 torch-ortonnxruntime-training 包的預設版本,這些版本對映到特定版本的 CUDA 庫。請參閱 onnxruntime.ai 中的安裝選項。

所有語言的推理安裝表

下表列出了官方支援的軟體包的構建變體。其他版本可以從每個釋出分支原始碼構建

除了通用要求外,請注意下表中的其他要求和依賴項

  官方構建 每夜構建版本 要求
Python 如果使用 pip,請在下載前執行 pip install --upgrade pip    
  CPU: onnxruntime onnxruntime (每夜構建版本)  
  GPU (CUDA/TensorRT),適用於 CUDA 12.x: onnxruntime-gpu onnxruntime-gpu (每夜構建版本) 檢視
  GPU (CUDA/TensorRT),適用於 CUDA 11.x: onnxruntime-gpu onnxruntime-gpu (每夜構建版本) 檢視
  GPU (DirectML): onnxruntime-directml onnxruntime-directml (每夜構建版本) 檢視
  OpenVINO: intel/onnxruntime - 英特爾管理   檢視
  TensorRT (Jetson): Jetson Zoo - NVIDIA 管理    
  Azure (雲): onnxruntime-azure    
C#/C/C++ CPU: Microsoft.ML.OnnxRuntime onnxruntime (每夜構建版本)  
  GPU (CUDA/TensorRT): Microsoft.ML.OnnxRuntime.Gpu onnxruntime (每夜構建版本) 檢視
  GPU (DirectML): Microsoft.ML.OnnxRuntime.DirectML onnxruntime (每夜構建版本) 檢視
WinML Microsoft.AI.MachineLearning onnxruntime (每夜構建版本) 檢視
Java CPU: com.microsoft.onnxruntime:onnxruntime   檢視
  GPU (CUDA/TensorRT): com.microsoft.onnxruntime:onnxruntime_gpu   檢視
Android com.microsoft.onnxruntime:onnxruntime-android   檢視
iOS (C/C++) CocoaPods: onnxruntime-c   檢視
Objective-C CocoaPods: onnxruntime-objc   檢視
React Native onnxruntime-react-native (最新) onnxruntime-react-native (開發版) 檢視
Node.js onnxruntime-node (最新) onnxruntime-node (開發版) 檢視
Web onnxruntime-web (最新) onnxruntime-web (開發版) 檢視

注意:從主分支建立的每夜構建版本可用於測試官方版本之間的新更改。請自行承擔使用這些版本的風險。我們強烈建議不要將這些版本部署到生產工作負載中,因為對每夜構建版本的支援有限。

所有語言的訓練安裝表

有關更詳細的安裝說明,請參閱最佳化訓練入門頁面。