安装 ONNX Runtime
请参阅安装矩阵,了解目标操作系统、硬件、加速器和语言的所需组合的推荐说明。
有关操作系统版本、编译器、语言版本、依赖库等的详细信息,请参见兼容性。
目录
要求
-
所有构建都需要带有
en_US.UTF-8
区域设置的英语语言包。在 Linux 上,通过运行locale-gen en_US.UTF-8
和update-locale LANG=en_US.UTF-8
安装 language-pack-en 包 -
Windows 构建需要 Visual C++ 2019 运行时。建议使用最新版本。
CUDA 和 CuDNN
对于 ONNX Runtime GPU 包,需要安装 CUDA 和 cuDNN。查看 CUDA 执行提供程序要求,了解 CUDA 和 cuDNN 的兼容版本。
- cuDNN 9.x(仅限 Linux,zlib 静态链接到 cuDNN 9.x Windows 动态库)或 cuDNN 8.x(适用于 Linux 和 Windows)需要 Zlib。按照 cuDNN 8.9 安装指南 在 Linux 或 Windows 中安装 zlib。
- 在 Windows 中,必须将 CUDA
bin
和 cuDNNbin
目录的路径添加到PATH
环境变量。 - 在 Linux 中,必须将 CUDA
lib64
和 cuDNNlib
目录的路径添加到LD_LIBRARY_PATH
环境变量。
对于 onnxruntime-gpu
包,可以在没有手动安装 CUDA 或 cuDNN 的情况下与 PyTorch 一起使用。有关更多信息,请参阅 与 PyTorch 的兼容性。
Python 安装
安装 ONNX Runtime CPU
pip install onnxruntime
安装 nightly 版本
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
安装 nightly 版本
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)
pypi 中的 onnxruntime-gpu 的默认 CUDA 版本自 1.19.0 起为 12.x。
pip install onnxruntime-gpu
安装 nightly 版本
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.1,1.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.1,1.18.0
安装 ONNX Runtime QNN
pip install onnxruntime-qnn
安装 nightly 版本
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)
- 项目设置
确保您已从 Github Repo 安装了最新版本的 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>
- 还原包
还原包(使用交互式标志,允许 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
中,添加 onnxruntime-c
或 onnxruntime-objc
pod,具体取决于您要使用的 API。
C/C++
use_frameworks!
pod 'onnxruntime-c'
Objective-C
use_frameworks!
pod 'onnxruntime-objc'
运行 pod install
。
自定义构建
请参阅创建自定义 iOS 软件包的说明。
在 Android 上安装
Java/Kotlin
在您的 Android Studio 项目中,对以下内容进行更改
-
build.gradle (项目)
repositories { mavenCentral() }
-
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 |
|
Python | onnxruntime-training | pip install onnxruntime-training | |
Android | C, C++ | onnxruntime-training-android |
|
Java/Kotlin | onnxruntime-training-android | 在您的 Android Studio 项目中,对以下内容进行更改
| |
iOS | C, C++ | CocoaPods: onnxruntime-training-c |
|
Objective-C | CocoaPods: onnxruntime-training-objc |
| |
Web | JavaScript, TypeScript | onnxruntime-web | npm install onnxruntime-web
|
大型模型训练
pip install torch-ort
python -m torch_ort.configure
注意:这会安装 torch-ort
和 onnxruntime-training
软件包的默认版本,这些版本映射到特定版本的 CUDA 库。请参阅 onnxruntime.ai 中的安装选项。
所有语言的推理安装表
下表列出了作为官方支持软件包提供的构建变体。其他变体可以从每个发布分支从源代码构建。
除了通用的要求之外,请注意下表中的其他要求和依赖项
注意:Nightly 构建是从主分支创建的,可用于测试官方版本之间的新更改。请自行承担使用这些版本的风险。我们强烈建议不要将这些版本部署到生产工作负载,因为 nightly 构建的支持有限。
所有语言的训练安装表
有关更详细的安装说明,请参阅优化的训练页面入门指南。