PyTorch
Explore PyTorch, la bibliothèque principale qui fait fonctionner Ultralytics YOLO26. Découvre ses graphes dynamiques, l’accélération GPU et la création de modèles de deep learning efficaces.
PyTorch est une bibliothèque open source de machine learning principalement développée par Meta AI, qui est devenue une référence 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 créer et d'entraîner des réseaux de neurones complexes à l'aide d'un graphe de calcul dynamique. Cette fonctionnalité, souvent appelée « eager execution », permet d'évaluer le code immédiatement, ce qui rend le débogage et le prototypage nettement plus intuitifs qu'avec les frameworks reposant sur des définitions de graphes statiques. Elle s'intègre parfaitement au langage de programmation Python, comme une extension naturelle des outils standard de calcul scientifique.
Mécanismes fondamentaux et importance#
Au cœur de ce framework se trouvent les tenseurs, des tableaux multidimensionnels similaires à ceux décrits dans la documentation NumPy. Cependant, contrairement aux tableaux standard, les tenseurs PyTorch sont conçus pour tirer parti de l'accélération GPU fournie par NVIDIA CUDA. Cette accélération matérielle est essentielle au traitement massivement parallèle nécessaire pour entraîner efficacement les modèles d'intelligence artificielle (AI) modernes.
La bibliothèque prend en charge un vaste écosystème d'outils pour la vision par ordinateur (CV) et le traitement du langage naturel. Grâce à un riche ensemble de couches, d'optimiseurs et de fonctions de perte prédéfinis, elle simplifie la création d'algorithmes pour des tâches comme la classification d'images et la modélisation de séquences.
Applications concrètes#
La polyvalence de ce framework a conduit à son adoption dans divers secteurs pour des solutions d'IA à fort impact :
-
Véhicules autonomes : Les leaders du secteur utilisent PyTorch pour créer des modèles de deep learning qui traitent les flux vidéo des caméras embarquées. Ces modèles effectuent une détection d'objets en temps réel afin d'identifier les voies, les panneaux et les piétons, pour une navigation plus sûre.
-
Diagnostic médical : Les chercheurs utilisent ce framework pour développer des applications médicales avancées. Par exemple, il permet d'alimenter des systèmes qui analysent des IRM ou des radiographies afin d'aider les médecins à détecter les tumeurs grâce à une segmentation d'image précise.
Comparaison avec les outils associés#
Pour mieux comprendre son rôle, il est utile de distinguer PyTorch des autres outils courants de la pile IA :
- Par rapport à TensorFlow : Développé par Google, TensorFlow s'appuyait 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 matière de fonctionnalités, PyTorch est souvent privilégié pour le prototypage rapide et la recherche grâce à son interface intuitive.
- Par rapport à OpenCV : OpenCV est une bibliothèque axée sur les fonctions traditionnelles de traitement d'images (comme le redimensionnement, le filtrage et la conversion des couleurs), plutôt que sur l'entraînement de réseaux de neurones. Dans un workflow classique, les développeurs utilisent OpenCV pour le prétraitement des données avant d'envoyer les images à un modèle PyTorch pour analyse.
Intégration avec Ultralytics#
Toute la famille de modèles Ultralytics, notamment YOLO26 à la pointe de la technologie et YOLO11, largement utilisé, est construite nativement sur PyTorch. Cette base garantit que tu bénéficies de la rapidité, de la stabilité et du vaste soutien de la communauté offerts par le framework. Qu'il s'agisse d'effectuer un apprentissage par transfert sur des données d'entraînement personnalisées ou d'exporter des modèles vers des appareils edge, l'architecture sous-jacente repose sur les tenseurs et les gradients PyTorch.
La plateforme Ultralytics à venir simplifie encore cette expérience en fournissant une interface unifiée pour gérer la collecte des jeux de données, l'entraînement et le déploiement, sans avoir besoin d'écrire une grande quantité de code répétitif.
L'exemple suivant montre comment vérifier la disponibilité du GPU et exécuter une inférence à l'aide d'un modèle YOLO, en illustrant la manière dont 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)








