学习笔记-CIFAR10模型理解简述
整个结构中包含三个convolution layer、三个pooling layer和两个fully connected layer。
每个层有多个Feature Map,每个Feature Map通过一种卷积滤波器提取输入的一种特征,然后每个Feature Map有多个神经元。
首先是数据层,测试数据100张为一批(batch_size),后面括号内是数据总大小。如100*32*32*3= 307200
Top shape: 100 3 32 32 (307200)
Top shape: 100 1 1 1 (100)
conv1(即产生图上 C1数据)层是一个卷积层,由32个特征图Feature Map构成。卷积核的大小是5*5,因为有pad为2,也就是每边增加两个单位的边界。 通过卷积之后,数据变成(32+2*2-5+1)*(32+2*2-5+1)
- layers {
- name: "conv1"
- type: CONVOLUTION
- bottom: "data"
- top: "conv1"
- blobs_lr: 1
- blobs_lr: 2
- convolution_param {
- num_output: 32
- pad: 2
- kernel_size: 5
- stride: 1
- weight_filler {
- type: "gaussian"
- std: 0.0001
- }
- bias_filler {
- type: "constant"
- }
- }
- }
Top shape: 100 32 32 32 (3276800)
pool1 是一个降采样层,有32个16*16的特征图。降采样的核是2*2的,所以数据变成16*16.
Top shape: 100 32 16 16 (819200)
然后接入RELU1
Top shape: 100 32 16 16 (819200)
conv2 是卷积层,核还是5*5,pad还是2。
Top shape: 100 32 16 16 (819200)
然后接入RELU2
Top shape: 100 32 16 16 (819200)
pool2是降采样层,降采样核为2*2,则数据变成8*8
Top shape: 100 32 8 8 (204800)
conv3 是卷积层,核还是5*5,pad还是2,特征是64个。
- Top shape: 100 64 8 8 (409600)
然后接入RELU2
Top shape: 100 64 8 8 (409600)
pool3是降采样层,降采样核为2*2,则数据变成4*4
- Top shape: 100 64 4 4 (102400)
ip1 是全连接层。某个程度上可以认为是卷积层。输出为64. 原始模型中,从5*5的数据通过5*5的卷积得到1*1的数据。 现在的模型数据为4*4,得到的数据也是1*1,构成了数据中的全连接。
Top shape: 100 64 1 1 (6400)
ip2是第二个全连接层,输出为10,直接输出结果,数据的分类判断在这一层中完成。
Top shape: 100 64 8 8 (409600)
- I0313 00:40:24.570014 13825 net.cpp:96] Setting up ip2
- I0313 00:40:24.570108 13825 net.cpp:103] Top shape: 100 10 1 1 (1000)
- I0313 00:40:24.570114 13825 net.cpp:113] Memory required for data: 31979600
- I0313 00:40:24.570127 13825 net.cpp:67] Creating Layer ip2_ip2_0_split
- I0313 00:40:24.570134 13825 net.cpp:394] ip2_ip2_0_split <- ip2
- I0313 00:40:24.570143 13825 net.cpp:356] ip2_ip2_0_split -> ip2_ip2_0_split_0
- I0313 00:40:24.570154 13825 net.cpp:356] ip2_ip2_0_split -> ip2_ip2_0_split_1
- I0313 00:40:24.570163 13825 net.cpp:96] Setting up ip2_ip2_0_split
- I0313 00:40:24.570171 13825 net.cpp:103] Top shape: 100 10 1 1 (1000)
- I0313 00:40:24.570176 13825 net.cpp:103] Top shape: 100 10 1 1 (1000)
- I0313 00:40:24.570181 13825 net.cpp:113] Memory required for data: 31987600
输入猫的图片

输出结果为:
[‘deer‘ ‘airplane‘ ‘cat‘ ‘frog‘ ‘bird‘]
Top shape: 100 64 8 8 (409600)
学习笔记-CIFAR10模型理解简述
原文:http://www.cnblogs.com/yymn/p/4553823.html