两个基本块
dense_block【宽高不变,通道数改变】:一个遍历block块(以121为例,传来blocks块[6,12,24,16])
进入conv_block结构,其中生长率为32,每个稠密层输出的特征维度是32
BN(标准化)+relu(激活函数)+Conv2D(1*1降维)+BN+relu+Conv_2D(3*3特征提取)
Concatenate()输入层与输出层连接
返回连接层
transition_block[不改变通道数,改变特征层宽高]:
BN+relu+Conv2D(1*1)+AverPooling(2*2)
基本结构
Densenet
Conv2D+BN+relu+maxPooling------>dense_block(block0)+transition------>dense_block(block1)+transition------>dense_block(block2)+transition------>dense_block(block3)------>BN+relu+AverPooling+dense
注:
BN的作用:加速训练平稳收敛。
计算出当前batch的每个channel的均值mean
,计算出当前batch的每个channel的方差variance
,令输入减去均值再除以标准差delta
,得到normalized输出x-hat
,最后乘以scale参数gamma
,加上shift参数beta
,得到最终变换后的输出y
。