Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

PyTorch

Découvrez PyTorch, le framework d'apprentissage machine flexible, Python, qui alimente des innovations en IA comme Ultralytics YOLO. Construisez plus vite et plus intelligemment dès aujourd'hui !

PyTorch un framework open source de premier plan dédié à l'apprentissage automatique (ML) qui est devenu un outil standard pour les chercheurs et les développeurs qui créent des systèmes intelligents. Développé à l'origine par les chercheurs de Meta AI, il est désormais géré par la PyTorch , qui garantit sa croissance et sa neutralité grâce à la communauté. Réputé pour sa flexibilité et sa conception « pythonesque », ce framework permet aux utilisateurs de construire des architectures de réseaux neuronaux (NN) complexes à l'aide d'un code intuitif qui s'intègre parfaitement à Python au sens large.

Au cœur de la bibliothèque se trouvent les tenseurs, qui sont des tableaux multidimensionnels similaires à ceux utilisés dans NumPy. Cependant, contrairement aux tableaux standard , PyTorch peuvent être traités sur un GPU unité de traitement graphique) à l'aide de NVIDIA CUDA . Cette capacité accélère considérablement les calculs matriciels massifs requis pour les tâches d'apprentissage profond (DL), ce qui permet de former efficacement des modèles sur des millions d'images ou de grandes quantités de données textuelles.

Fonctionnalités et avantages principaux

PyTorch distingue par plusieurs choix de conception qui privilégient la productivité des développeurs et la facilité de débogage :

  • Graphiques computationnels dynamiques: Le cadre utilise une approche « define-by-run », ce qui signifie que la structure du graphique est construite au fur et à mesure de l'exécution du code. Cela permet des changements dynamiques pendant l'exécution, ce qui est particulièrement avantageux pour les tâches de traitement du langage naturel (NLP) impliquant des entrées de longueur variable.
  • Différenciation automatique : Le autograd Le système calcule automatiquement les gradients, c'est-à-dire les dérivées nécessaires pour rétropropagation—simplifier la mise en œuvre de complexes algorithmes d'optimisation sans nécessiter de calcul manuel.
  • Écosystème étendu : il prend en charge des bibliothèques spécifiques à certains domaines, telles que TorchVision pour l'analyse d'images, TorchAudio pour le son et TorchText pour le langage, fournissant des modèles pré-entraînés et des ensembles de données pour accélérer le développement.
  • Déploiement de production transparent : des outils tels que TorchScript permettent aux développeurs de faire passer les modèles d'un environnement de recherche flexible à des paramètres de production hautement performants, ce qui facilite le déploiement efficace des modèles sur diverses plateformes.

Applications concrètes

La polyvalence de ce cadre a conduit à son adoption dans divers secteurs pour des solutions d'IA à fort impact :

  1. Véhicules autonomes: Les leaders du secteur tels que Tesla AI exploitent PyTorch créer des modèles d'apprentissage profond qui traitent les flux vidéo provenant des caméras embarquées dans les voitures. Ces modèles effectuent une détection d'objets en temps réel afin d'identifier les voies, les panneaux et les piétons, ce qui permet une navigation plus sûre.
  2. Diagnostic médical : les chercheurs utilisent ce cadre pour développer des applications avancées de vision par ordinateur (CV) destinées au secteur de la santé. Par exemple, il alimente des systèmes qui analysent les IRM ou les radiographies afin d'aider les médecins à détecter des tumeurs grâce à une segmentation précise des images.

Comparaison avec des outils similaires

Pour mieux comprendre son rôle, il est utile de distinguer PyTorch autres outils courants de la pile IA :

  • Vs. TensorFlow: développé par Google, TensorFlow s'appuyait TensorFlow sur des graphes computationnels 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 souvent préféré pour le prototypage rapide et la recherche en raison de son interface intuitive.
  • Vs. OpenCV: OpenCV une bibliothèque axée sur les fonctions traditionnelles de traitement d'images (telles que le redimensionnement, le filtrage et la conversion des couleurs) plutôt que sur l'entraînement des réseaux neuronaux. Dans un flux de travail type, les développeurs utilisent OpenCV le prétraitement des données avant d'introduire les images dans un PyTorch pour analyse.

Intégration avec Ultralytics

Toute la gamme Ultralytics , y compris le modèle de pointe YOLO26 et le très répandu YOLO11, est construite de manière native sur PyTorch. Cette base garantit aux utilisateurs de bénéficier de la vitesse, de la stabilité et du soutien étendu de la communauté du framework. Qu'il s'agisse d'effectuer un transfert d'apprentissage sur des données d'entraînement personnalisées ou d'exporter des modèles pour des appareils de pointe, l' architecture sous-jacente s'appuie sur PyTorch et les gradients PyTorch .

La future Ultralytics simplifie encore davantage cette expérience, en fournissant une interface unifiée pour gérer l'approvisionnement, la formation et le déploiement des ensembles de données sans avoir à écrire de code standardisé.

L'exemple suivant montre comment vérifier GPU et exécuter une inférence à l'aide d'un YOLO , illustrant ainsi 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)

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant