Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

PyTorch

PyTorch est un framework Python open source permettant de créer et d’entraîner des réseaux neuronaux avec des tenseurs GPU et l’autograd. Découvre ses concepts fondamentaux et son parcours de déploiement.

PyTorch est un framework open source permettant de créer, d’entraîner et de déployer des réseaux de neurones en Python. Il fournit des tenseurs accélérés par GPU, la différentiation automatique ainsi qu’une bibliothèque de couches, d’optimiseurs et de fonctions de perte. Il exécute le code de manière immédiate, ligne par ligne, ce qui permet d’écrire et de déboguer les modèles comme des programmes Python ordinaires. Créé chez Facebook AI Research, aujourd’hui Meta AI, PyTorch est gouverné depuis 2022 par la PyTorch Foundation, indépendante des fournisseurs, sous l’égide de la Linux Foundation, et est largement utilisé pour la recherche en apprentissage profond et les modèles de production en vision par ordinateur et en traitement du langage.

Concepts fondamentaux#

  • Tenseurs : tableaux multidimensionnels, comme les tableaux NumPy, qui peuvent résider sur un CPU ou un accélérateur. PyTorch prend en charge les GPU NVIDIA via CUDA, les GPU AMD via ROCm et les puces Apple via Metal (MPS) ; le transfert des données entre ces dispositifs se fait avec un seul appel .to(device).
  • Autograd : à mesure que les opérations sur les tenseurs s’exécutent, PyTorch les enregistre dans un graphe de calcul. L’appel .backward() parcourt ce graphe à rebours et renseigne le gradient de la sortie par rapport à chaque tenseur qui en a besoin ; c’est l’étape de rétropropagation de l’entraînement.
  • Exécution immédiate : le graphe est reconstruit à chaque passe avant, ce qui permet aux modèles d’utiliser des boucles, des conditions et des instructions d’affichage Python ; les erreurs indiquent la ligne exacte où elles se sont produites.
  • Modules et optimiseurs : torch.nn fournit des couches comme les convolutions, l’attention et la normalisation, tandis que torch.optim fournit des optimiseurs comme SGD et Adam, qui mettent à jour les poids à partir des gradients calculés.
  • torch.compile : ajouté dans PyTorch 2.0, il capture le programme exécuté immédiatement sous forme de graphe et génère des noyaux fusionnés, accélérant souvent l’entraînement et l’inférence sans modifier le code du modèle.

L’exemple ci-dessous exécute un petit calcul sur un GPU si celui-ci est disponible et laisse autograd calculer son gradient :

import torch

# Use a GPU when PyTorch can see one, otherwise fall back to the CPU
device = "cuda" if torch.cuda.is_available() else "cpu"

# Tensors record the operations applied to them when requires_grad=True
w = torch.tensor([2.0, -1.0], device=device, requires_grad=True)
x = torch.tensor([3.0, 4.0], device=device)

# Ordinary Python runs eagerly: each line executes immediately
loss = (w * x).sum() ** 2

# Autograd walks the recorded graph backward to get d(loss)/dw
loss.backward()
print(f"device={device}, loss={loss.item()}, grad={w.grad.tolist()}")

Sur une machine sans GPU, le programme affiche device=cpu, loss=4.0, grad=[12.0, 16.0]. La perte est (2·3 − 1·4)² = 4, et autograd renvoie sa dérivée 2·(w·x)·x = [12, 16] sans aucun calcul différentiel écrit à la main ; c’est le même mécanisme qui entraîne des réseaux comprenant des milliards de poids.

PyTorch et les autres outils#

  • TensorFlow : le framework de Google, qui construisait des graphes statiques avant de les exécuter jusqu’à ce que TensorFlow 2 fasse de l’exécution immédiate le comportement par défaut. Il reste courant dans les systèmes de production construits autour de Keras et des outils de déploiement de Google.
  • JAX : la bibliothèque numérique de Google qui transforme des fonctions Python pures au moyen d’opérations grad, jit et vmap composables, compilées par XLA ; elle est appréciée pour la recherche à grande échelle sur TPU.
  • OpenCV : une bibliothèque de vision par ordinateur permettant de lire, transformer et analyser des images à l’aide d’algorithmes classiques. Les pipelines utilisent souvent OpenCV pour charger et prétraiter les images avant leur traitement par un modèle PyTorch.
  • Hugging Face : un hub et un ensemble de bibliothèques reposant en grande partie sur PyTorch, dont la bibliothèque Transformers fournit des modèles préentraînés de langage et de vision sous forme de modules PyTorch.

De la recherche au déploiement#

Un modèle PyTorch entraîné est enregistré sous forme de point de contrôle, généralement dans un fichier .pt ou .pth contenant ses poids. Il peut être exécuté tel quel dans un service Python, mais les appareils périphériques et les serveurs optimisés doivent généralement être convertis vers un environnement d’exécution conçu pour leur matériel :

Ultralytics YOLO26 est écrit en PyTorch : yolo26n.pt est un point de contrôle PyTorch, l’entraînement s’appuie sur autograd et les optimiseurs de PyTorch, et model.export() convertit le modèle vers ces formats de déploiement, notamment ONNX, TensorRT, OpenVINO, Core ML et LiteRT.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique