Ce repo contient des tutoriels couvrant la classification d'images à l'aide de Pytorch 1.7, TorchVision 0.8, Matplotlib 3.3 et Scikit-Learn 0.24, avec Python 3.8.
Nous commencerons par implémenter un Perceptron multicouche (MLP), puis passer à des architectures à l'aide de réseaux de neurones convolutionnels (CNN). Plus précisément, nous implémenterons LENET, Alexnet, VGG et Resnet.
Si vous trouvez des erreurs ou en désaccord avec l'une des explications, n'hésitez pas à soumettre un problème. Je salue tout commentaire, positif ou négatif!
Pour installer Pytorch, voir les instructions d'installation sur le site Web de Pytorch.
Les instructions pour installer Pytorch devraient également détailler comment installer TorchVision mais peut également être installée via:
pip install torchvision1 - Perceptron multicouche
Ce tutoriel fournit une introduction à Pytorch et TorchVision. Nous apprendrons à: charger des ensembles de données, augmenter les données, définir un perceptron multicouche (MLP), former un modèle, afficher les sorties de notre modèle, visualiser les représentations du modèle et afficher les poids du modèle. Les expériences seront réalisées sur l'ensemble de données MNIST - un ensemble de chiffres de gris manuscrit 28x28.
2 - LENET
Dans ce tutoriel, nous allons implémenter l'architecture LENET classique. Nous examinerons les réseaux de neurones convolutionnels et le fonctionnement des couches convolutionnelles et des couches de sous-échantillonnage (AKA de mise en commun).
3 - Alexnet
Dans ce tutoriel, nous mettrons en œuvre AlexNet, l'architecture de réseau neuronal convolutionnel qui a contribué à démarrer l'intérêt actuel pour l'apprentissage en profondeur. Nous passerons à l'ensemble de données CIFAR10 - Images couleur 32x32 dans dix classes. Nous montrons: comment définir des architectures à l'aide de nn.Sequential .
4 - VGG
Ce tutoriel couvrira la mise en œuvre du modèle VGG. Cependant, au lieu de former le modèle à partir de zéro, nous chargerons plutôt un modèle VGG pré-formé sur l'ensemble de données ImageNet et montrerons comment effectuer un apprentissage de transfert pour adapter ses poids à l'ensemble de données CIFAR10 à l'aide d'une technique appelée affinage discriminant. Nous expliquerons également comment les couches de mise en commun adaptatives et la normalisation par lots fonctionnent.
5 - Resnet
Dans ce didacticiel, nous allons implémenter le modèle RESNET. Nous montrerons comment charger votre propre ensemble de données, en utilisant l'ensemble de données CUB200 comme exemple, ainsi que comment utiliser les planificateurs de taux d'apprentissage qui modifient dynamiquement le taux d'apprentissage de votre modèle pendant la formation. Plus précisément, nous utiliserons la politique d'un cycle introduite dans cet article et commencera maintenant à être couramment utilisé pour la formation de modèles de vision informatique.
Voici quelques choses que j'ai regardées en faisant ces tutoriels. Une partie peut être obsolète.