标签:
学习笔记-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