Guide de démarrage rapide : NVIDIA Spark avec Ultralytics YOLO11
Ce guide complet fournit des instructions détaillées pour déployer Ultralytics YOLO11 NVIDIA Spark, le supercalculateur IA compact de bureau NVIDIA. Il présente également des benchmarks de performances afin de démontrer les capacités de YOLO11 ce système puissant.

Remarque
Ce guide a été testé avec NVIDIA Spark Founders Edition exécutant DGX OS basé sur Ubuntu. Il devrait fonctionner avec les dernières versions de DGX OS.
Qu'est-ce que NVIDIA Spark ?
NVIDIA Spark est un supercalculateur IA compact pour ordinateur de bureau équipé de la superpuce NVIDIA Grace Blackwell. Il offre jusqu'à 1 pétaFLOP de puissance de calcul IA avec une précision FP4, ce qui le rend idéal pour les développeurs, les chercheurs et les scientifiques des données qui ont besoin de puissantes capacités IA dans un format de bureau.
Caractéristiques techniques principales
| Spécification | Détails |
|---|---|
| Performance de l'IA | Jusqu'à 1 PFLOP (FP4) |
| GPU | Architecture NVIDIA avec Tensor de 5e génération et cœurs RT de 4e génération |
| CPU | Processeur Arm à 20 cœurs (10 Cortex-X925 + 10 Cortex-A725) |
| Mémoire | Mémoire système unifiée LPDDR5x de 128 Go, interface 256 bits, 4266 MHz, bande passante de 273 Go/s |
| Stockage | 1 To ou 4 To NVMe M.2 avec auto-chiffrement |
| Réseau | 1x RJ-45 (10 GbE), carte réseau intelligente ConnectX-7, Wi-Fi 7, Bluetooth 5.4 |
| Connectivité | 4 ports USB Type-C, 1 port HDMI 2.1a, audio multicanal HDMI |
| Traitement vidéo | 1x NVENC, 1x NVDEC |
DGX OS
NVIDIA OS est une distribution Linux personnalisée qui fournit une base système d'exploitation stable, testée et prise en charge pour exécuter des applications d'IA, d'apprentissage automatique et d'analyse sur les systèmes DGX. Elle comprend :
- Une base Linux robuste optimisée pour les charges de travail liées à l'IA
- Pilotes et paramètres système préconfigurés pour NVIDIA
- Mises à jour de sécurité et capacités de maintenance du système
- Compatibilité avec l'écosystème NVIDIA au sens large
DGX OS suit un calendrier de publication régulier, avec des mises à jour généralement fournies deux fois par an (vers février et août), et des correctifs de sécurité supplémentaires fournis entre les versions majeures.
Tableau de bord DGX
DGX Spark est équipé d'un tableau de bord DGX intégré qui offre :
- Surveillance du système en temps réel: aperçu des indicateurs opérationnels actuels du système
- Mises à jour du système: possibilité d'appliquer les mises à jour directement depuis le tableau de bord
- Paramètres système: modifier le nom de l'appareil et d'autres configurations
- JupyterLab intégré: accédez aux notebooks Jupyter locaux pour le développement

Accéder au tableau de bord
Cliquez sur le bouton « Afficher les applications » dans le coin inférieur gauche du bureau Ubuntu, puis sélectionnez « DGX Dashboard » pour l'ouvrir dans votre navigateur.
# Open an SSH tunnel
ssh -L 11000:localhost:11000 <username>@<IP or spark-abcd.local>
# Then open in browser
# http://localhost:11000
Après vous être connecté à NVIDIA , cliquez sur le bouton « DGX Dashboard » pour ouvrir le tableau de bord à l'adresse http://localhost:11000.
JupyterLab intégré
Le tableau de bord comprend une instance JupyterLab intégrée qui crée automatiquement un environnement virtuel et installe les paquets recommandés au démarrage. Chaque compte utilisateur se voit attribuer un port dédié pour l'accès à JupyterLab.
Démarrage rapide avec Docker
La manière la plus rapide de démarrer avec Ultralytics YOLO11 NVIDIA Spark consiste à utiliser des images Docker pré-construites. La même image Docker qui prend en charge Jetson AGX Thor (JetPack 7.0) fonctionne sur DGX Spark avec DGX OS.
t=ultralytics/ultralytics:latest-nvidia-arm64
sudo docker pull $t && sudo docker run -it --ipc=host --runtime=nvidia --gpus all $t
Une fois cette opération terminée, passez à la section Utilisation TensorRT NVIDIA Spark.
Commencer avec l'installation native
Pour une installation native sans Docker, procédez comme suit.
Installer le paquet Ultralytics
Nous allons ici installer Ultralytics sur DGX Spark avec les dépendances optionnelles afin de pouvoir exporter le PyTorch vers d'autres formats différents. Nous nous concentrerons principalement sur TensorRT NVIDIA TensorRT , car TensorRT nous TensorRT de tirer le meilleur parti des performances de DGX Spark.
Mettre à jour la liste des paquets, installer pip et mettre à niveau vers la dernière version
sudo apt update sudo apt install python3-pip -y pip install -U pipInstaller
ultralyticsPaquet pip avec des dépendances optionnellespip install ultralytics[export]Redémarrez l'appareil
sudo reboot
Installer PyTorch et Torchvision
ultralytics ci-dessus installera Torch Torchvision. Cependant, ces paquets installés via pip peuvent ne pas être entièrement optimisés pour l'architecture ARM64 du DGX Spark avec CUDA . Nous vous recommandons donc d'installer les versions compatibles CUDA :
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130
Info
Lorsque vous exécutez PyTorch .9.1 sur NVIDIA Spark, vous pouvez rencontrer le problème suivant UserWarning lors de l'initialisation CUDA par exemple, lors de l'exécution de yolo checks, yolo predict, etc.) :
UserWarning: Found GPU0 NVIDIA GB10 which is of cuda capability 12.1.
Minimum and Maximum cuda capability supported by this version of PyTorch is (8.0) - (12.0)
Cet avertissement peut être ignoré sans risque. Pour résoudre ce problème de manière permanente, un correctif a été soumis dans PyTorch #164590 et sera inclus dans la version PyTorch . PyTorch .
Installer onnxruntime-gpu
L'argument onnxruntime-gpu package hébergé dans PyPI n'a pas aarch64 binaires pour les systèmes ARM64. Nous devons donc installer ce paquet manuellement. Ce paquet est nécessaire pour certaines exportations.
Ici, nous allons télécharger et installer onnxruntime-gpu 1.24.0 avec Python3.12 support.
pip install https://github.com/ultralytics/assets/releases/download/v0.0.0/onnxruntime_gpu-1.24.0-cp312-cp312-linux_aarch64.whl
Utilisez TensorRT NVIDIA Spark
Parmi tous les formats d'exportation de modèles pris en charge par Ultralytics, TensorRT les meilleures performances d'inférence sur NVIDIA Spark, ce qui en fait notre recommandation numéro un pour les déploiements. Pour obtenir des instructions de configuration et des informations sur l'utilisation avancée, consultez notre guide dédié TensorRT .
Convertir le modèle en TensorRT et exécuter l'inférence
Le modèle YOLO11n au format PyTorch est converti en TensorRT pour exécuter l'inférence avec le modèle exporté.
Exemple
from ultralytics import YOLO
# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")
# Export the model to TensorRT
model.export(format="engine") # creates 'yolo11n.engine'
# Load the exported TensorRT model
trt_model = YOLO("yolo11n.engine")
# Run inference
results = trt_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO11n PyTorch model to TensorRT format
yolo export model=yolo11n.pt format=engine # creates 'yolo11n.engine'
# Run inference with the exported model
yolo predict model=yolo11n.engine source='https://ultralytics.com/images/bus.jpg'
Remarque
Consultez la page d’exportation pour accéder à des arguments supplémentaires lors de l’exportation de modèles vers différents formats de modèles.
YOLO11 NVIDIA Spark YOLO11
YOLO11 ont été exécutés par Ultralytics sur plusieurs formats de modèles afin de mesurer la vitesse et la précision: PyTorch, TorchScript, ONNX, OpenVINO, TensorRT, TF SavedModel, TF GraphDef, TF , MNN, NCNN, ExecuTorch. Les benchmarks ont été exécutés sur NVIDIA Spark avec une précision FP32 et une taille d'image d'entrée par défaut de 640.
Tableau comparatif détaillé
Le tableau ci-dessous présente les résultats de référence pour cinq modèles différents (YOLO11n, YOLO11s, YOLO11m, YOLO11l, YOLO11x) dans plusieurs formats, en indiquant le statut, la taille, la métrique mAP50(B) et le temps d'inférence pour chaque combinaison.
Performance
| Format | Statut | Taille sur le disque (Mo) | mAP50-95(B) | Temps d'inférence (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 5.4 | 0.5071 | 2.67 |
| TorchScript | ✅ | 10.5 | 0.5083 | 2.62 |
| ONNX | ✅ | 10.2 | 0.5074 | 5.92 |
| OpenVINO | ✅ | 10.4 | 0.5058 | 14.95 |
| TensorRT (FP32) | ✅ | 12.8 | 0.5085 | 1.95 |
| TensorRT (FP16) | ✅ | 7.0 | 0.5068 | 1.01 |
| TensorRT (INT8) | ✅ | 18.6 | 0.4880 | 1.62 |
| TF SavedModel | ✅ | 25.7 | 0.5076 | 36.39 |
| TF GraphDef | ✅ | 10.3 | 0.5076 | 41.06 |
| TF Lite | ✅ | 10.3 | 0.5075 | 64.36 |
| MNN | ✅ | 10.1 | 0.5075 | 12.14 |
| NCNN | ✅ | 10.2 | 0.5041 | 12.31 |
| ExecuTorch | ✅ | 10.2 | 0.5075 | 27.61 |
| Format | Statut | Taille sur le disque (Mo) | mAP50-95(B) | Temps d'inférence (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 18.4 | 0.5767 | 5.38 |
| TorchScript | ✅ | 36.5 | 0.5781 | 5.48 |
| ONNX | ✅ | 36.3 | 0.5784 | 8.17 |
| OpenVINO | ✅ | 36.4 | 0.5809 | 27.12 |
| TensorRT (FP32) | ✅ | 39.8 | 0.5783 | 3.59 |
| TensorRT (FP16) | ✅ | 20.1 | 0.5800 | 1.85 |
| TensorRT (INT8) | ✅ | 17.5 | 0.5664 | 1.88 |
| TF SavedModel | ✅ | 90.8 | 0.5782 | 66.63 |
| TF GraphDef | ✅ | 36.3 | 0.5782 | 71.67 |
| TF Lite | ✅ | 36.3 | 0.5782 | 187.36 |
| MNN | ✅ | 36.2 | 0.5775 | 27.05 |
| NCNN | ✅ | 36.2 | 0.5806 | 26.26 |
| ExecuTorch | ✅ | 36.2 | 0.5782 | 54.73 |
| Format | Statut | Taille sur le disque (Mo) | mAP50-95(B) | Temps d'inférence (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 38.8 | 0.6254 | 11.14 |
| TorchScript | ✅ | 77.3 | 0.6304 | 12.00 |
| ONNX | ✅ | 76.9 | 0.6304 | 13.83 |
| OpenVINO | ✅ | 77.1 | 0.6284 | 62.44 |
| TensorRT (FP32) | ✅ | 79.9 | 0.6305 | 6.96 |
| TensorRT (FP16) | ✅ | 40.6 | 0.6313 | 3.14 |
| TensorRT (INT8) | ✅ | 26.6 | 0.6204 | 3.30 |
| TF SavedModel | ✅ | 192.4 | 0.6306 | 139.85 |
| TF GraphDef | ✅ | 76.9 | 0.6306 | 146.76 |
| TF Lite | ✅ | 76.9 | 0.6306 | 568.18 |
| MNN | ✅ | 76.8 | 0.6306 | 67.67 |
| NCNN | ✅ | 76.8 | 0.6308 | 60.49 |
| ExecuTorch | ✅ | 76.9 | 0.6306 | 120.37 |
| Format | Statut | Taille sur le disque (Mo) | mAP50-95(B) | Temps d'inférence (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 49.0 | 0.6366 | 13.95 |
| TorchScript | ✅ | 97.6 | 0.6399 | 15.67 |
| ONNX | ✅ | 97.0 | 0.6399 | 16.62 |
| OpenVINO | ✅ | 97.3 | 0.6377 | 78.80 |
| TensorRT (FP32) | ✅ | 99.2 | 0.6407 | 8.86 |
| TensorRT (FP16) | ✅ | 50.8 | 0.6350 | 3.85 |
| TensorRT (INT8) | ✅ | 32.5 | 0.6224 | 4.52 |
| TF SavedModel | ✅ | 242.7 | 0.6409 | 187.45 |
| TF GraphDef | ✅ | 97.0 | 0.6409 | 193.92 |
| TF Lite | ✅ | 97.0 | 0.6409 | 728.61 |
| MNN | ✅ | 96.9 | 0.6369 | 85.21 |
| NCNN | ✅ | 96.9 | 0.6373 | 77.62 |
| ExecuTorch | ✅ | 97.0 | 0.6409 | 153.56 |
| Format | Statut | Taille sur le disque (Mo) | mAP50-95(B) | Temps d'inférence (ms/im) |
|---|---|---|---|---|
| PyTorch | ✅ | 109.3 | 0.6992 | 23.19 |
| TorchScript | ✅ | 218.1 | 0.6900 | 25.75 |
| ONNX | ✅ | 217.5 | 0.6900 | 27.43 |
| OpenVINO | ✅ | 217.8 | 0.6872 | 149.44 |
| TensorRT (FP32) | ✅ | 222.7 | 0.6902 | 13.87 |
| TensorRT (FP16) | ✅ | 111.1 | 0.6883 | 6.19 |
| TensorRT (INT8) | ✅ | 62.9 | 0.6793 | 6.62 |
| TF SavedModel | ✅ | 543.9 | 0.6900 | 335.10 |
| TF GraphDef | ✅ | 217.5 | 0.6900 | 348.86 |
| TF Lite | ✅ | 217.5 | 0.6900 | 1578.66 |
| MNN | ✅ | 217.3 | 0.6874 | 168.95 |
| NCNN | ✅ | 217.4 | 0.6901 | 132.13 |
| ExecuTorch | ✅ | 217.4 | 0.6900 | 297.17 |
Évalué avec Ultralytics .3.249
Reproduire nos résultats
Pour reproduire les benchmarks Ultralytics ci-dessus sur tous les formats d’exportation, exécutez ce code :
Exemple
from ultralytics import YOLO
# Load a YOLO11n PyTorch model
model = YOLO("yolo11n.pt")
# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all export formats
results = model.benchmark(data="coco128.yaml", imgsz=640)
# Benchmark YOLO11n speed and accuracy on the COCO128 dataset for all export formats
yolo benchmark model=yolo11n.pt data=coco128.yaml imgsz=640
Notez que les résultats des tests de performance peuvent varier en fonction de la configuration matérielle et logicielle exacte d'un système, ainsi que de la charge de travail actuelle du système au moment où les tests sont effectués. Pour obtenir les résultats les plus fiables, utilisez un ensemble de données contenant un grand nombre d'images, par exemple data='coco.yaml' (5000 images de validation).
Meilleures pratiques pour NVIDIA Spark
Lorsque vous utilisez NVIDIA Spark, il existe plusieurs bonnes pratiques à suivre afin d'optimiser les performances de YOLO11.
Surveiller les performances du système
Utilisez les outils de surveillance NVIDIA pour track CPU GPU CPU :
nvidia-smiOptimiser l'utilisation de la mémoire
Avec 128 Go de mémoire unifiée, DGX Spark peut traiter des lots et des modèles de grande taille. Envisagez d'augmenter la taille des lots pour améliorer le débit :
from ultralytics import YOLO model = YOLO("yolo11n.engine") results = model.predict(source="path/to/images", batch=16)Utilisez TensorRT FP16 ou INT8
Pour obtenir les meilleures performances, exportez les modèles avec une précision FP16 ou INT8 :
yolo export model=yolo11n.pt format=engine half=True # FP16 yolo export model=yolo11n.pt format=engine int8=True # INT8
Mises à jour du système (édition Founders)
Il est essentiel de maintenir votre DGX Spark Founders Edition à jour pour garantir ses performances et sa sécurité. NVIDIA deux méthodes principales pour mettre à jour le système d'exploitation, les pilotes et le micrologiciel du système.
Utilisation du tableau de bord DGX (recommandé)
Le tableau de bord DGX est le moyen recommandé pour effectuer les mises à jour du système et garantir la compatibilité. Il vous permet de :
- Afficher les mises à jour système disponibles
- Installez les correctifs de sécurité et les mises à jour du système.
- Gérer les mises à jour NVIDIA et micrologiciels NVIDIA
Mises à jour manuelles du système
Pour les utilisateurs avancés, les mises à jour peuvent être effectuées manuellement via le terminal :
sudo apt update
sudo apt dist-upgrade
sudo fwupdmgr refresh
sudo fwupdmgr upgrade
sudo reboot
Avertissement
Assurez-vous que votre système est connecté à une source d'alimentation stable et que vous avez sauvegardé les données critiques avant d'effectuer les mises à jour.
Prochaines étapes
Pour plus d'informations et d'assistance, consultez la YOLO11 Ultralytics YOLO11 .
FAQ
Comment déployer Ultralytics YOLO11 NVIDIA Spark ?
Le déploiement Ultralytics YOLO11 NVIDIA Spark est très simple. Vous pouvez utiliser l'image Docker pré-construite pour une configuration rapide ou installer manuellement les paquets requis. Vous trouverez les étapes détaillées pour chaque approche dans les sections Démarrage rapide avec Docker et Démarrer avec l'installation native.
Quelles performances puis-je attendre de YOLO11 NVIDIA Spark ?
YOLO11 offrent d'excellentes performances sur DGX Spark grâce à la superpuce GB10 Grace Blackwell. Le TensorRT offre les meilleures performances d'inférence. Consultez la section Tableau comparatif détaillé pour connaître les résultats spécifiques des tests de performance pour différentes tailles et différents formats de modèles.
Pourquoi devrais-je utiliser TensorRT YOLO11 DGX Spark ?
TensorRT fortement recommandé pour le déploiement YOLO11 sur DGX Spark en raison de ses performances optimales. Il accélère l'inférence en tirant parti des GPU Blackwell, garantissant une efficacité et une vitesse maximales. Pour en savoir plus, consultez la section Utilisation TensorRT NVIDIA Spark.
Comment DGX Spark se compare-t-il aux appareils Jetson pour YOLO11?
DGX Spark offre une puissance de calcul nettement supérieure à celle des appareils Jetson, avec jusqu'à 1 PFLOP de performances IA et 128 Go de mémoire unifiée, contre 2070 TFLOPS et 128 Go de mémoire pour Jetson AGX Thor. DGX Spark est conçu comme un supercalculateur IA de bureau, tandis que les appareils Jetson sont des systèmes embarqués optimisés pour un déploiement en périphérie.
Puis-je utiliser la même image Docker pour DGX Spark et Jetson AGX Thor ?
Oui ! Le ultralytics/ultralytics:latest-nvidia-arm64 L'image Docker prend en charge à la fois NVIDIA Spark (avec DGX OS) et Jetson AGX Thor (avec JetPack 7.0), car les deux utilisent l'architecture ARM64 avec CUDA et des piles logicielles similaires.