2019 年第 48 篇文章,总第 72 篇文章 本文大约 1500 字,阅读大约需要 4 分钟
今天主要分享两份 Github 项目,都是采用 PyTorch 来实现深度学习网络模型,主要是一些常用的模型,包括如 ResNet、DenseNet、ResNext、SENet等,并且也给出相应的实验结果,包含完整的数据处理和载入、模型建立、训练流程搭建,以及测试代码的实现。
接下来就开始介绍这两个项目。
这份代码目前有 200+ 星,主要实现以下的网络,在 MNIST、CIFAR10、FashionMNIST等数据集上进行实验。
使用方法如下:
然后就是给出作者自己训练的实验结果,然后和原论文的实验结果的对比,包括在训练设置上的区别,然后训练的迭代次数和训练时间也都分别给出。
之后作者还研究了残差单元、学习率策略以及数据增强对分类性能的影响,比如
实验结果表明:
除了这个实验,后面作者还继续做了好几个实验,包括对 batch 大小、初始学习率大小、标签平滑等方面做了不少实验,并给出对应的实验结果。
最后给出了这些网络模型的论文、不同训练策略的论文。
这个项目除了实现对应的网络模型外,使用不同技巧或者研究基本的 batch 大小、初始学习率都是可以给予我们一定启发,有些技巧是可以应用到网络中,提高分类性能的。
链接:
https://github.com/hysts/pytorch_image_classification
这份代码目前有 600+ 星,并且最近几天也有更新,实现的网络更多,包括 DPN、Xception、InceptionResNetV2,以及最近比较火的 EfficientNet。
)
这个项目有以下几个特点:
get_classifier
、reset_classifier
,对特征的前向计算接口forward_features
作者同样给出训练的实验结果,然后还有使用方法,同样也是在指定位置准备好数据,就可以使用了。
另外,作者还给出 ToDo 列表,会继续完善该项目。
链接:
https://github.com/rwightman/pytorch-image-models