10
10
` DenseNet ` 主要由两个模块组成:
11
11
12
12
1 . ` Dense Block ` (负责特征提取)
13
- 2 . ` Trantition Layer` (负责特征图衰减)
13
+ 2 . ` Transition Layer` (负责特征图衰减)
14
14
15
15
其中` Dense Block ` 中使用$3\times 3$卷积进行特征提取,同时利用$1\times 1$卷积来控制输入特征图个数,所以组成一个` Dense Layer ` 模块(` Conv(1x1) + Conv(3x3) ` )进行实现
16
16
@@ -32,7 +32,7 @@ BN -> ReLU -> Conv(1x1) -> BN -> ReLU -> Conv(3x3)
32
32
33
33
在每个` Dense Block ` 中,由多个` Dense Layer ` 组成,同时其每个` Dense Layer ` 的输出都作为后续` Dense Layer ` 的输入。不同的输入数据通过连接(` concatenating ` )方式合并
34
34
35
- ## Trantition Layer
35
+ ## Transition Layer
36
36
37
37
* 实现文件:` py/lib/models/densenet/transition.py `
38
38
@@ -54,4 +54,58 @@ BN -> ReLU -> Conv(1x1) -> AvgPool(2x2)
54
54
55
55
![ ] ( ./imgs/figure-3.png )
56
56
57
- 比较` DenseNet-121 ` 和` ResNet-34_v2 `
57
+ 比较` DenseNet-121 ` 和` ResNet-34_v2 `
58
+
59
+ * 数据集:` voc 07+12 `
60
+ * 迭代次数:` 100 `
61
+ * 批量大小:
62
+ * ` 48(train) `
63
+ * ` 48(test) `
64
+ * 图像预处理:
65
+ * 训练:缩放+随机裁剪+随机水平翻转+颜色抖动+随机擦除+数据标准化
66
+ * 测试:缩放+` Ten Crop ` +数据标准化
67
+
68
+ * 损失函数:标签平滑正则化,平滑因子` 0.1 `
69
+ * 优化器:` Adam ` ,学习率` 3e-4 ` ,权重衰减` 3e-5 `
70
+ * 学习率策略:` warmup ` (共` 5 ` 轮)+余弦退火(` 95 ` 轮)
71
+
72
+ ## 训练结果
73
+
74
+ ![ ] ( ./imgs/loss.png )
75
+
76
+ ![ ] ( ./imgs/top-1-acc.png )
77
+
78
+ ![ ] ( ./imgs/top-5-acc.png )
79
+
80
+ 完整训练日志参考[ 训练日志] ( ./log-dense101-vs-resnet34_v2.md )
81
+
82
+ ### 检测精度
83
+
84
+ * ` Top-1 Accuracy `
85
+ * ` DenseNet-121: 89.86% `
86
+ * ` ResNet-34_v2: 90.50% `
87
+ * ` Top-5 Accuracy `
88
+ * ` DenseNet-121: 99.20% `
89
+ * ` ResNet-34_v2: 99.29% `
90
+
91
+ ### Flops和参数数目
92
+
93
+ ```
94
+ densenet_121: 5.731 GFlops - 30.437 MB
95
+ resnet-34: 7.349 GFlops - 83.177 MB
96
+ ```
97
+
98
+ ## 小结
99
+
100
+ | CNN Architecture | Data Type (bit) | Model Size (MB) | GFlops (1080Ti) | Top-1 Acc(VOC 07+12) | Top-5 Acc(VOC 07+12) |
101
+ | :----------------:| :---------------:| :---------------:| :-----------------:| :--------------------:| :--------------------:|
102
+ | ResNet-34_v2 | 32 | 83.177 | 7.349 | 90.50% | 99.29% |
103
+ | DenseNet-121 | 32 | 30.437 | 5.731 | 89.86% | 99.20% |
104
+
105
+ 从训练轨迹上看,` DenseNet-121 ` 在前期能够得到更快的收敛速度,在后期两者逐渐趋同。` DenseNet-121 ` 比` ResNet-34_v2 ` 拥有更小的模型和` Flops ` ,两者也能够训练得到相近的准确度
106
+
107
+ 进一步训练方向:
108
+
109
+ 1 . 更大批量训练
110
+ 2 . 更多数据集训练
111
+ 3 . 使用预训练模型
0 commit comments