计算VGG模型参数量和维度变化
图片初始大小为3 * 224 * 224,表明图片层数为3,长宽各为224个像素。Conv2d(3,64,3,1,1),其中第一个3代表输入特征图数量,即图片层数;第二个64代表卷积核数量,即输出特征图数量;第一个3代表卷积核大小为3 * 3;第一个1代表步长为1;第二个1代表padding为1。公式: O = (I - K + 2P)/S +1
Pool代表池化,2 * 2压缩变成1 * 1。
经过第一次卷积Conv2d(3,64,3,1,1),图片变成64 * 224 * 224;参数量:64 * 3 * 3 * 3
经过第二次卷积Conv2d(64,64,3,1,1),图片变成64 * 224 * 224;参数量:64 * 64 * 3 * 3
经过第一次Pool,特征图变成64 * 112 * 112.
经过第三次卷积Conv2d(64,128,3,1,1),特征图变成128 * 112 * 112;参数量:128 * 64 * 3 * 3
经过第四次卷积Conv2d(128,128,3,1,1),特征图变成128 * 112 * 112;参数量:128 * 128 * 3 * 3
经过第二次Pool,特征图变成128 * 56 * 56。
经过第五次卷积Conv2d(128,256,3,1,1),特征图变成256 * 56 * 56;参数量:256 * 128 * 3 * 3
经过第六次卷积Conv2d(256,256,3,1,1),特征图变成256 * 56 * 56;参数量:256 * 256 * 3 * 3
经过第三次Pool,特征图变成256 * 28 * 28。
经过第七次卷积Conv2d(256,512,3,1,1),特征图变成512 * 28 * 28;参数量:512 * 256 * 3 * 3
经过第八次卷积Conv2d(512,512,3,1,1),特征图变成512 * 28 * 28;参数量:512 * 512 * 3 * 3
经过第四次Pool,特征图变成512 * 14 * 14。
经过第九次卷积Conv2d(512,512,3,1,1),特征图变成512 * 14 * 14;参数量:512 * 512 * 3 * 3
经过第十次卷积Conv2d(512,512,3,1,1),特征图变成512 * 14 * 14;参数量:512 * 512 * 3 * 3
经过第五次Pool,特征图变成512 * 7 * 7。
经过adaPool(7),特征图变成512 * 7 * 7
经过全连接Linear(25088,4096),特征图维度从25088变成4096;参数量:25088 * 4096 + 4096
经过全连接Linear(4096,4096),特征图维度从4096变成4096;参数量:4096 * 4096 + 4096
经过全连接Linear(4096,1000),特征图维度从4096变成1000。参数量:4096 * 1000 + 1000