53295de2f610dcd13af84b6502cb523654ed66f8
[platform/upstream/caffeonacl.git] / src / programs / imagenet.prototxt
1 name: "CaffeNet"
2 layers {
3   layer {
4     name: "data"
5     type: "data"
6     source: "/home/jiayq/caffe-train-leveldb"
7     batchsize: 128
8     subtraction: 114
9     cropsize: 227
10     mirror: true
11   }
12   top: "data"
13   top: "label"
14 }
15 layers {
16   layer {
17     name: "conv1"
18     type: "conv"
19     num_output: 96
20     kernelsize: 11
21     stride: 4
22     weight_filler {
23       type: "gaussian"
24       std: 0.01
25     }
26     bias_filler {
27       type: "constant"
28       value: 0
29     }
30     blobs_lr: 1.
31     blobs_lr: 2.
32   }
33   bottom: "data"
34   top: "conv1"
35 }
36 layers {
37   layer {
38     name: "relu1"
39     type: "relu"
40   }
41   bottom: "conv1"
42   top: "relu1"
43 }
44 layers {
45   layer {
46     name: "pool1"
47     type: "pool"
48     pool: MAX
49     kernelsize: 3
50     stride: 2
51   }
52   bottom: "relu1"
53   top: "pool1"
54 }
55 layers {
56   layer {
57     name: "norm1"
58     type: "lrn"
59     local_size: 5
60     alpha: 0.0001
61     beta: 0.75
62   }
63   bottom: "pool1"
64   top: "norm1"
65 }
66 layers {
67   layer {
68     name: "pad2"
69     type: "padding"
70     pad: 2
71   }
72   bottom: "norm1"
73   top: "pad2"
74 }
75 layers {
76   layer {
77     name: "conv2"
78     type: "conv"
79     num_output: 256
80     group: 2
81     kernelsize: 5
82     weight_filler {
83       type: "gaussian"
84       std: 0.01
85     }
86     bias_filler {
87       type: "constant"
88       value: 1
89     }
90     blobs_lr: 1.
91     blobs_lr: 2.
92   }
93   bottom: "pad2"
94   top: "conv2"
95 }
96 layers {
97   layer {
98     name: "relu2"
99     type: "relu"
100   }
101   bottom: "conv2"
102   top: "relu2"
103 }
104 layers {
105   layer {
106     name: "pool2"
107     type: "pool"
108     pool: MAX
109     kernelsize: 3
110     stride: 2
111   }
112   bottom: "relu2"
113   top: "pool2"
114 }
115 layers {
116   layer {
117     name: "norm2"
118     type: "lrn"
119     local_size: 5
120     alpha: 0.0001
121     beta: 0.75
122   }
123   bottom: "pool2"
124   top: "norm2"
125 }
126 layers {
127   layer {
128     name: "pad3"
129     type: "padding"
130     pad: 1
131   }
132   bottom: "norm2"
133   top: "pad3"
134 }
135 layers {
136   layer {
137     name: "conv3"
138     type: "conv"
139     num_output: 384
140     kernelsize: 3
141     weight_filler {
142       type: "gaussian"
143       std: 0.01
144     }
145     bias_filler {
146       type: "constant"
147       value: 0
148     }
149     blobs_lr: 1.
150     blobs_lr: 2.
151   }
152   bottom: "pad3"
153   top: "conv3"
154 }
155 layers {
156   layer {
157     name: "relu3"
158     type: "relu"
159   }
160   bottom: "conv3"
161   top: "relu3"
162 }
163 layers {
164   layer {
165     name: "pad4"
166     type: "padding"
167     pad: 1
168   }
169   bottom: "relu3"
170   top: "pad4"
171 }
172 layers {
173   layer {
174     name: "conv4"
175     type: "conv"
176     num_output: 384
177     group: 2
178     kernelsize: 3
179     weight_filler {
180       type: "gaussian"
181       std: 0.01
182     }
183     bias_filler {
184       type: "constant"
185       value: 1
186     }
187     blobs_lr: 1.
188     blobs_lr: 2.
189   }
190   bottom: "pad4"
191   top: "conv4"
192 }
193 layers {
194   layer {
195     name: "relu4"
196     type: "relu"
197   }
198   bottom: "conv4"
199   top: "relu4"
200 }
201 layers {
202   layer {
203     name: "pad5"
204     type: "padding"
205     pad: 1
206   }
207   bottom: "relu4"
208   top: "pad5"
209 }
210 layers {
211   layer {
212     name: "conv5"
213     type: "conv"
214     num_output: 256
215     group: 2
216     kernelsize: 3
217     weight_filler {
218       type: "gaussian"
219       std: 0.01
220     }
221     bias_filler {
222       type: "constant"
223       value: 1
224     }
225     blobs_lr: 1.
226     blobs_lr: 2.
227   }
228   bottom: "pad5"
229   top: "conv5"
230 }
231 layers {
232   layer {
233     name: "relu5"
234     type: "relu"
235   }
236   bottom: "conv5"
237   top: "relu5"
238 }
239 layers {
240   layer {
241     name: "pool5"
242     type: "pool"
243     kernelsize: 3
244     pool: MAX
245     stride: 2
246   }
247   bottom: "relu5"
248   top: "pool5"
249 }
250 layers {
251   layer {
252     name: "fc6"
253     type: "innerproduct"
254     num_output: 4096
255     weight_filler {
256       type: "gaussian"
257       std: 0.005
258     }
259     bias_filler {
260       type: "constant"
261       value: 1
262     }
263     blobs_lr: 1.
264     blobs_lr: 2.
265   }
266   bottom: "pool5"
267   top: "fc6"
268 }
269 layers {
270   layer {
271     name: "relu6"
272     type: "relu"
273   }
274   bottom: "fc6"
275   top: "relu6"
276 }
277 layers {
278   layer {
279     name: "drop6"
280     type: "dropout"
281     dropout_ratio: 0.5
282   }
283   bottom: "relu6"
284   top: "drop6"
285 }
286 layers {
287   layer {
288     name: "fc7"
289     type: "innerproduct"
290     num_output: 4096
291     weight_filler {
292       type: "gaussian"
293       std: 0.005
294     }
295     bias_filler {
296       type: "constant"
297       value: 1
298     }
299     blobs_lr: 1.
300     blobs_lr: 2.
301   }
302   bottom: "drop6"
303   top: "fc7"
304 }
305 layers {
306   layer {
307     name: "relu7"
308     type: "relu"
309   }
310   bottom: "fc7"
311   top: "relu7"
312 }
313 layers {
314   layer {
315     name: "drop7"
316     type: "dropout"
317     dropout_ratio: 0.5
318   }
319   bottom: "relu7"
320   top: "drop7"
321 }
322 layers {
323   layer {
324     name: "fc8"
325     type: "innerproduct"
326     num_output: 1000
327     weight_filler {
328       type: "gaussian"
329       std: 0.01
330     }
331     bias_filler {
332       type: "constant"
333       value: 0
334     }
335     blobs_lr: 1.
336     blobs_lr: 2.
337   }
338   bottom: "drop7"
339   top: "fc8"
340 }
341 layers {
342   layer {
343     name: "loss"
344     type: "softmax_loss"
345   }
346   bottom: "fc8"
347   bottom: "label"
348 }