Android备忘录github,Github项目 - DenseNet

1. DenseNet 简介

DenseNet 网络结构中, 每一网络层均直接与每个其它网络层相连, 以 feed-forward 方式(在每个 dense block 内).

对于每一层, 其前面所有网络层输出的 feature maps 均独立作为该网络层的输入, 并将该网络层输出的 feature maps 作为其后面所有网络层的输入.

在 ILSVRC2012 ImageNet 数据集上, DenseNet 与 ResNet 能够得到相似的 accuracy, 但是, 参数量不到后者的一半, FLOPS 也只是近似于后者的一半.

b2253101b47eda8144b1677b62739446.png

DenseNet 特点:

[1] - 省参数, 在 ImageNet 分类数据集上达到同样的准确率,DenseNet 所需的参数量不到 ResNet 的一半. 对于工业界而言,小模型可以显著地节省带宽,降低存储开销.

[2] - 省计算, 达到与 ResNet 相当的精度,DenseNet 所需的计算量也只有 ResNet 的一半左右.

[3] - 抗过拟合, 具有非常好的抗过拟合性能,尤其适合于训练数据相对匮乏的应用.

2. 基于 DenseNet 的相关项目

3. DenseNet-memory-efficient-Caffe

早期版本 DenseNet 训练时内存占用比较大, 密集连接的实现算法不优导致的.

特点:

采用 O(T) 的数据空间, 其中 T 为 DenseBlock 中的变换数量.

对于 totalLayer L=40, growthRate k=12 的简单模型, 每个 DenseBlock 的变换数量 T = 12.

对比而言, 原来的实现需要的数据空间为 O(T^2).

对于 L=40,k=12 的简单模型, 该内存优化Caffe实现, 能够达到 6 iters/second(without dropout), GPU 显存占用不到 2 GB.

3.1 使用方法

新增了 DenseBlock 层. 代替了原来的 Concat 层.caffe 下载与编译

cuDNN 版本高于6.0 编译出错. 确保版本正确.

下载对应版本的 Caffe 后, 需要 将该 caffe 文件路径内所有文件的 Caffe_solverOriginal/caffe 路径替换为自己的caffe路径.

可以采用命令行操作, 也可以采用 Visual Studio Code 等编辑器全部替换对应的路径.

完成后, 运行 shell 脚本:

然后编译:

编译无误后, 所有的工具直接都在当前版本 caffe 的 tools 路径内 - caffe/tools.

完成 caffe 环境安装.

Reference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值