安装 ONNX Runtime
请参阅安装矩阵以获取针对目标操作系统、硬件、加速器和语言所需组合的推荐安装说明。
有关操作系统版本、编译器、语言版本、依赖库等的详细信息,请参阅兼容性。
内容
- 要求
- Python 安装
- C#/C/C++/WinML 安装
- 在 Web 和移动端上安装
- 安装用于端侧训练 (On-Device Training)
- 大模型训练
- 所有语言的推理安装表
- 所有语言的训练安装表
要求
-
所有构建版本都需要带有
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 版本。
- 仅对于 Linux 上的 cuDNN 9.x(zlib 已静态链接到 cuDNN 9.x Windows 动态库中)或 Linux 和 Windows 上的 cuDNN 8.x,需要 Zlib。请遵循 cuDNN 8.9 安装指南在 Linux 或 Windows 中安装 zlib。
- 在 Windows 中,必须将 CUDA
bin和 cuDNNbin目录的路径添加到PATH环境变量中。 - 在 Linux 中,必须将 CUDA
lib64和 cuDNNlib目录的路径添加到LD_LIBRARY_PATH环境变量中。
对于 onnxruntime-gpu 软件包,可以与 PyTorch 配合使用,而无需手动安装 CUDA 或 cuDNN。有关详细信息,请参阅与 PyTorch 的兼容性。
Python 安装
安装 ONNX Runtime CPU
pip install onnxruntime
安装每日构建版
pip install coloredlogs 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) - 持续工程模式
注意:DirectML 处于持续工程模式。对于新的 Windows 项目,请考虑改用 WinML。
pip install onnxruntime-directml
安装每日构建版
pip install coloredlogs 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 或 TensorRT)
CUDA 12.x
自 1.19.0 版本起,pypi 上的 onnxruntime-gpu 的默认 CUDA 版本为 12.x。
pip install onnxruntime-gpu
对于以前的版本,您可以从此处下载:1.18.1、1.18.0
CUDA 13.x 每日构建版
pip install coloredlogs flatbuffers numpy packaging protobuf sympy
pip install --pre --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ort-cuda-13-nightly/pypi/simple/ onnxruntime-gpu
CUDA 12.x 每日构建版
pip install coloredlogs flatbuffers numpy packaging protobuf sympy
pip install --pre --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple/ onnxruntime-gpu
CUDA 11.x
对于 CUDA 11.x,对于 1.19.2 或更高版本,请使用以下说明从 ORT Azure Devops 订阅源安装。
pip install coloredlogs 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
安装每日构建版
pip install coloredlogs flatbuffers numpy packaging protobuf sympy
pip install --pre --index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/ORT-Nightly/pypi/simple/ onnxruntime-qnn
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 仓库安装了最新版本的 Azure Artifacts 密钥环。
在项目的 .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(持续工程模式 - 新项目请使用 WinML)
dotnet add package Microsoft.ML.OnnxRuntime.DirectML
注意:DirectML 处于持续工程模式。对于新的 Windows 项目,请改用 WinML
WinML(Windows 推荐)
dotnet add package Microsoft.AI.MachineLearning
在 Web 和移动端上安装
预构建的软件包对所有 ONNX 算子集和算子提供了完全支持。
如果预构建软件包太大,您可以创建自定义构建。自定义构建可以仅包含您的模型中用到的算子集和算子,以减小体积。
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-c 或 onnxruntime-objc pod。
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
注意:这将安装映射到特定版本 CUDA 库的 torch-ort 和 onnxruntime-training 软件包的默认版本。请参阅 onnxruntime.ai 中的安装选项。
所有语言的推理安装表
下表列出了作为官方支持的软件包提供的构建变体。其他变体可以从各个发布分支从源码构建。
除了常规要求外,请注意下表中的其他要求和依赖项
注意:从 main 分支创建的每日构建版可用于在官方发布之间测试更新的更改。请自行承担使用风险。我们强烈建议不要将这些版本部署到生产工作负载中,因为每日构建版的支持有限。
所有语言的训练安装表
请参阅优化训练 (Optimized Training)入门页面以获取更详细的安装说明。