ONNX Runtime installieren

Sehen Sie sich die Installationsmatrix für empfohlene Anweisungen für gewünschte Kombinationen von Zielbetriebssystem, Hardware, Beschleuniger und Sprache an.

Details zu Betriebssystemversionen, Compilern, Sprachversionen, abhängigen Bibliotheken usw. finden Sie unter Kompatibilität.

Inhalt

Voraussetzungen

  • Alle Builds erfordern das englische Sprachpaket mit der Locale en_US.UTF-8. Unter Linux installieren Sie das Paket language-pack-en, indem Sie locale-gen en_US.UTF-8 und update-locale LANG=en_US.UTF-8 ausführen.

  • Windows-Builds erfordern die Visual C++ 2019 Laufzeitumgebung. Die neueste Version wird empfohlen.

CUDA und CuDNN

Für das ONNX Runtime GPU-Paket ist die Installation von CUDA und cuDNN erforderlich. Überprüfen Sie die Anforderungen des CUDA Execution Providers für kompatible Versionen von CUDA und cuDNN.

  • Zlib wird von cuDNN 9.x für Linux benötigt (zlib ist statisch in die cuDNN 9.x Windows-Dynamikbibliotheken einkompiliert) oder cuDNN 8.x für Linux und Windows. Befolgen Sie die cuDNN 8.9 Installationsanleitung, um zlib unter Linux oder Windows zu installieren.
  • Unter Windows müssen die Pfade der CUDA bin- und cuDNN bin-Verzeichnisse zur Umgebungsvariable PATH hinzugefügt werden.
  • Unter Linux müssen die Pfade der CUDA lib64- und cuDNN lib-Verzeichnisse zur Umgebungsvariable LD_LIBRARY_PATH hinzugefügt werden.

Für das onnxruntime-gpu-Paket ist es möglich, mit PyTorch zu arbeiten, ohne dass eine manuelle Installation von CUDA oder cuDNN erforderlich ist. Weitere Informationen finden Sie unter Kompatibilität mit PyTorch.

Python-Installationen

ONNX Runtime CPU installieren

pip install onnxruntime

Nightly installieren

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

pip install onnxruntime-directml

Nightly installieren

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

Die Standard-CUDA-Version für onnxruntime-gpu auf pypi ist seit Version 1.19.0 12.x.

pip install onnxruntime-gpu

Nightly installieren

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

Für frühere Versionen können Sie hier herunterladen: 1.18.1, 1.18.0

ONNX Runtime GPU (CUDA 11.x) installieren

Für Cuda 11.x verwenden Sie bitte die folgenden Anweisungen zur Installation aus dem ORT Azure Devops Feed für 1.19.2 oder höher.

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/

Für frühere Versionen können Sie hier herunterladen: 1.18.1, 1.18.0

ONNX Runtime QNN installieren

pip install onnxruntime-qnn

Nightly installieren

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

Für ROCm befolgen Sie bitte die Anweisungen zur Installation in den AMD ROCm-Installationsdokumenten. Der ROCm Execution Provider für ONNX Runtime wird mit ROCm 6.2.0 erstellt und getestet.

Um aus Quelle unter Linux zu erstellen, befolgen Sie die Anweisungen hier.

C#/C/C++/WinML-Installationen

ONNX Runtime installieren

ONNX Runtime CPU installieren

# CPU
dotnet add package Microsoft.ML.OnnxRuntime

ONNX Runtime GPU (CUDA 12.x) installieren

Die Standard-CUDA-Version für ORT ist 12.x

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

ONNX Runtime GPU (CUDA 11.8) installieren

  1. Projekt-Setup

Stellen Sie sicher, dass Sie die neueste Version des Azure Artifacts Keyrings aus seinem Github-Repository installiert haben.
Fügen Sie Ihrer Projektdatei eine nuget.config im selben Verzeichnis wie Ihre .csproj-Datei hinzu.

<?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. Pakete wiederherstellen

Pakete wiederherstellen (mit dem interaktiven Flag, das es dotnet ermöglicht, Sie nach Anmeldeinformationen zu fragen)

dotnet add package Microsoft.ML.OnnxRuntime.Gpu

Hinweis: Sie benötigen nicht jedes Mal –interactive. dotnet wird Sie auffordern, –interactive hinzuzufügen, wenn es aktualisierte Anmeldeinformationen benötigt.

DirectML

dotnet add package Microsoft.ML.OnnxRuntime.DirectML

WinML

dotnet add package Microsoft.AI.MachineLearning

Installation für Web und Mobilgeräte

Die vorkompilierten Pakete bieten vollständige Unterstützung für alle ONNX-Opsets und Operatoren.

Wenn das vorkompilierte Paket zu groß ist, können Sie eine benutzerdefinierte Erstellung vornehmen. Eine benutzerdefinierte Erstellung kann nur die Opsets und Operatoren Ihres/Ihrer Modelle(s) enthalten, um die Größe zu reduzieren.

JavaScript-Installationen

ONNX Runtime Web (Browser) installieren

# install latest release version
npm install onnxruntime-web

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

ONNX Runtime Node.js-Binding (Node.js) installieren

# install latest release version
npm install onnxruntime-node

ONNX Runtime für React Native installieren

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

Auf iOS installieren

Fügen Sie in Ihrer CocoaPods Podfile das onnxruntime-c- oder onnxruntime-objc-Pod hinzu, je nachdem, welche API Sie verwenden möchten.

C/C++

  use_frameworks!

  pod 'onnxruntime-c'

Objective-C

  use_frameworks!

  pod 'onnxruntime-objc'

Führen Sie pod install aus.

Benutzerdefinierte Erstellung

Beziehen Sie sich auf die Anweisungen zum Erstellen eines benutzerdefinierten iOS-Pakets.

Auf Android installieren

Java/Kotlin

Nehmen Sie in Ihrem Android Studio Projekt die folgenden Änderungen vor

  1. build.gradle (Projekt)

     repositories {
         mavenCentral()
     }
    
  2. build.gradle (Modul)

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

C/C++

Laden Sie das onnxruntime-android AAR von MavenCentral herunter, ändern Sie die Dateiendung von .aar zu .zip und entpacken Sie es. Fügen Sie die Header-Dateien aus dem headers-Ordner und die relevante libonnxruntime.so-Dynamikbibliothek aus dem jni-Ordner in Ihr NDK-Projekt ein.

Benutzerdefinierte Erstellung

Beziehen Sie sich auf die Anweisungen zum Erstellen eines benutzerdefinierten Android-Pakets.

Installation für On-Device Training

Sofern nicht anders angegeben, beziehen sich die Installationsanweisungen in diesem Abschnitt auf vorkompilierte Pakete, die für das On-Device Training entwickelt wurden.

Wenn das vorkompilierte Trainingspaket Ihr Modell unterstützt, aber zu groß ist, können Sie eine benutzerdefinierte Trainingserstellung vornehmen.

Offline-Phase - Vorbereitung für das Training

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

Trainingsphase - On-Device Training

Gerät Sprache Paketname Installationsanweisungen
Windows C, C++, C# Microsoft.ML.OnnxRuntime.Training dotnet add package Microsoft.ML.OnnxRuntime.Training
Linux C, C++ onnxruntime-training-linux*.tgz
  • Laden Sie die *.tgz-Datei von hier herunter.
  • Entpacken Sie sie.
  • Verschieben und fügen Sie die Header-Dateien aus dem Verzeichnis include hinzu.
  • Verschieben Sie die dynamische Bibliothek libonnxruntime.so an einen gewünschten Pfad und binden Sie sie ein.
Python onnxruntime-training pip install onnxruntime-training
Android C, C++ onnxruntime-training-android
  • Laden Sie das onnxruntime-training-android (vollständiges Paket) AAR von Maven Central herunter.
  • Ändern Sie die Dateiendung von .aar zu .zip und entpacken Sie es.
  • Fügen Sie die Header-Dateien aus dem headers-Ordner hinzu.
  • Fügen Sie die relevante libonnxruntime.so-Dynamikbibliothek aus dem jni-Ordner in Ihr NDK-Projekt ein.
Java/Kotlin onnxruntime-training-android Nehmen Sie in Ihrem Android Studio Projekt die folgenden Änderungen vor
  1. build.gradle (Projekt): repositories { mavenCentral() }
  2. build.gradle (Modul): dependencies { implementation 'com.microsoft.onnxruntime:onnxruntime-training-android:latest.release' }
iOS C, C++ CocoaPods: onnxruntime-training-c
  • Fügen Sie in Ihrer CocoaPods Podfile das onnxruntime-training-c-Pod hinzu
    use_frameworks!
    pod 'onnxruntime-training-c'
              
  • Führen Sie pod install aus.
Objective-C CocoaPods: onnxruntime-training-objc
  • Fügen Sie in Ihrer CocoaPods Podfile das onnxruntime-training-objc-Pod hinzu
    use_frameworks!
    pod 'onnxruntime-training-objc'
                
  • Führen Sie pod install aus.
Web JavaScript, TypeScript onnxruntime-web
npm install onnxruntime-web
  • Verwenden Sie entweder import * as ort from 'onnxruntime-web/training'; oder const ort = require('onnxruntime-web/training');

Training großer Modelle

pip install torch-ort
python -m torch_ort.configure

Hinweis: Dies installiert die Standardversion der Pakete torch-ort und onnxruntime-training, die spezifischen Versionen der CUDA-Bibliotheken zugeordnet sind. Beziehen Sie sich auf die Installationsoptionen unter onnxruntime.ai.

Inferenz-Installationskatalog für alle Sprachen

Die folgende Tabelle listet die Build-Varianten auf, die als offiziell unterstützte Pakete verfügbar sind. Andere können aus jeder Release-Branch von der Quelle erstellt werden. Sie können aus Quelle erstellt werden.

Zusätzlich zu den allgemeinen Anforderungen beachten Sie bitte die zusätzlichen Anforderungen und Abhängigkeiten in der folgenden Tabelle

  Offizieller Build Nightly Build Anforderungen
Python Wenn Sie pip verwenden, führen Sie pip install --upgrade pip aus, bevor Sie herunterladen.    
  CPU: onnxruntime onnxruntime (nightly)  
  GPU (CUDA/TensorRT) für CUDA 12.x: onnxruntime-gpu onnxruntime-gpu (nightly) Ansehen
  GPU (CUDA/TensorRT) für CUDA 11.x: onnxruntime-gpu onnxruntime-gpu (nightly) Ansehen
  GPU (DirectML): onnxruntime-directml onnxruntime-directml (nightly) Ansehen
  OpenVINO: intel/onnxruntime - von Intel verwaltet   Ansehen
  TensorRT (Jetson): Jetson Zoo - von NVIDIA verwaltet    
  Azure (Cloud): onnxruntime-azure    
C#/C/C++ CPU: Microsoft.ML.OnnxRuntime onnxruntime (nightly)  
  GPU (CUDA/TensorRT): Microsoft.ML.OnnxRuntime.Gpu onnxruntime (nightly) Ansehen
  GPU (DirectML): Microsoft.ML.OnnxRuntime.DirectML onnxruntime (nightly) Ansehen
WinML Microsoft.AI.MachineLearning onnxruntime (nightly) Ansehen
Java CPU: com.microsoft.onnxruntime:onnxruntime   Ansehen
  GPU (CUDA/TensorRT): com.microsoft.onnxruntime:onnxruntime_gpu   Ansehen
Android com.microsoft.onnxruntime:onnxruntime-android   Ansehen
iOS (C/C++) CocoaPods: onnxruntime-c   Ansehen
Objective-C CocoaPods: onnxruntime-objc   Ansehen
React Native onnxruntime-react-native (aktuellste) onnxruntime-react-native (dev) Ansehen
Node.js onnxruntime-node (aktuellste) onnxruntime-node (dev) Ansehen
Web onnxruntime-web (aktuellste) onnxruntime-web (dev) Ansehen

Hinweis: Nightly-Builds, die aus dem Hauptbranch erstellt werden, sind für das Testen neuerer Änderungen zwischen offiziellen Releases verfügbar. Bitte verwenden Sie diese auf eigenes Risiko. Wir raten dringend davon ab, diese in Produktionsumgebungen einzusetzen, da die Unterstützung für Nightly-Builds begrenzt ist.

Trainings-Installationskatalog für alle Sprachen

Weitere detaillierte Installationsanweisungen finden Sie auf der Seite Erste Schritte mit Optimized Training.