模型分析
卷积计算公式
在开始之前我先讲一下卷积层的计算公式;
H1,W1为输入图片的高和宽
第一个公式的:F为卷积核的高(filter中的size参数中的纵坐标),P为高方向的填充(padding参数中的纵坐标)
第一个公式的:F为卷积核的宽(filter中的size参数中的横坐标),P为宽方向的填充(padding参数中的纵坐标)
H2,W2为输出后求出来的高和宽
图示
分析
直接从每一层的输入输出进行分析(模型以灰度图为例,图像只有一个通道):
首先输入图片的尺寸为32×32,就是32×32个小像素点。
1:卷积层:
输入(32,32)
参数 | value |
---|---|
卷积核大小: | (5,5) |
卷积核个数: | 6 |
步长: | 1 |
是否填充: | 不填充 |
(32-5+2*0)/2 +1 =28
输出(28,28,6) 长:28 宽:28 通道数:6
2:池化层:
输入(28,28,6) 上一层的输出
参数 | value |
---|---|
池化核核大小: | (2,2) |
步长: | 1 |
是否填充: | 不填充 |
28/2 = 14
输出(14,14,6) 长:14 宽:14 通道数:6
3:卷积层:
输入(14,14,6)
参数 | value |
---|---|
卷积核大小: | (5,5) |
卷积核个数: | 16 |
步长: | 1 |
是否填充: | 不填充 |
(14-5+2*0)/2+1 = 10
输出(10,10,16) 长:10 宽:10 通道数:16
4:池化层:
输入(10,10,16) 上一层的输出
参数 | value |
---|---|
池化核核大小: | (2,2) |
步长: | 1 |
是否填充: | 不填充 |
10/2 = 5
输出(5,5,16) 长:5 宽:5 通道数:16
5:全连接层
神经元个数:120
将第四层池化层的输出 (5,5,16) 拉直成一维的,然后与 120 个神经元进行全连接(下图中的第一层隐层为120个神经元)
输出120个值
6:全连接层
神经元个数:80
输出80
此层相当于第二个隐层
7:全连接层
神经元个数10
输出10
输出层