以Lenet网络为例
序 | Layer | layer Type Bottom | Blob Top | Blob Top | Blob Shape |
---|---|---|---|---|---|
1 | minst | Data | data&&label | 64 1 28 28 (50176) && 64 (64) | |
2 | conv1 | Convolution | data | conv1 | 64 20 24 24 (737280) |
3 | pool1 | Pooling | conv1 | pool1 | 64 20 12 12 (184320) |
4 | conv2 | Convolution | pool1 | conv2 | 64 50 8 8 (204800) |
5 | pool2 | Pooling | conv2 | pool2 | 64 50 4 4 (51200) |
6 | ip1 | InnerProduct | pool2 | ip1 | 64 500 (32000) |
7 | relu1 | ReLU | ip1 | ip1(in-place) | 64 500 (32000) |
8 | ip2 | InnerProduct | ip1 | ip2 | 64 10 (640) |
9 | loss | SoftmaxWithLoss | ip2&&label | loss | (1) |
520*(24*24)=599520个连接。
conv2层不好理解:由50个特征图Feature Map构成,卷积核大小5x5,那每个神经元怎么和上一层连接的?“conv2中的每个特征map是连接到pool1中的所有20个或者几个特征map的,表示本层的特征map是上一层提取到的特征map的不同组合”。我理解的是和之前所有map连接卷积后相加。共有(5*5+1)*20*50=26000个权重参数,
26000*(8*8)=1664000个连接。
看到别人更清晰的解释:点击打开链接