# DPN与DenseNet系列 ## 概述 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更好的结果。 该系列模型的FLOPS、参数量以及T4 GPU上的预测耗时如下图所示。 ![](../../images/models/T4_benchmark/t4.fp32.bs4.DPN.flops.png) ![](../../images/models/T4_benchmark/t4.fp32.bs4.DPN.params.png) ![](../../images/models/T4_benchmark/t4.fp32.bs4.DPN.png) ![](../../images/models/T4_benchmark/t4.fp16.bs4.DPN.png) 目前PaddleClas开源的这两类模型的预训练模型一共有10个,其指标如上图所示,可以看到,在相同的FLOPS和参数量下,相比DenseNet,DPN拥有更高的精度。但是由于DPN有更多的分支,所以其推理速度要慢于DenseNet。由于DenseNet264的网络层数最深,所以该网络是DenseNet系列模型中参数量最大的网络,DenseNet161的网络的宽度最大,导致其是该系列中网络中计算量最大、精度最高的网络。从推理速度来看,计算量大且精度高的的DenseNet161比DenseNet264具有更快的速度,所以其比DenseNet264具有更大的优势。 对于DPN系列网络,模型的FLOPS和参数量越大,模型的精度越高。其中,由于DPN107的网络宽度最大,所以其是该系列网络中参数量与计算量最大的网络。 ## 精度、FLOPS和参数量 | Models | Top1 | Top5 | Reference
top1 | Reference
top5 | FLOPS
(G) | Parameters
(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 | ## 基于V100 GPU的预测速度 | Models | Crop Size | Resize Short Size | FP32
Batch Size=1
(ms) | |-------------|-----------|-------------------|--------------------------| | 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 | ## 基于T4 GPU的预测速度 | Models | Crop Size | Resize Short Size | FP16
Batch Size=1
(ms) | FP16
Batch Size=4
(ms) | FP16
Batch Size=8
(ms) | FP32
Batch Size=1
(ms) | FP32
Batch Size=4
(ms) | FP32
Batch Size=8
(ms) | |-------------|-----------|-------------------|------------------------------|------------------------------|------------------------------|------------------------------|------------------------------|------------------------------| | 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 |