Build für On-Device-Training
Voraussetzungen
- Python 3.x
- CMake
Build-Anweisungen für die Trainingsphase
-
Repository klonen
git clone --recursive https://github.com/Microsoft/onnxruntime.git cd onnxruntime -
ONNX Runtime für
On-Device Trainingerstellena. Für Windows
.\build.bat --config RelWithDebInfo --cmake_generator "Visual Studio 17 2022" --build_shared_lib --parallel --enable_training_apisb. Für Linux
./build.sh --config RelWithDebInfo --build_shared_lib --parallel --enable_training_apisc. Für Android
Siehe die Android Build-Anweisungen und füge das Build-Flag
--enable_training_apishinzu.d. Für MacOS
Siehe die macOS Inferenz Build-Anweisungen und füge das Build-Flag
--enable_training_apishinzu.e. Für iOS
Siehe die iOS Build-Anweisungen und füge das Build-Flag
--enable_training_apishinzu.f. Für Web
Siehe die Web Build-Anweisungen.
Hinweis
Um die C#-Bindings zu erstellen, füge das Flag
--build_nugetzum obigen Build-Befehl hinzu.- Um das Python-Wheel zu erstellen
- füge das Flag
--build_wheelzum obigen Build-Befehl hinzu.- installiere das Wheel mit
python -m pip install build/Linux/RelWithDebInfo/dist/*.whlDas
config-Flag kann eines vonDebug,RelWithDebInfo,Release,MinSizeRelsein. Verwende das, das zu deinem Anwendungsfall passt.Das Flag
--enable_training_apiskann in Verbindung mit dem Flag--minimal_buildverwendet werden.Die Offline-Phase zur Generierung der Trainingsartefakte kann nur mit Python (unter Verwendung des Flags
--build_wheel) durchgeführt werden.- Die obigen Build-Befehle erstellen nur für den CPU-Ausführungsanbieter. Um für den CUDA-Ausführungsanbieter zu erstellen, füge diese Flags hinzu:
--use_cuda--cuda_home {Verzeichnis zu deinem CUDA Home, zum Beispiel /usr/local/cuda/}--cudnn_home {Verzeichnis zu deinem CUDA Home, zum Beispiel /usr/local/cuda/}--cuda_version={Version zum Beispiel 11.8}
Build für Training großer Modelle
Inhalt
Linux
./build.sh --config RelWithDebInfo --build_shared_lib --parallel --enable_training
GPU / CUDA
Voraussetzungen
Der Standard-NVIDIA-GPU-Build erfordert, dass CUDA-Runtime-Bibliotheken auf dem System installiert sind
Build-Anweisungen
-
Checkout dieses Code-Repositorys mit
git clone https://github.com/microsoft/onnxruntime cd onnxruntime - Umgebungsvariablen setzen: Pfade für Speicherorte auf deinem Build-Rechner anpassen
export CUDA_HOME=<location for CUDA libs> # e.g. /usr/local/cuda export CUDNN_HOME=<location for cuDNN libs> # e.g. /usr/local/cuda export CUDACXX=<location for NVCC> #e.g. /usr/local/cuda/bin/nvcc -
Erstelle das ONNX Runtime Python-Wheel
./build.sh --config=RelWithDebInfo --enable_training --build_wheel --use_cuda --cuda_home {location of cuda libs eg. /usr/local/cuda/} --cudnn_home {location of cudnn libs eg./usr/local/cuda/} --cuda_version={version for eg. 11.8} -
Installiere die .whl-Datei in
./build/Linux/RelWithDebInfo/distfür ONNX Runtime Training.python -m pip install build/Linux/RelWithDebInfo/dist/*.whl
Das war's! Sobald der Build abgeschlossen ist, solltest du die ONNX Runtime-Bibliotheken und ausführbaren Dateien in deinen Projekten verwenden können. Beachte, dass diese Schritte allgemein gehalten sind und je nach deiner spezifischen Umgebung und Anforderungen angepasst werden müssen. Für weitere Informationen kannst du Hilfe in der ONNX Runtime GitHub-Community erhalten.
GPU / ROCm
Voraussetzungen
Der Standard-AMD-GPU-Build erfordert, dass das ROCm-Software-Toolkit auf dem System installiert ist
- ROCm 6.0.0
Build-Anweisungen
-
Checkout dieses Code-Repositorys mit
git clone https://github.com/microsoft/onnxruntime cd onnxruntime -
Erstelle das ONNX Runtime Python-Wheel
./build.sh --config Release --enable_training --build_wheel --parallel --skip_tests --use_rocm --rocm_home /opt/rocm -
Installiere die .whl-Datei in
./build/Linux/RelWithDebInfo/distfür ONNX Runtime Training.python -m pip install build/Linux/RelWithDebInfo/dist/*.whl
DNNL und MKLML
Build-Anweisungen
Linux
./build.sh --enable_training --use_dnnl
Windows
.\build.bat --enable_training --use_dnnl
Füge --build_wheel hinzu, um das ONNX Runtime Wheel zu erstellen.
Dies erzeugt eine .whl-Datei in build/Linux/RelWithDebInfo/dist für ONNX Runtime Training.