PyTorch
Explore PyTorch, la bibliothèque centrale alimentant Ultralytics YOLO26. Apprends ses graphes dynamiques, l'accélération GPU et comment construire des modèles d'apprentissage profond efficaces.
PyTorch est une bibliothèque de machine learning open-source principalement développée par Meta AI qui est devenue une pierre angulaire pour les chercheurs et les développeurs dans le domaine du deep learning. Connue pour sa flexibilité et sa simplicité d'utilisation, elle permet de construire et d'entraîner des neural networks complexes à l'aide d'un graphe de calcul dynamique. Cette fonctionnalité, souvent appelée "eager execution", permet d'évaluer le code immédiatement, rendant le debugging et le prototypage beaucoup plus intuitifs par rapport aux frameworks qui reposent sur des définitions de graphes statiques. Elle s'intègre de manière transparente avec le langage de programmation Python, donnant l'impression d'être une extension naturelle des outils de calcul scientifique standard.
Mécanismes fondamentaux et importance#
Au cœur de ce framework se trouvent des tensors, qui sont des tableaux multidimensionnels similaires à ceux que l'on trouve dans la NumPy documentation. Cependant, contrairement aux tableaux standard, les tensors PyTorch sont conçus pour exploiter la GPU acceleration fournie par NVIDIA CUDA. Cette accélération matérielle est essentielle pour le traitement parallèle massif requis pour entraîner efficacement les modèles d'intelligence artificielle modernes artificial intelligence (AI).
La bibliothèque prend en charge un vaste écosystème d'outils pour la computer vision (CV) et le traitement du langage naturel. En fournissant un ensemble riche de couches pré-construites, d'optimiseurs et de fonctions de perte, elle simplifie le processus de création d'algorithmes pour des tâches telles que l'image classification et la modélisation de séquences.
Applications concrètes#
La polyvalence de ce framework a conduit à son adoption dans diverses industries pour des solutions AI à fort impact :
-
Autonomous Vehicles : Les leaders de l'industrie tirent parti de PyTorch pour construire des modèles de deep learning qui traitent les flux vidéo provenant des caméras de voitures. Ces modèles effectuent une object detection en temps réel pour identifier les voies, les panneaux et les piétons, permettant une navigation plus sûre.
-
Diagnostics médicaux : Les chercheurs utilisent le framework pour développer des applications de santé avancées. Par exemple, il alimente des systèmes qui analysent des examens IRM ou des radiographies pour aider les médecins à détecter des tumeurs via une image segmentation précise.
Comparaison avec des outils connexes#
Pour mieux comprendre son rôle, il est utile de distinguer PyTorch des autres outils courants de la pile AI :
- Vs. TensorFlow : Développé par Google, TensorFlow reposait historiquement sur des graphes de calcul statiques, ce qui rendait le débogage plus difficile mais optimisait le déploiement. Bien que les deux frameworks aient convergé en termes de fonctionnalités, PyTorch est souvent préféré pour le prototypage rapide et la recherche en raison de son interface intuitive.
- Vs. OpenCV : OpenCV est une bibliothèque axée sur les fonctions de traitement d'image traditionnelles (comme le redimensionnement, le filtrage et la conversion de couleur) plutôt que sur l'entraînement de réseaux de neurones. Dans un flux de travail typique, les développeurs utilisent OpenCV pour le data preprocessing avant d'injecter les images dans un modèle PyTorch pour analyse.
Intégration avec Ultralytics#
L'ensemble de la famille de modèles Ultralytics, incluant le YOLO26 de pointe et le YOLO11 largement utilisé, est construit nativement sur PyTorch. Cette base garantit que les utilisateurs bénéficient de la vitesse, de la stabilité et du support communautaire étendu du framework. Qu'il s'agisse d'effectuer du transfer learning sur des training data personnalisées ou d'exporter des modèles pour des appareils edge, l'architecture sous-jacente repose sur des tensors et des gradients PyTorch.
La prochaine Ultralytics Platform simplifie encore cette expérience, en fournissant une interface unifiée pour gérer l'approvisionnement en datasets, l'entraînement et le déploiement sans avoir besoin d'écrire beaucoup de code passe-partout.
L'exemple suivant montre comment vérifier la disponibilité du GPU et exécuter l'inférence en utilisant un modèle YOLO, illustrant comment le framework gère l'accélération matérielle en arrière-plan :
import torch
from ultralytics import YOLO
# Check if CUDA (GPU) is available for PyTorch acceleration
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"PyTorch is using device: {device}")
# Load a YOLO26n model (built on PyTorch)
model = YOLO("yolo26n.pt")
# Perform object detection on an image
# PyTorch handles tensor operations and moves data to the GPU automatically
results = model("https://ultralytics.com/images/bus.jpg", device=device)





