PyTorch - Présentation

PyTorch est défini comme une bibliothèque d'apprentissage automatique open source pour Python. Il est utilisé pour des applications telles que le traitement du langage naturel. Il est initialement développé par le groupe de recherche sur l'intelligence artificielle de Facebook et le logiciel Pyro d'Uber pour la programmation probabiliste qui en est basé.

À l'origine, PyTorch a été développé par Hugh Perkins comme un wrapper Python pour le LusJIT basé sur le framework Torch. Il existe deux variantes de PyTorch.

PyTorch repense et implémente Torch en Python tout en partageant les mêmes bibliothèques C de base pour le code backend. Les développeurs PyTorch ont réglé ce code back-end pour exécuter Python efficacement. Ils ont également conservé l'accélération matérielle basée sur le GPU ainsi que les fonctionnalités d'extensibilité qui ont fait Torch basé sur Lua.

traits

Les principales caractéristiques de PyTorch sont mentionnées ci-dessous -

Easy Interface- PyTorch offre une API facile à utiliser; par conséquent, il est considéré comme très simple à utiliser et fonctionne sur Python. L'exécution du code dans ce cadre est assez simple.

Python usage- Cette bibliothèque est considérée comme Pythonic et s'intègre parfaitement à la pile de science des données Python. Ainsi, il peut tirer parti de tous les services et fonctionnalités offerts par l'environnement Python.

Computational graphs- PyTorch fournit une excellente plate-forme qui offre des graphiques de calcul dynamiques. Ainsi, un utilisateur peut les modifier pendant l'exécution. Ceci est très utile lorsqu'un développeur n'a aucune idée de la quantité de mémoire requise pour créer un modèle de réseau neuronal.

PyTorch est connu pour avoir trois niveaux d'abstraction comme indiqué ci-dessous -

  • Tensor - Tableau n-dimensionnel impératif qui fonctionne sur GPU.

  • Variable - Nœud dans le graphe de calcul. Cela stocke les données et le gradient.

  • Module - Couche de réseau neuronal qui stockera l'état ou les poids apprenables.

Avantages de PyTorch

Voici les avantages de PyTorch -

  • Il est facile de déboguer et de comprendre le code.

  • Il comprend de nombreuses couches comme Torch.

  • Il comprend de nombreuses fonctions de perte.

  • Il peut être considéré comme une extension NumPy des GPU.

  • Il permet de construire des réseaux dont la structure dépend du calcul lui-même.

TensorFlow contre PyTorch

Nous examinerons ci-dessous les principales différences entre TensorFlow et PyTorch -

PyTorch TensorFlow

PyTorch est étroitement lié au framework Torch basé sur lua qui est activement utilisé dans Facebook.

TensorFlow est développé par Google Brain et activement utilisé chez Google.

PyTorch est relativement nouveau par rapport aux autres technologies concurrentes.

TensorFlow n'est pas nouveau et est considéré comme un outil incontournable par de nombreux chercheurs et professionnels de l'industrie.

PyTorch inclut tout de manière impérative et dynamique.

TensorFlow comprend des graphiques statiques et dynamiques sous forme de combinaison.

Le graphe de calcul dans PyTorch est défini pendant l'exécution.

TensorFlow n'inclut aucune option d'exécution.

PyTorch inclut le déploiement pour les frameworks mobiles et embarqués.

TensorFlow fonctionne mieux pour les frameworks intégrés.