2020-04-10 00:45:02 +08:00
# DPN与DenseNet系列
## 概述
2020-04-14 22:00:44 +08:00
DenseNet是2017年CVPR best paper提出的一种新的网络结构, 该网络设计了一种新的跨层连接的block, 即dense-block。相比ResNet中的bottleneck, dense-block设计了一个更激进的密集连接机制, 即互相连接所有的层, 每个层都会接受其前面所有层作为其额外的输入。DenseNet将所有的dense-block堆叠, 组合成了一个密集连接型网络。密集的连接方式使得DenseNe更容易进行梯度的反向传播, 使得网络更容易训练。
DPN的全称是Dual Path Networks, 即双通道网络。该网络是由DenseNet和ResNeXt结合的一个网络, 其证明了DenseNet能从靠前的层级中提取到新的特征, 而ResNeXt本质上是对之前层级中已提取特征的复用。作者进一步分析发现, ResNeXt对特征有高复用率, 但冗余度低, DenseNet能创造新特征, 但冗余度高。结合二者结构的优势, 作者设计了DPN网络。最终DPN网络在同样FLOPS和参数量下, 取得了比ResNeXt与DenseNet更好的结果。
2020-04-10 00:45:02 +08:00
2020-05-09 16:46:11 +08:00
该系列模型的FLOPS、参数量以及T4 GPU上的预测耗时如下图所示。
2020-04-13 23:49:37 +08:00
2020-05-09 16:46:11 +08:00

2020-04-13 23:49:37 +08:00
2020-05-09 16:46:11 +08:00

2020-04-13 23:49:37 +08:00
2020-05-09 16:46:11 +08:00

2020-04-13 23:49:37 +08:00
2020-05-09 19:18:17 +08:00

2020-04-14 22:00:44 +08:00
目前PaddleClas开源的这两类模型的预训练模型一共有10个, 其指标如上图所示, 可以看到, 在相同的FLOPS和参数量下, 相比DenseNet, DPN拥有更高的精度。但是由于DPN有更多的分支, 所以其推理速度要慢于DenseNet。由于DenseNet264的网络层数最深, 所以该网络是DenseNet系列模型中参数量最大的网络, DenseNet161的网络的宽度最大, 导致其是该系列中网络中计算量最大、精度最高的网络。从推理速度来看, 计算量大且精度高的的DenseNet161比DenseNet264具有更快的速度, 所以其比DenseNet264具有更大的优势。
2020-04-14 21:32:26 +08:00
2020-04-14 22:00:44 +08:00
对于DPN系列网络, 模型的FLOPS和参数量越大, 模型的精度越高。其中, 由于DPN107的网络宽度最大, 所以其是该系列网络中参数量与计算量最大的网络。
2020-04-10 00:45:02 +08:00
## 精度、FLOPS和参数量
| Models | Top1 | Top5 | Reference< br > top1 | Reference< br > top5 | FLOPS< br > (G) | Parameters< br > (M) |
|:--:|:--:|:--:|:--:|:--:|:--:|:--:|
| DenseNet121 | 0.757 | 0.926 | 0.750 | | 5.690 | 7.980 |
| DenseNet161 | 0.786 | 0.941 | 0.778 | | 15.490 | 28.680 |
| DenseNet169 | 0.768 | 0.933 | 0.764 | | 6.740 | 14.150 |
| DenseNet201 | 0.776 | 0.937 | 0.775 | | 8.610 | 20.010 |
| DenseNet264 | 0.780 | 0.939 | 0.779 | | 11.540 | 33.370 |
| DPN68 | 0.768 | 0.934 | 0.764 | 0.931 | 4.030 | 10.780 |
| DPN92 | 0.799 | 0.948 | 0.793 | 0.946 | 12.540 | 36.290 |
| DPN98 | 0.806 | 0.951 | 0.799 | 0.949 | 22.220 | 58.460 |
| DPN107 | 0.809 | 0.953 | 0.802 | 0.951 | 35.060 | 82.970 |
| DPN131 | 0.807 | 0.951 | 0.801 | 0.949 | 30.510 | 75.360 |
2020-05-09 16:46:11 +08:00
## 基于V100 GPU的预测速度
2020-04-10 00:45:02 +08:00
2020-05-09 16:46:11 +08:00
| Models | Crop Size | Resize Short Size | FP32< br > Batch Size=1< br > (ms) |
2020-04-13 22:43:27 +08:00
|-------------|-----------|-------------------|--------------------------|
| DenseNet121 | 224 | 256 | 4.371 |
| DenseNet161 | 224 | 256 | 8.863 |
| DenseNet169 | 224 | 256 | 6.391 |
| DenseNet201 | 224 | 256 | 8.173 |
| DenseNet264 | 224 | 256 | 11.942 |
| DPN68 | 224 | 256 | 11.805 |
| DPN92 | 224 | 256 | 17.840 |
| DPN98 | 224 | 256 | 21.057 |
| DPN107 | 224 | 256 | 28.685 |
| DPN131 | 224 | 256 | 28.083 |
2020-05-09 16:46:11 +08:00
## 基于T4 GPU的预测速度
2020-05-09 17:01:18 +08:00
| Models | Crop Size | Resize Short Size | FP16< br > Batch Size=1< br > (ms) | FP16< br > Batch Size=4< br > (ms) | FP16< br > Batch Size=8< br > (ms) | FP32< br > Batch Size=1< br > (ms) | FP32< br > Batch Size=4< br > (ms) | FP32< br > Batch Size=8< br > (ms) |
2020-05-09 16:46:11 +08:00
|-------------|-----------|-------------------|------------------------------|------------------------------|------------------------------|------------------------------|------------------------------|------------------------------|
| DenseNet121 | 224 | 256 | 4.16436 | 7.2126 | 10.50221 | 4.40447 | 9.32623 | 15.25175 |
| DenseNet161 | 224 | 256 | 9.27249 | 14.25326 | 20.19849 | 10.39152 | 22.15555 | 35.78443 |
| DenseNet169 | 224 | 256 | 6.11395 | 10.28747 | 13.68717 | 6.43598 | 12.98832 | 20.41964 |
| DenseNet201 | 224 | 256 | 7.9617 | 13.4171 | 17.41949 | 8.20652 | 17.45838 | 27.06309 |
| DenseNet264 | 224 | 256 | 11.70074 | 19.69375 | 24.79545 | 12.14722 | 26.27707 | 40.01905 |
| DPN68 | 224 | 256 | 11.7827 | 13.12652 | 16.19213 | 11.64915 | 12.82807 | 18.57113 |
| DPN92 | 224 | 256 | 18.56026 | 20.35983 | 29.89544 | 18.15746 | 23.87545 | 38.68821 |
| DPN98 | 224 | 256 | 21.70508 | 24.7755 | 40.93595 | 21.18196 | 33.23925 | 62.77751 |
| DPN107 | 224 | 256 | 27.84462 | 34.83217 | 60.67903 | 27.62046 | 52.65353 | 100.11721 |
| DPN131 | 224 | 256 | 28.58941 | 33.01078 | 55.65146 | 28.33119 | 46.19439 | 89.24904 |