Este repo contém tutoriais que abrangem a classificação da imagem usando Pytorch 1.7, Torchvision 0.8, Matplotlib 3.3 e Scikit-Learn 0,24, com Python 3.8.
Começaremos implementando um perceptron multicamada (MLP) e depois passarmos para arquiteturas usando redes neurais convolucionais (CNNs). Especificamente, implementaremos o LeNet, Alexnet, VGG e Resnet.
Se você encontrar algum erro ou discordar de alguma das explicações, não hesite em enviar um problema. Congratulo -me com qualquer feedback, positivo ou negativo!
Para instalar o Pytorch, consulte as instruções de instalação no site da Pytorch.
As instruções para instalar o Pytorch também devem detalhar como instalar a Torchvision, mas também podem ser instaladas via:
pip install torchvision1 - perceptron multicamada
Este tutorial fornece uma introdução a Pytorch e Torchvision. Aprenderemos como: carregar conjuntos de dados, aumentar dados, definir um perceptron multicamada (MLP), treinar um modelo, visualizar as saídas do nosso modelo, visualizar as representações do modelo e visualizar os pesos do modelo. As experiências serão realizadas no conjunto de dados MNIST - um conjunto de dígitos em escala de cinza manuscritos de 28x28.
2 - LeNet
Neste tutorial, implementaremos a arquitetura clássica do LeNet. Vamos analisar as redes neurais convolucionais e como as camadas convolucionais e as camadas de subamostragem (também conhecidas como pool) funcionam.
3 - Alexnet
Neste tutorial, implementaremos a AlexNet, a arquitetura convolucional da rede neural que ajudou a iniciar o interesse atual no aprendizado profundo. Vamos passar para o conjunto de dados CIFAR10 - imagens coloridas 32x32 em dez classes. Mostramos: como definir arquiteturas usando nn.Sequential , como inicializar os parâmetros da sua rede neural e como usar o localizador de taxas de aprendizado para determinar uma boa taxa de aprendizado inicial.
4 - VGG
Este tutorial cobrirá a implementação do modelo VGG. No entanto, em vez de treinar o modelo do Scratch, carregaremos um modelo VGG pré-treinado no conjunto de dados ImageNet e mostraremos como executar o Learning de transferência para adaptar seus pesos ao conjunto de dados CIFAR10 usando uma técnica chamada ajuste fino discriminativo. Também explicaremos como as camadas de pool adaptativas e a normalização do lote funcionam.
5 - Resnet
Neste tutorial, implementaremos o modelo RESNET. Mostraremos como carregar seu próprio conjunto de dados, usando o conjunto de dados Cub200 como exemplo e também como usar os agendadores de taxas de aprendizado que alteram dinamicamente a taxa de aprendizado do seu modelo durante o treinamento. Especificamente, usaremos a política de um ciclo introduzida neste artigo e agora está começando a ser comumente usada para treinar modelos de visão computacional.
Aqui estão algumas coisas que eu olhei enquanto faço esses tutoriais. Parte disso pode estar desatualizada.