安装 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 版本。

  • 仅对于 Linux 上的 cuDNN 9.x(zlib 已静态链接到 cuDNN 9.x Windows 动态库中)或 Linux 和 Windows 上的 cuDNN 8.x,需要 Zlib。请遵循 cuDNN 8.9 安装指南在 Linux 或 Windows 中安装 zlib。
  • 在 Windows 中,必须将 CUDA bin 和 cuDNN bin 目录的路径添加到 PATH 环境变量中。
  • 在 Linux 中,必须将 CUDA lib64 和 cuDNN lib 目录的路径添加到 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.11.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.11.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)

  1. 项目设置

确保您已从其 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>
  1. 还原软件包

还原软件包(使用交互式标志,这允许 dotnet 提示您输入凭据)

dotnet add package Microsoft.ML.OnnxRuntime.Gpu

注意:您不必每次都使用 –interactive。如果需要更新的凭据,dotnet 会提示您添加 –interactive。

DirectML(持续工程模式 - 新项目请使用 WinML)

dotnet add package Microsoft.ML.OnnxRuntime.DirectML

注意:DirectML 处于持续工程模式。对于新的 Windows 项目,请改用 WinML

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

注意:这将安装映射到特定版本 CUDA 库的 torch-ortonnxruntime-training 软件包的默认版本。请参阅 onnxruntime.ai 中的安装选项。

所有语言的推理安装表

下表列出了作为官方支持的软件包提供的构建变体。其他变体可以从各个发布分支从源码构建

除了常规要求外,请注意下表中的其他要求和依赖项

  官方构建版 每日构建版 要求
Python 如果使用 pip,请在下载前运行 pip install --upgrade pip    
  CPU: onnxruntime onnxruntime(每日构建版)  
  用于 CUDA 12.x 的 GPU (CUDA/TensorRT): onnxruntime-gpu onnxruntime-gpu(每日构建版) 查看
  GPU (DirectML) 持续工程模式: onnxruntime-directml onnxruntime-directml(每日构建版) 查看
  OpenVINO: intel/onnxruntime - 由 Intel 维护   查看
  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 Windows 推荐 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(开发版) 查看

注意:从 main 分支创建的每日构建版可用于在官方发布之间测试更新的更改。请自行承担使用风险。我们强烈建议不要将这些版本部署到生产工作负载中,因为每日构建版的支持有限。

所有语言的训练安装表

请参阅优化训练 (Optimized Training)入门页面以获取更详细的安装说明。