Définition et mise en œuvre d’un réseau de neurones convolutifs (cnn / convnet – convolutional neural network) pour le classement d’images via la librairie de deep learning PyTorch. Utilisation de l’extension « torchvision ». Base exemple des figures « Pokémon ». Importation et préparation de la base étiquetée d’apprentissage avec, notamment, le typage en « tenseur » (tensor) des images. Architecture du CNN : les couches de traitements convolutifs vs. les couches de perceptron. Choix de la fonction de perte (crossentropyloss) et de l’algorithme d’optimisation (adam). Organisation et exécution de l’entraînement du modèle. Application du modèle sur une base de test. Mesure des performances.
Notebook et données : http://tutoriels-data-science.blogspo...
Site de PyTorch / torchvision : https://pytorch.org/
Source de la base Pokémon : https://github.com/bochendong/few_sho...
Page de cours : https://cours-machine-learning.blogsp...
00:00 ConvNet avec PyTorch - torchvision
06:49 Données : la base "Pokémon"
09:35 Organisation des données sur le disque
12:16 Démarrage du notebook - Vérification des versions
13:40 Importation des images TRAIN avec prétraitement
16:04 Inspection de la structure ImageFolder - Fréquences des classes
18:29 La structure itérable DataLoader
21:30 Accès, analyse (dimensions) et affichage d'une image étiquetée
28:22 Définition de la classe CNN - Outils, organisation des couches
31:17 Calcul de la dimension de la couche Flatten
35:09 Fonctions d'appartenances aux classes non-normalisées à la sortie du réseau
35:57 En lien avec la fonction de perte CrossEntropyLoss (structuration des données)
39:06 Programmation du "fit" - Boucles d'entraînement du modèle
40:47 Algorithme d'optimisation Adam
41:42 Lancement de l'entraînement du modèle
42:32 Vérification du classement pour une image
44:20 Evaluation du modèle sur la base TEST d'images
47:12 Plus loin pour l'amélioration des performances
48:40 Torch avec R (https://torch.mlverse.org/)