此存储库包含使用Pytorch 1.7,Torchvision 0.8,Matplotlib 3.3和Scikit-Learn 0.24的教程,涵盖图像分类,并使用Python 3.8。
我们将首先实现多层感知器(MLP),然后使用卷积神经网络(CNN)继续进行体系结构。具体来说,我们将实施Lenet,Alexnet,VGG和Resnet。
如果您发现任何错误或不同意任何解释,请随时提交问题。我欢迎任何反馈,正面或负面!
要安装Pytorch,请参见Pytorch网站上的安装说明。
安装Pytorch的说明还应详细介绍如何安装火炬,但也可以通过以下方式安装:
pip install torchvision1-多层感知器
本教程提供了Pytorch和Torchvision的介绍。我们将学习如何:加载数据集,增强数据,定义多层感知器(MLP),训练模型,查看模型的输出,可视化模型的表示形式,并查看模型的权重。实验将在MNIST数据集上进行 - 一组28x28手写灰度数字。
2 -Lenet
在本教程中,我们将实现经典的Lenet体系结构。我们将研究卷积神经网络,以及卷积层和亚采样(又称池)层如何工作。
3- Alexnet
在本教程中,我们将实施Alexnet,Alexnet是有助于开始对深度学习兴趣的卷积神经网络体系结构。我们将转到十个类中的CIFAR10数据集-32x32颜色图像。我们显示:如何使用nn.Sequential序列,如何初始化神经网络的参数以及如何使用学习率查找器来确定良好的初始学习率。
4- VGG
本教程将涵盖实施VGG模型。但是,而不是从头开始训练模型,而是将在ImageNet数据集中加载一个预先训练的VGG模型,并展示如何使用称为歧视性微调的技术进行转移学习以使其权重调整到CIFAR10数据集中。我们还将解释自适应池层和批归一化的工作方式。
5-重新连接
在本教程中,我们将实施重新系统模型。我们将使用Cub200数据集作为示例来展示如何加载自己的数据集,以及如何使用学习率调度程序,这些调度率在培训时动态改变模型的学习率。特异性地,我们将使用本文介绍的一个周期策略,现在开始通常用于训练计算机视觉模型。
这是我在制作这些教程时查看的一些事情。其中一些可能已经过时了。