[Github项目]基于PyTorch的深度学习网络模型实现

2019 年第 48 篇文章,总第 72 篇文章

本文大约 1500 字,阅读大约需要 4 分钟

今天主要分享两份 Github 项目,都是采用 PyTorch 来实现深度学习网络模型,主要是一些常用的模型,包括如 ResNet、DenseNet、ResNext、SENet等,并且也给出相应的实验结果,包含完整的数据处理和载入、模型建立、训练流程搭建,以及测试代码的实现。

接下来就开始介绍这两个项目。


1. PyTorch Image Classification

这份代码目前有 200+ 星,主要实现以下的网络,在 MNIST、CIFAR10、FashionMNIST等数据集上进行实验。

640?wx_fmt=png

使用方法如下:

640?wx_fmt=png

然后就是给出作者自己训练的实验结果,然后和原论文的实验结果的对比,包括在训练设置上的区别,然后训练的迭代次数和训练时间也都分别给出。

之后作者还研究了残差单元、学习率策略以及数据增强对分类性能的影响,比如

  • 类似金字塔网络的残差单元设计(PyramidNet-like residual units)

  • cosine 函数的学习率递减策略(Cosine annealing of learning rate)

  • Cutout

  • 随机消除(Random Erasing)

  • Mixup

  • 降采样后的预激活捷径(Preactivation of shortcuts after downsampling)

实验结果表明:

  • 类似金字塔网络的残差单元设计有帮助,但不适宜搭配 Preactivation of shortcuts after downsampling

  • 基于 cosine 的学习率递减策略提升幅度较小

  • Cutout、随机消除以及 Mixup 效果都很好,其中 Mixup 需要的训练次数更多

640?wx_fmt=png

除了这个实验,后面作者还继续做了好几个实验,包括对 batch 大小、初始学习率大小、标签平滑等方面做了不少实验,并给出对应的实验结果。

最后给出了这些网络模型的论文、不同训练策略的论文。

这个项目除了实现对应的网络模型外,使用不同技巧或者研究基本的 batch 大小、初始学习率都是可以给予我们一定启发,有些技巧是可以应用到网络中,提高分类性能的。

链接:

https://github.com/hysts/pytorch_image_classification


2. PyTorch Image Models

这份代码目前有 600+ 星,并且最近几天也有更新,实现的网络更多,包括 DPN、Xception、InceptionResNetV2,以及最近比较火的 EfficientNet。

640?wx_fmt=png

)

这个项目有以下几个特点:

  • 对所有的模型都做了封装,也就是都有默认的配置接口和 API,包括统一的调用分类器接口get_classifierreset_classifier,对特征的前向计算接口forward_features

  • 模型都有一致的预训练模型加载器,即可以决定是否采用预训练模型最后一层或者输入层是否需要从 3 通道变为 1通道;

  • 训练脚本可以在不同模式下使用,包括分布式、单机多卡、单机单卡或者单机 CPU

  • 动态实现池化层的操作,包括平均池化(average pooling)、最大池化(max pooling)、平均+最大、或者平均和最大池化结果连接而不是叠加;

  • 不同训练策略的实现,比如 cosine 学习率、随机消除、标签平滑等

  • 实现 Mixup

  • 提供一个预测脚本

作者同样给出训练的实验结果,然后还有使用方法,同样也是在指定位置准备好数据,就可以使用了。

另外,作者还给出 ToDo 列表,会继续完善该项目。

链接:

https://github.com/rwightman/pytorch-image-models


最后,祝大家端午安康!

欢迎关注我的微信公众号--算法猿的成长,或者扫描下方的二维码,大家一起交流,学习和进步!

640?wx_fmt=png

如果觉得不错,在看、转发就是对小编的一个支持!

往期精彩推荐

机器学习系列

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

Github项目 & 资源教程推荐

640?wx_fmt=jpeg

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/408636.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抽象类总结及练习

该篇文章只是说明抽象类的一个使用场景,由于小弟水平一般,如果有说的不对地方希望各位大牛们指出,也欢迎各位亲们补充。 什么是抽象类 用关键字abstract定义的类即为抽象类,且只能作为基类。 抽象类注意的地方 1、 用abstract定义…

Python基础入门_4函数

Python 基础入门前三篇: Python 基础入门–简介和环境配置Python基础入门_2基础语法和变量类型Python基础入门_3条件语句和迭代循环 第四篇内容,这次介绍下函数的基本用法,包括函数的定义、参数的类型、匿名函数、变量作用域以及从模块导入…

event auto模式的问题

。。。转载于:https://www.cnblogs.com/bluebbc/p/3196777.html

一文了解神经网络的基本原理

这是简单介绍神经网络的知识,并介绍一种特别的神经网络–多层感知器(Multi Layer Perceptron,MLP)。 翻译自 https://ujjwalkarn.me/2016/08/09/quick-intro-neural-networks/ 这篇文章并不涉及到对数学公式的推导,只是简单介绍了神经网络的结构和基本…

详解javascript中的call, apply

一些学js的同学一看到call, apply, 就蒙了, 感觉不好懂, 看的头大. 今天我们就一起来研究一下这2个东东.彻底弄清楚它们的用法. 定义: call, apply是函数的方法, 只有函数才有这2个方法.作用: call, apply主要作用是改变函数赖以执行的作用域, 简言之就是改变函数中this的指向.…

[Python技巧]是时候用 defaultdict 和 Counter 代替 dictionary 了

我们在采用 dict 的时候,一般都需要判断键是否存在,如果不存在,设置一个默认值,存在则采取其他的操作,但这个做法其实需要多写几行代码,那么是否有更高效的写法,可以减少代码,但可读…

数据库索引应用

一、索引的概念索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。二、索引…

[Github推荐]CVPR2019录用论文下载及可视化论文网站

简介 CVPR 是 IEEE Conference on Computer Vision and Pattern Recognition 的缩写,即 IEEE 国际计算机视觉与模式识别会议。该会议是由 IEEE 举办的计算机视觉和模式识别领域的顶级会议。 它是 IEEE 一年一度的学术性会议,会议的主要内容是计算机视觉…

UNIX网络编程——fcntl函数

fcntl函数提供了与网络编程相关的如下特性:非阻塞式I/O。 通过使用F_SETFL命令设置O_NONBLOCK文件状态标志,我们可以把一个套接字设置为非阻塞型。信号驱动式I/O。 通过使用F_SETFL命令设置O_ASYNC文件状态标志,我们可以把一个套接字设置成O…

如何远程访问服务器的 Jupyter notebook

图来自 Unsplash 网站,作者:Christopher Gower2019 年第 52 篇文章,总第 76 篇文章本文大约 4600 字,阅读大约需要 12 分钟写在前面当我们拥有一台服务器的时候,通常服务器都可能包含比本地电脑比较好的配置&#xff0…

[Python技巧]如何加快循环操作和Numpy数组运算速度

2019 年第 53 篇文章,总第 77 篇文章本文大约 4200 字,阅读大约需要 11 分钟前言Python 虽然写起来代码量要远少于如 C,Java,但运行速度又不如它们,因此也有了各种提升 Python 速度的方法技巧,这次要介绍的是用 Numba …

ictclas4j 分词工具包 安装流程

首先把 ictclasj解压缩,然后 1.把 Data文件夹整个拷贝到 Eclipse项目的文件夹下, 2.而 bin目录下的 org文件夹整个拷贝到你 Eclipse项目的 bin目录下,(将class文件存进去) 3.把src目录下的org文件夹整个拷贝到 Eclipse项目 的src目…

[周末阅读]认知和规划,以及推荐几个入门教程Github

图片来自 Unsplash,作者: Rafael Saes 2019 年第 54 篇文章,总第 78 篇文章本文大约 4600 字,阅读大约需要 12 分钟前言本来预计每个周末一篇读后感,但从上次分享[周末阅读]如何培养你的自信和正确认识财富、创造财富&…