Article original : Learn PyTorch for Deep Learning – Free 26-Hour Course

Par Daniel Bourke

Mon cours complet sur PyTorch est désormais disponible sur la chaîne YouTube de freeCodeCamp.org.

Vous pouvez en savoir plus sur le cours sous la vidéo intégrée.

La meilleure façon d'apprendre est de pratiquer.

Et c'est exactement ce que nous ferons dans le cours Learn PyTorch for Deep Learning: Zero to Mastery.

Nous apprendrons par la pratique.

Tout au long du cours, nous aborderons bon nombre des concepts les plus importants du machine learning et du deep learning en écrivant du code PyTorch.

Si vous débutez en data science et en machine learning, considérez ce cours comme un accélérateur.

À la fin, vous serez à l'aise pour naviguer dans la documentation PyTorch, lire du code PyTorch, écrire du code PyTorch, rechercher ce que vous ne comprenez pas et créer vos propres projets de machine learning.

Qu'est-ce que PyTorch ?

PyTorch est un Framework de machine learning écrit dans le langage de programmation Python.

Il vous permet d'écrire des algorithmes de machine learning capables de transformer des données en modèles, puis en intelligence.

Pourquoi apprendre PyTorch ?

En juillet 2022, 58 % des articles de recherche en machine learning contenant du code utilisaient PyTorch. Et ce nombre n'a cessé de croître depuis la sortie de PyTorch.

En substance, les chercheurs en machine learning adorent PyTorch.

Et généralement, l'industrie suit la recherche.

Donc, si toutes les meilleures recherches en machine learning sortent en PyTorch, connaître PyTorch est un excellent moyen de commencer à travailler dans le machine learning.

Quels sont les prérequis ?

Mauvais : « Je ne peux pas l'apprendre » (c'est n'importe quoi).

Bon : Trois à six mois d'expérience en écriture de code Python et une volonté d'apprendre (vous êtes plus que prêt).

Le cours est aussi accessible que possible aux débutants.

Donc, si vous avez plus d'un an d'expérience en machine learning, vous apprendrez peut-être quelques trucs, mais les supports sont conçus pour les débutants.

Comment le cours est-il enseigné ?

L'accent du cours est mis sur le code, le code, le code, l'expérimentation, l'expérimentation, l'expérimentation.

Il y a une raison pour laquelle deux des devises du cours sont :

En cas de doute, lancez le code !

Expérimentez, expérimentez, expérimentez !

Nous écrirons du code ensemble, à la manière d'un apprentissage.

Cela signifie que dans la version vidéo du cours, j'écrirai du code PyTorch et je l'expliquerai, puis vous suivrez en écrivant le même code.

Si nous bloquons sur quelque chose, nous chercherons une réponse.

Vous remarquerez que je laisse beaucoup de mes erreurs dans les vidéos, c'est intentionnel.

Parce que les erreurs arrivent (souvent) et qu'il est important de savoir les résoudre.

Je suis un grand partisan du fait qu'il n'y a pas de limite de vitesse pour apprendre quelque chose.

C'est donc ce que nous allons faire.

Apprendre en codant.

Apprendre en expérimentant.

Rapidement.

Que couvre ce cours ?

Vous pouvez consulter et lire tous les supports en ligne gratuitement sur learnpytorch.io.

Mais soyons plus précis.

Le cours est composé de 5 modules (ou notebooks), qu'il est préférable de suivre de manière séquentielle (mais n'hésitez pas à naviguer).

00 – Fondamentaux de PyTorch

Nous partirons de zéro.

En répondant à des questions telles que : qu'est-ce que PyTorch (un Framework de machine learning open-source) et à quoi peut servir PyTorch (manipuler des données et écrire des algorithmes de machine learning).

Ensuite, nous nous familiariserons avec l'élément de base du deep learning : le tenseur.

Un tenseur est une représentation numérique de données (où les données peuvent être presque n'importe quoi : images, texte, tableaux de nombres).

Et tout l'objectif du machine learning est de trouver des motifs dans les données.

Il est donc primordial de savoir créer, interagir avec et manipuler des tenseurs.

learnpytorch.io home page for PyTorch fundamentals section of learn PyTorch for deep learning zero to mastery course Tous les supports de cours sont disponibles à la lecture dans un livre interactif en ligne sur learnpytorch.io

01 – Workflow PyTorch

L'idée du machine learning est de transformer les données en intelligence.

Et le modèle de machine learning capable de faire cela le mieux est le gagnant.

Alors, comment passer des données au modèle puis à l'intelligence avec PyTorch ?

C'est ce sur quoi se concentre le Workflow PyTorch :

  1. Préparation des données (les transformer en tenseurs).
  2. Construction ou choix d'un modèle pré-entraîné (adapté à votre problème).
  3. Ajustement du modèle aux données (ou laisser le modèle trouver des motifs dans les données).
  4. Évaluation du modèle entraîné (après qu'il a appris les motifs dans les données).
  5. Amélioration du modèle par l'expérimentation.
  6. Sauvegarde et rechargement d'un modèle entraîné (pour pouvoir l'exporter et l'utiliser dans des applications).

Nous utiliserons et développerons ce workflow tout au long du cours.

A PyTorch Workflow with six steps from data preparation to saving and reloading a trained model. Le Workflow PyTorch que nous couvrirons et développerons tout au long du cours Learn PyTorch for Deep Learning.

02 – Classification par réseaux de neurones avec PyTorch

Les réseaux de neurones sont l'un des types d'algorithmes de machine learning les plus puissants, si ce n'est le plus puissant.

C'est ce qui alimente bon nombre des systèmes d'intelligence artificielle (IA) les plus avancés d'aujourd'hui, tels que la recherche et les voitures autonomes.

Mais pouvez-vous amener un réseau de neurones à faire quelque chose de simple comme classer si un point est rouge ou bleu ?

Un problème simple, certes, mais expérimenter avec des problèmes fictifs est l'un des meilleurs moyens d'apprendre le machine learning.

Ce faisant, nous passerons en revue toutes les étapes majeures de l'un des problèmes de machine learning les plus courants, la classification : construire un réseau de neurones pour prédire si quelque chose est une chose ou une autre.

03 – Vision par ordinateur avec PyTorch

Les réseaux de neurones ont changé à jamais la donne de la vision par ordinateur.

Et maintenant, PyTorch pilote bon nombre des dernières avancées dans les algorithmes de vision par ordinateur.

Tesla utilise PyTorch pour construire ses algorithmes de vision par ordinateur pour son logiciel de conduite autonome.

Apple utilise PyTorch pour construire des modèles qui améliorent par calcul les photos prises avec l'iPhone.

Dans la section Vision par ordinateur avec PyTorch, nous écrirons du code PyTorch pour créer un réseau de neurones capable de voir des motifs dans les images et de les classer dans différentes catégories.

04 – Jeux de données personnalisés PyTorch

La magie du machine learning consiste à construire des algorithmes pour trouver des motifs dans vos propres données personnalisées.

Il existe de nombreux jeux de données, mais comment charger votre propre jeu de données personnalisé dans PyTorch pour construire des modèles et y trouver des motifs ?

Peut-être aimeriez-vous construire un système de sécurité pour votre maison et lui apprendre à quoi ressemble votre famille pour qu'il les reconnaisse.

Ou peut-être aimeriez-vous créer une application capable de classer les différentes photos de chiens que vous prenez.

C'est exactement ce que couvre la section Jeux de données personnalisés PyTorch : nous créerons notre propre jeu de données personnalisé avec des images de nourriture (pizza, steak et sushi) pour commencer le projet majeur du cours : FoodVision.

Ne puis-je pas apprendre tout cela par moi-même ?

Oui.

Vous le pouvez.

Il y a une raison pour laquelle j'appelle ce cours le deuxième meilleur endroit sur Internet pour apprendre PyTorch.

Parce que le meilleur endroit est la documentation PyTorch.

Bien que la documentation puisse être un peu intimidante lors de la première rencontre.

Ce cours structure donc les choses de manière à ce qu'il s'agisse d'un échauffement amusant avant de plonger dans la documentation.

Vous avez une autre question ?

N'hésitez pas à laisser une discussion sur le dépôt GitHub du cours.

Sinon, bon machine learning et on se retrouve dans le cours.

Codons !