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 est un outil open-source de premier plan pour l'apprentissage machine (ML) et l'analyse des donnéesPyTorch d'apprentissage automatique (ML) et d'apprentissage l'apprentissage profond (DL) qui facilite le développement de développement de systèmes intelligents. Développé à l'origine par des chercheurs de Meta AI, il est maintenant régi par la fondation indépendante PyTorch , garantissant une croissance une croissance neutre et pilotée par la communauté. Réputé pour sa flexibilité et sa conception "pythonique", il permet aux développeurs de construire des systèmes complexes. aux développeurs de construire des architectures architectures complexes de réseaux neuronaux (NN) avec un code naturel et intuitif au sein de l'écosystèmePython .

Au fond, le cadre fonctionne sur des tenseurs, qui sont des tableaux multidimensionnels semblables à ceux que l'on trouve dans les systèmes d'information. sont des tableaux multidimensionnels similaires à ceux que l'on trouve dans la base de données NumPy . Cependant, contrairement aux tableaux standard, ces structures de données peuvent être traitées sur un ordinateur, Cependant, contrairement aux tableaux standard, ces structures de données peuvent être traitées sur une base de données. GPU afin d'accélérer considérablement la vitesse de calcul. Cette capacité est essentielle pour gérer le traitement parallèle massif requis lors de l'entraînement des modèles d'IA modernes pour des tâches telles que l'analyse de l'information. modèles d'IA modernes pour des tâches telles que la vision artificielle (CV) et la compréhension du naturel.

Principales caractéristiques et avantages

PyTorch se distingue des autres frameworks par un ensemble spécifique de choix de conception qui donnent la priorité à la productivité des développeurs et à la facilité de débogage. développeurs et la facilité de débogage :

  • Graphes de calcul dynamiques : Contrairement aux frameworks qui utilisent historiquement des graphes statiques (définissant le réseau avant de l'exécuter), PyTorch utilise une philosophie de "définition par exécution". avant de l'exécuter), PyTorch utilise une philosophie de "définition par exécution". Cela permet aux développeurs de modifier Cela permet aux développeurs de modifier le graphe à la volée, ce qui facilite le débogage et la gestion des entrées de longueur variable, ce qui est particulièrement utile dans le traitement du langage naturel (NLP). traitement du langage naturel (NLP).
  • Différenciation automatique : Le cadre comprend un module appelé autograd qui calcule automatiquement les gradients, c'est-à-dire les dérivées mathématiques nécessaires à l'obtention d'un résultat positif. rétropropagation. Cela simplifie la l'implémentation de algorithmes d'optimisation pendant la formation.
  • Un écosystème robuste : Il est soutenu par des bibliothèques spécifiques à un domaine, telles que TorchVision pour les tâches liées à l'image, qui fournit des modèles pré-entraînés et des ensembles de données. modèles pré-entraînés et des ensembles de données, et TorchAudio pour le traitement du son.
  • Déploiement transparent : Avec des outils tels que TorchScriptles modèles peuvent être transférés d'un environnement l'environnement de recherche au déploiement en production sans dépendances lourdes, ce qui permet un efficace des modèles.

Applications concrètes

La flexibilité de ce cadre a conduit à son adoption généralisée dans diverses industries pour des applications à fort impact. pour des applications à fort impact :

  1. Conduite autonome : Des entreprises comme Tesla utilisent des modèles d'apprentissage profond construits sur PyTorch pour traiter les flux vidéo provenant des caméras des véhicules. d'apprentissage profond construits sur PyTorch pour traiter les flux vidéo provenant des caméras des véhicules. Ces modèles effectuent en temps réel détection d'objets en temps réel pour identifier les voies de circulation, les piétons et les autres véhicules, et les autres véhicules, ce qui permet aux véhicules autonomes de naviguer en toute sécurité.
  2. Diagnostics de santé : Dans le domaine de l'analyse d'images médicales l 'analyse d'images médicales, les chercheurs utilisent le cadre pour former des modèles qui detect anomalies dans les radiographies et les IRM. Par exemple, NVIDIA Clara exploite ces capacités pour aider les radiologues à radiologues à identifier les tumeurs avec une plus grande segmentation d'images.

PyTorch vs. autres outils

Pour comprendre la place de PyTorch dans la boîte à outils du développeur, il est utile de le distinguer des technologies apparentées :

  • Vs. TensorFlow: Bien qu'il s'agisse dans les deux cas d'apprentissage profond, TensorFlow (développé par Google) est historiquement connu pour ses graphes statiques et ses flux de travail lourds à déployer. des flux de travail lourds en termes de déploiement. PyTorch est souvent préféré dans la recherche et le prototypage rapide en raison de sa nature dynamique et de sa facilité d'utilisation. et sa facilité d'utilisation, bien que les deux aient convergé en termes de fonctionnalités au fil du temps.
  • Vs. OpenCV: OpenCV est une bibliothèque dédiée au traitement traditionnel des images (redimensionnement, filtrage, conversion des couleurs) plutôt qu'à l'apprentissage profond. au traitement traditionnel des images (redimensionnement, filtrage, conversion des couleurs) plutôt qu'à l'apprentissage profond. Dans un typique, les développeurs utilisent OpenCV pour le prétraitement des données avant d'introduire les images dans un réseau neuronal PyTorch pour l'analyse.

Intégration avec Ultralytics

Tous les produits Ultralytics YOLO11 sont construits nativement sur PyTorch. Les utilisateurs bénéficient ainsi de la rapidité du framework et du soutien de la communauté. Qu'il s'agisse de faire de l'apprentissage par transfert l 'apprentissage par transfert sur un ensemble de données déployer un modèle pour l'edge computing, l'architecture sous-jacente s'appuie sur les tenseurs et les gradients de PyTorch .

La future plateformeUltralytics simplifie encore cette expérience, une interface rationalisée pour la formation et la gestion de ces modèles sans qu'il soit nécessaire d'écrire un code de code.

L'exemple suivant montre comment charger un modèle pré-entraîné et exécuter l'inférence. fonctionne sous le capot pour gérer des calculs lourds :

from ultralytics import YOLO

# Load a standard YOLO11 model (built on PyTorch)
model = YOLO("yolo11n.pt")

# Perform object detection on an image
# PyTorch handles the tensor operations and GPU acceleration automatically
results = model("https://ultralytics.com/images/bus.jpg")

# Print the number of objects detected
print(f"Detected {len(results[0].boxes)} objects.")

Rejoindre la communauté Ultralytics

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

Rejoindre maintenant