Este repositorio contiene tutoriales que cubren la clasificación de imágenes utilizando Pytorch 1.7, TorchVision 0.8, Matplotlib 3.3 y Scikit-Learn 0.24, con Python 3.8.
Comenzaremos implementando un perceptrón multicapa (MLP) y luego pasaremos a las arquitecturas utilizando redes neuronales convolucionales (CNN). Específicamente, implementaremos Lenet, Alexnet, VGG y ResNet.
Si encuentra algún error o no está de acuerdo con cualquiera de las explicaciones, no dude en enviar un problema. ¡Agradezco cualquier comentario, positivo o negativo!
Para instalar Pytorch, consulte las instrucciones de instalación en el sitio web de Pytorch.
Las instrucciones para instalar Pytorch también deben detallar cómo instalar TorchVision, pero también se pueden instalar a través de:
pip install torchvision1 - Perceptrón multicapa
Este tutorial proporciona una introducción a Pytorch y TorchVision. Aprenderemos cómo: cargar conjuntos de datos, aumentar los datos, definir un perceptrón multicapa (MLP), entrenar un modelo, ver las salidas de nuestro modelo, visualizar las representaciones del modelo y ver los pesos del modelo. Los experimentos se llevarán a cabo en el conjunto de datos MNIST, un conjunto de dígitos de escala de grises escritas a mano 28x28.
2 - Lenet
En este tutorial implementaremos la clásica arquitectura de Lenet. Analizaremos las redes neuronales convolucionales y cómo funcionan las capas convolucionales y las capas submuestreadas (también conocidas como la agrupación).
3 - Alexnet
En este tutorial implementaremos Alexnet, la arquitectura de la red neuronal convolucional que ayudó a comenzar el interés actual en el aprendizaje profundo. Pasaremos al conjunto de datos CIFAR10: imágenes de color 32x32 en diez clases. Mostramos: cómo definir las arquitecturas usando nn.Sequential , cómo inicializar los parámetros de su red neuronal y cómo usar el buscador de tasa de aprendizaje para determinar una buena tasa de aprendizaje inicial.
4 - VGG
Este tutorial cubrirá la implementación del modelo VGG. Sin embargo, en lugar de entrenar el modelo desde cero, cargaremos un modelo VGG previamente entrenado en el conjunto de datos ImageNet y mostraremos cómo realizar el aprendizaje de transferencia para adaptar sus pesos al conjunto de datos CIFAR10 utilizando una técnica llamada ajuste fino discriminativo. También explicaremos cómo funcionan las capas de agrupación adaptativa y la normalización por lotes.
5 - Resnet
En este tutorial implementaremos el modelo ResNet. Mostraremos cómo cargar su propio conjunto de datos, utilizando el conjunto de datos Cub200 como ejemplo, y también cómo usar programadores de tasa de aprendizaje que alteran dinámicamente la tasa de aprendizaje de su modelo mientras se capacitan. Específico, utilizaremos la política de un ciclo introducida en este documento y ahora comenzará a usarse comúnmente para capacitar a los modelos de visión por computadora.
Aquí hay algunas cosas que miré al hacer estos tutoriales. Algunos de ellos pueden estar desactualizados.