Этот репо содержит учебники, охватывающие классификацию изображений с использованием Pytorch 1.7, Torchvision 0,8, Matplotlib 3.3 и Scikit-Learn 0,24, с Python 3.8.
Мы начнем с внедрения многослойного персептрона (MLP), а затем перейдем к архитектурам с использованием сверточных нейронных сетей (CNNS). В частности, мы реализуем Lenet, Alexnet, VGG и Resnet.
Если вы найдете какие -либо ошибки или не согласны с какими -либо объяснениями, пожалуйста, не стесняйтесь представить проблему. Я приветствую любые отзывы, положительные или отрицательные!
Чтобы установить Pytorch, см. Инструкции по установке на веб -сайте Pytorch.
Инструкции по установке Pytorch также должны подробно описать, как установить Torchvision, но также могут быть установлены через:
pip install torchvision1 - Многослойное персептрон
В этом учебном пособии представлены введение в Pytorch и Torchvision. Мы узнаем, как: загрузить наборы данных, расширить данные, определить многослойный персептрон (MLP), обучить модель, просмотреть выходы нашей модели, визуализировать представления модели и просматривать веса модели. Эксперименты будут проводиться на наборе данных MNIST - набор 28x28 рукописных цифр серого.
2 - Лене
В этом уроке мы реализуем классическую архитектуру Lenet. Мы рассмотрим сверточные нейронные сети, а также то, как работают сверточные слои и подчипные (аказированные) слои.
3 - Алекснет
В этом уроке мы будем внедрить Alexnet, сверточную архитектуру нейронной сети, которая помогла начать текущий интерес к глубокому обучению. Мы перейдем к набору данных CIFAR10 - цветные изображения 32x32 в десяти классах. Мы показываем: как определить архитектуры, используя nn.Sequential , как инициализировать параметры вашей нейронной сети и как использовать поиск скорости обучения для определения хорошей начальной скорости обучения.
4 - VGG
Этот урок будет охватывать реализацию модели VGG. Тем не менее, вместо того, чтобы обучать модель с нуля, мы вместо этого загружаем модель VGG, предварительно обученную набору данных ImageNet, и покажем, как выполнять обучение переноса, чтобы адаптировать свои веса к набору данных CIFAR10, используя метод, называемый дискриминационной тонкой настройкой. Мы также объясним, как работают адаптивные слои пула и нормализация партии.
5 - Resnet
В этом уроке мы будем реализовать модель Resnet. Мы покажем, как загрузить свой собственный набор данных, используя набор данных Cub200 в качестве примера, а также как использовать планировщиков обучения, которые динамически изменяют скорость обучения вашей модели во время обучения. В частности, мы будем использовать одну политику цикла, представленную в этой статье, и теперь начнем широко использоваться для обучения моделей компьютерного зрения.
Вот некоторые вещи, на которые я смотрел, делая эти учебники. Некоторые из них могут быть устаревшими.