EG version upgrade to 1.3
[ealt-edge.git] / example-apps / ROBO / aPaaS / Obj_Detection_service / model_info / MobileNetSSD_deploy.prototxt
1 name: "MobileNet-SSD"
2 input: "data"
3 input_shape {
4   dim: 1
5   dim: 3
6   dim: 300
7   dim: 300
8 }
9 layer {
10   name: "conv0"
11   type: "Convolution"
12   bottom: "data"
13   top: "conv0"
14   param {
15     lr_mult: 1.0
16     decay_mult: 1.0
17   }
18   param {
19     lr_mult: 2.0
20     decay_mult: 0.0
21   }
22   convolution_param {
23     num_output: 32
24     pad: 1
25     kernel_size: 3
26     stride: 2
27     weight_filler {
28       type: "msra"
29     }
30     bias_filler {
31       type: "constant"
32       value: 0.0
33     }
34   }
35 }
36 layer {
37   name: "conv0/relu"
38   type: "ReLU"
39   bottom: "conv0"
40   top: "conv0"
41 }
42 layer {
43   name: "conv1/dw"
44   type: "Convolution"
45   bottom: "conv0"
46   top: "conv1/dw"
47   param {
48     lr_mult: 1.0
49     decay_mult: 1.0
50   }
51   param {
52     lr_mult: 2.0
53     decay_mult: 0.0
54   }
55   convolution_param {
56     num_output: 32
57     pad: 1
58     kernel_size: 3
59     group: 32
60     engine: CAFFE
61     weight_filler {
62       type: "msra"
63     }
64     bias_filler {
65       type: "constant"
66       value: 0.0
67     }
68   }
69 }
70 layer {
71   name: "conv1/dw/relu"
72   type: "ReLU"
73   bottom: "conv1/dw"
74   top: "conv1/dw"
75 }
76 layer {
77   name: "conv1"
78   type: "Convolution"
79   bottom: "conv1/dw"
80   top: "conv1"
81   param {
82     lr_mult: 1.0
83     decay_mult: 1.0
84   }
85   param {
86     lr_mult: 2.0
87     decay_mult: 0.0
88   }
89   convolution_param {
90     num_output: 64
91     kernel_size: 1
92     weight_filler {
93       type: "msra"
94     }
95     bias_filler {
96       type: "constant"
97       value: 0.0
98     }
99   }
100 }
101 layer {
102   name: "conv1/relu"
103   type: "ReLU"
104   bottom: "conv1"
105   top: "conv1"
106 }
107 layer {
108   name: "conv2/dw"
109   type: "Convolution"
110   bottom: "conv1"
111   top: "conv2/dw"
112   param {
113     lr_mult: 1.0
114     decay_mult: 1.0
115   }
116   param {
117     lr_mult: 2.0
118     decay_mult: 0.0
119   }
120   convolution_param {
121     num_output: 64
122     pad: 1
123     kernel_size: 3
124     stride: 2
125     group: 64
126     engine: CAFFE
127     weight_filler {
128       type: "msra"
129     }
130     bias_filler {
131       type: "constant"
132       value: 0.0
133     }
134   }
135 }
136 layer {
137   name: "conv2/dw/relu"
138   type: "ReLU"
139   bottom: "conv2/dw"
140   top: "conv2/dw"
141 }
142 layer {
143   name: "conv2"
144   type: "Convolution"
145   bottom: "conv2/dw"
146   top: "conv2"
147   param {
148     lr_mult: 1.0
149     decay_mult: 1.0
150   }
151   param {
152     lr_mult: 2.0
153     decay_mult: 0.0
154   }
155   convolution_param {
156     num_output: 128
157     kernel_size: 1
158     weight_filler {
159       type: "msra"
160     }
161     bias_filler {
162       type: "constant"
163       value: 0.0
164     }
165   }
166 }
167 layer {
168   name: "conv2/relu"
169   type: "ReLU"
170   bottom: "conv2"
171   top: "conv2"
172 }
173 layer {
174   name: "conv3/dw"
175   type: "Convolution"
176   bottom: "conv2"
177   top: "conv3/dw"
178   param {
179     lr_mult: 1.0
180     decay_mult: 1.0
181   }
182   param {
183     lr_mult: 2.0
184     decay_mult: 0.0
185   }
186   convolution_param {
187     num_output: 128
188     pad: 1
189     kernel_size: 3
190     group: 128
191     engine: CAFFE
192     weight_filler {
193       type: "msra"
194     }
195     bias_filler {
196       type: "constant"
197       value: 0.0
198     }
199   }
200 }
201 layer {
202   name: "conv3/dw/relu"
203   type: "ReLU"
204   bottom: "conv3/dw"
205   top: "conv3/dw"
206 }
207 layer {
208   name: "conv3"
209   type: "Convolution"
210   bottom: "conv3/dw"
211   top: "conv3"
212   param {
213     lr_mult: 1.0
214     decay_mult: 1.0
215   }
216   param {
217     lr_mult: 2.0
218     decay_mult: 0.0
219   }
220   convolution_param {
221     num_output: 128
222     kernel_size: 1
223     weight_filler {
224       type: "msra"
225     }
226     bias_filler {
227       type: "constant"
228       value: 0.0
229     }
230   }
231 }
232 layer {
233   name: "conv3/relu"
234   type: "ReLU"
235   bottom: "conv3"
236   top: "conv3"
237 }
238 layer {
239   name: "conv4/dw"
240   type: "Convolution"
241   bottom: "conv3"
242   top: "conv4/dw"
243   param {
244     lr_mult: 1.0
245     decay_mult: 1.0
246   }
247   param {
248     lr_mult: 2.0
249     decay_mult: 0.0
250   }
251   convolution_param {
252     num_output: 128
253     pad: 1
254     kernel_size: 3
255     stride: 2
256     group: 128
257     engine: CAFFE
258     weight_filler {
259       type: "msra"
260     }
261     bias_filler {
262       type: "constant"
263       value: 0.0
264     }
265   }
266 }
267 layer {
268   name: "conv4/dw/relu"
269   type: "ReLU"
270   bottom: "conv4/dw"
271   top: "conv4/dw"
272 }
273 layer {
274   name: "conv4"
275   type: "Convolution"
276   bottom: "conv4/dw"
277   top: "conv4"
278   param {
279     lr_mult: 1.0
280     decay_mult: 1.0
281   }
282   param {
283     lr_mult: 2.0
284     decay_mult: 0.0
285   }
286   convolution_param {
287     num_output: 256
288     kernel_size: 1
289     weight_filler {
290       type: "msra"
291     }
292     bias_filler {
293       type: "constant"
294       value: 0.0
295     }
296   }
297 }
298 layer {
299   name: "conv4/relu"
300   type: "ReLU"
301   bottom: "conv4"
302   top: "conv4"
303 }
304 layer {
305   name: "conv5/dw"
306   type: "Convolution"
307   bottom: "conv4"
308   top: "conv5/dw"
309   param {
310     lr_mult: 1.0
311     decay_mult: 1.0
312   }
313   param {
314     lr_mult: 2.0
315     decay_mult: 0.0
316   }
317   convolution_param {
318     num_output: 256
319     pad: 1
320     kernel_size: 3
321     group: 256
322     engine: CAFFE
323     weight_filler {
324       type: "msra"
325     }
326     bias_filler {
327       type: "constant"
328       value: 0.0
329     }
330   }
331 }
332 layer {
333   name: "conv5/dw/relu"
334   type: "ReLU"
335   bottom: "conv5/dw"
336   top: "conv5/dw"
337 }
338 layer {
339   name: "conv5"
340   type: "Convolution"
341   bottom: "conv5/dw"
342   top: "conv5"
343   param {
344     lr_mult: 1.0
345     decay_mult: 1.0
346   }
347   param {
348     lr_mult: 2.0
349     decay_mult: 0.0
350   }
351   convolution_param {
352     num_output: 256
353     kernel_size: 1
354     weight_filler {
355       type: "msra"
356     }
357     bias_filler {
358       type: "constant"
359       value: 0.0
360     }
361   }
362 }
363 layer {
364   name: "conv5/relu"
365   type: "ReLU"
366   bottom: "conv5"
367   top: "conv5"
368 }
369 layer {
370   name: "conv6/dw"
371   type: "Convolution"
372   bottom: "conv5"
373   top: "conv6/dw"
374   param {
375     lr_mult: 1.0
376     decay_mult: 1.0
377   }
378   param {
379     lr_mult: 2.0
380     decay_mult: 0.0
381   }
382   convolution_param {
383     num_output: 256
384     pad: 1
385     kernel_size: 3
386     stride: 2
387     group: 256
388     engine: CAFFE
389     weight_filler {
390       type: "msra"
391     }
392     bias_filler {
393       type: "constant"
394       value: 0.0
395     }
396   }
397 }
398 layer {
399   name: "conv6/dw/relu"
400   type: "ReLU"
401   bottom: "conv6/dw"
402   top: "conv6/dw"
403 }
404 layer {
405   name: "conv6"
406   type: "Convolution"
407   bottom: "conv6/dw"
408   top: "conv6"
409   param {
410     lr_mult: 1.0
411     decay_mult: 1.0
412   }
413   param {
414     lr_mult: 2.0
415     decay_mult: 0.0
416   }
417   convolution_param {
418     num_output: 512
419     kernel_size: 1
420     weight_filler {
421       type: "msra"
422     }
423     bias_filler {
424       type: "constant"
425       value: 0.0
426     }
427   }
428 }
429 layer {
430   name: "conv6/relu"
431   type: "ReLU"
432   bottom: "conv6"
433   top: "conv6"
434 }
435 layer {
436   name: "conv7/dw"
437   type: "Convolution"
438   bottom: "conv6"
439   top: "conv7/dw"
440   param {
441     lr_mult: 1.0
442     decay_mult: 1.0
443   }
444   param {
445     lr_mult: 2.0
446     decay_mult: 0.0
447   }
448   convolution_param {
449     num_output: 512
450     pad: 1
451     kernel_size: 3
452     group: 512
453     engine: CAFFE
454     weight_filler {
455       type: "msra"
456     }
457     bias_filler {
458       type: "constant"
459       value: 0.0
460     }
461   }
462 }
463 layer {
464   name: "conv7/dw/relu"
465   type: "ReLU"
466   bottom: "conv7/dw"
467   top: "conv7/dw"
468 }
469 layer {
470   name: "conv7"
471   type: "Convolution"
472   bottom: "conv7/dw"
473   top: "conv7"
474   param {
475     lr_mult: 1.0
476     decay_mult: 1.0
477   }
478   param {
479     lr_mult: 2.0
480     decay_mult: 0.0
481   }
482   convolution_param {
483     num_output: 512
484     kernel_size: 1
485     weight_filler {
486       type: "msra"
487     }
488     bias_filler {
489       type: "constant"
490       value: 0.0
491     }
492   }
493 }
494 layer {
495   name: "conv7/relu"
496   type: "ReLU"
497   bottom: "conv7"
498   top: "conv7"
499 }
500 layer {
501   name: "conv8/dw"
502   type: "Convolution"
503   bottom: "conv7"
504   top: "conv8/dw"
505   param {
506     lr_mult: 1.0
507     decay_mult: 1.0
508   }
509   param {
510     lr_mult: 2.0
511     decay_mult: 0.0
512   }
513   convolution_param {
514     num_output: 512
515     pad: 1
516     kernel_size: 3
517     group: 512
518     engine: CAFFE
519     weight_filler {
520       type: "msra"
521     }
522     bias_filler {
523       type: "constant"
524       value: 0.0
525     }
526   }
527 }
528 layer {
529   name: "conv8/dw/relu"
530   type: "ReLU"
531   bottom: "conv8/dw"
532   top: "conv8/dw"
533 }
534 layer {
535   name: "conv8"
536   type: "Convolution"
537   bottom: "conv8/dw"
538   top: "conv8"
539   param {
540     lr_mult: 1.0
541     decay_mult: 1.0
542   }
543   param {
544     lr_mult: 2.0
545     decay_mult: 0.0
546   }
547   convolution_param {
548     num_output: 512
549     kernel_size: 1
550     weight_filler {
551       type: "msra"
552     }
553     bias_filler {
554       type: "constant"
555       value: 0.0
556     }
557   }
558 }
559 layer {
560   name: "conv8/relu"
561   type: "ReLU"
562   bottom: "conv8"
563   top: "conv8"
564 }
565 layer {
566   name: "conv9/dw"
567   type: "Convolution"
568   bottom: "conv8"
569   top: "conv9/dw"
570   param {
571     lr_mult: 1.0
572     decay_mult: 1.0
573   }
574   param {
575     lr_mult: 2.0
576     decay_mult: 0.0
577   }
578   convolution_param {
579     num_output: 512
580     pad: 1
581     kernel_size: 3
582     group: 512
583     engine: CAFFE
584     weight_filler {
585       type: "msra"
586     }
587     bias_filler {
588       type: "constant"
589       value: 0.0
590     }
591   }
592 }
593 layer {
594   name: "conv9/dw/relu"
595   type: "ReLU"
596   bottom: "conv9/dw"
597   top: "conv9/dw"
598 }
599 layer {
600   name: "conv9"
601   type: "Convolution"
602   bottom: "conv9/dw"
603   top: "conv9"
604   param {
605     lr_mult: 1.0
606     decay_mult: 1.0
607   }
608   param {
609     lr_mult: 2.0
610     decay_mult: 0.0
611   }
612   convolution_param {
613     num_output: 512
614     kernel_size: 1
615     weight_filler {
616       type: "msra"
617     }
618     bias_filler {
619       type: "constant"
620       value: 0.0
621     }
622   }
623 }
624 layer {
625   name: "conv9/relu"
626   type: "ReLU"
627   bottom: "conv9"
628   top: "conv9"
629 }
630 layer {
631   name: "conv10/dw"
632   type: "Convolution"
633   bottom: "conv9"
634   top: "conv10/dw"
635   param {
636     lr_mult: 1.0
637     decay_mult: 1.0
638   }
639   param {
640     lr_mult: 2.0
641     decay_mult: 0.0
642   }
643   convolution_param {
644     num_output: 512
645     pad: 1
646     kernel_size: 3
647     group: 512
648     engine: CAFFE
649     weight_filler {
650       type: "msra"
651     }
652     bias_filler {
653       type: "constant"
654       value: 0.0
655     }
656   }
657 }
658 layer {
659   name: "conv10/dw/relu"
660   type: "ReLU"
661   bottom: "conv10/dw"
662   top: "conv10/dw"
663 }
664 layer {
665   name: "conv10"
666   type: "Convolution"
667   bottom: "conv10/dw"
668   top: "conv10"
669   param {
670     lr_mult: 1.0
671     decay_mult: 1.0
672   }
673   param {
674     lr_mult: 2.0
675     decay_mult: 0.0
676   }
677   convolution_param {
678     num_output: 512
679     kernel_size: 1
680     weight_filler {
681       type: "msra"
682     }
683     bias_filler {
684       type: "constant"
685       value: 0.0
686     }
687   }
688 }
689 layer {
690   name: "conv10/relu"
691   type: "ReLU"
692   bottom: "conv10"
693   top: "conv10"
694 }
695 layer {
696   name: "conv11/dw"
697   type: "Convolution"
698   bottom: "conv10"
699   top: "conv11/dw"
700   param {
701     lr_mult: 1.0
702     decay_mult: 1.0
703   }
704   param {
705     lr_mult: 2.0
706     decay_mult: 0.0
707   }
708   convolution_param {
709     num_output: 512
710     pad: 1
711     kernel_size: 3
712     group: 512
713     engine: CAFFE
714     weight_filler {
715       type: "msra"
716     }
717     bias_filler {
718       type: "constant"
719       value: 0.0
720     }
721   }
722 }
723 layer {
724   name: "conv11/dw/relu"
725   type: "ReLU"
726   bottom: "conv11/dw"
727   top: "conv11/dw"
728 }
729 layer {
730   name: "conv11"
731   type: "Convolution"
732   bottom: "conv11/dw"
733   top: "conv11"
734   param {
735     lr_mult: 1.0
736     decay_mult: 1.0
737   }
738   param {
739     lr_mult: 2.0
740     decay_mult: 0.0
741   }
742   convolution_param {
743     num_output: 512
744     kernel_size: 1
745     weight_filler {
746       type: "msra"
747     }
748     bias_filler {
749       type: "constant"
750       value: 0.0
751     }
752   }
753 }
754 layer {
755   name: "conv11/relu"
756   type: "ReLU"
757   bottom: "conv11"
758   top: "conv11"
759 }
760 layer {
761   name: "conv12/dw"
762   type: "Convolution"
763   bottom: "conv11"
764   top: "conv12/dw"
765   param {
766     lr_mult: 1.0
767     decay_mult: 1.0
768   }
769   param {
770     lr_mult: 2.0
771     decay_mult: 0.0
772   }
773   convolution_param {
774     num_output: 512
775     pad: 1
776     kernel_size: 3
777     stride: 2
778     group: 512
779     engine: CAFFE
780     weight_filler {
781       type: "msra"
782     }
783     bias_filler {
784       type: "constant"
785       value: 0.0
786     }
787   }
788 }
789 layer {
790   name: "conv12/dw/relu"
791   type: "ReLU"
792   bottom: "conv12/dw"
793   top: "conv12/dw"
794 }
795 layer {
796   name: "conv12"
797   type: "Convolution"
798   bottom: "conv12/dw"
799   top: "conv12"
800   param {
801     lr_mult: 1.0
802     decay_mult: 1.0
803   }
804   param {
805     lr_mult: 2.0
806     decay_mult: 0.0
807   }
808   convolution_param {
809     num_output: 1024
810     kernel_size: 1
811     weight_filler {
812       type: "msra"
813     }
814     bias_filler {
815       type: "constant"
816       value: 0.0
817     }
818   }
819 }
820 layer {
821   name: "conv12/relu"
822   type: "ReLU"
823   bottom: "conv12"
824   top: "conv12"
825 }
826 layer {
827   name: "conv13/dw"
828   type: "Convolution"
829   bottom: "conv12"
830   top: "conv13/dw"
831   param {
832     lr_mult: 1.0
833     decay_mult: 1.0
834   }
835   param {
836     lr_mult: 2.0
837     decay_mult: 0.0
838   }
839   convolution_param {
840     num_output: 1024
841     pad: 1
842     kernel_size: 3
843     group: 1024
844     engine: CAFFE
845     weight_filler {
846       type: "msra"
847     }
848     bias_filler {
849       type: "constant"
850       value: 0.0
851     }
852   }
853 }
854 layer {
855   name: "conv13/dw/relu"
856   type: "ReLU"
857   bottom: "conv13/dw"
858   top: "conv13/dw"
859 }
860 layer {
861   name: "conv13"
862   type: "Convolution"
863   bottom: "conv13/dw"
864   top: "conv13"
865   param {
866     lr_mult: 1.0
867     decay_mult: 1.0
868   }
869   param {
870     lr_mult: 2.0
871     decay_mult: 0.0
872   }
873   convolution_param {
874     num_output: 1024
875     kernel_size: 1
876     weight_filler {
877       type: "msra"
878     }
879     bias_filler {
880       type: "constant"
881       value: 0.0
882     }
883   }
884 }
885 layer {
886   name: "conv13/relu"
887   type: "ReLU"
888   bottom: "conv13"
889   top: "conv13"
890 }
891 layer {
892   name: "conv14_1"
893   type: "Convolution"
894   bottom: "conv13"
895   top: "conv14_1"
896   param {
897     lr_mult: 1.0
898     decay_mult: 1.0
899   }
900   param {
901     lr_mult: 2.0
902     decay_mult: 0.0
903   }
904   convolution_param {
905     num_output: 256
906     kernel_size: 1
907     weight_filler {
908       type: "msra"
909     }
910     bias_filler {
911       type: "constant"
912       value: 0.0
913     }
914   }
915 }
916 layer {
917   name: "conv14_1/relu"
918   type: "ReLU"
919   bottom: "conv14_1"
920   top: "conv14_1"
921 }
922 layer {
923   name: "conv14_2"
924   type: "Convolution"
925   bottom: "conv14_1"
926   top: "conv14_2"
927   param {
928     lr_mult: 1.0
929     decay_mult: 1.0
930   }
931   param {
932     lr_mult: 2.0
933     decay_mult: 0.0
934   }
935   convolution_param {
936     num_output: 512
937     pad: 1
938     kernel_size: 3
939     stride: 2
940     weight_filler {
941       type: "msra"
942     }
943     bias_filler {
944       type: "constant"
945       value: 0.0
946     }
947   }
948 }
949 layer {
950   name: "conv14_2/relu"
951   type: "ReLU"
952   bottom: "conv14_2"
953   top: "conv14_2"
954 }
955 layer {
956   name: "conv15_1"
957   type: "Convolution"
958   bottom: "conv14_2"
959   top: "conv15_1"
960   param {
961     lr_mult: 1.0
962     decay_mult: 1.0
963   }
964   param {
965     lr_mult: 2.0
966     decay_mult: 0.0
967   }
968   convolution_param {
969     num_output: 128
970     kernel_size: 1
971     weight_filler {
972       type: "msra"
973     }
974     bias_filler {
975       type: "constant"
976       value: 0.0
977     }
978   }
979 }
980 layer {
981   name: "conv15_1/relu"
982   type: "ReLU"
983   bottom: "conv15_1"
984   top: "conv15_1"
985 }
986 layer {
987   name: "conv15_2"
988   type: "Convolution"
989   bottom: "conv15_1"
990   top: "conv15_2"
991   param {
992     lr_mult: 1.0
993     decay_mult: 1.0
994   }
995   param {
996     lr_mult: 2.0
997     decay_mult: 0.0
998   }
999   convolution_param {
1000     num_output: 256
1001     pad: 1
1002     kernel_size: 3
1003     stride: 2
1004     weight_filler {
1005       type: "msra"
1006     }
1007     bias_filler {
1008       type: "constant"
1009       value: 0.0
1010     }
1011   }
1012 }
1013 layer {
1014   name: "conv15_2/relu"
1015   type: "ReLU"
1016   bottom: "conv15_2"
1017   top: "conv15_2"
1018 }
1019 layer {
1020   name: "conv16_1"
1021   type: "Convolution"
1022   bottom: "conv15_2"
1023   top: "conv16_1"
1024   param {
1025     lr_mult: 1.0
1026     decay_mult: 1.0
1027   }
1028   param {
1029     lr_mult: 2.0
1030     decay_mult: 0.0
1031   }
1032   convolution_param {
1033     num_output: 128
1034     kernel_size: 1
1035     weight_filler {
1036       type: "msra"
1037     }
1038     bias_filler {
1039       type: "constant"
1040       value: 0.0
1041     }
1042   }
1043 }
1044 layer {
1045   name: "conv16_1/relu"
1046   type: "ReLU"
1047   bottom: "conv16_1"
1048   top: "conv16_1"
1049 }
1050 layer {
1051   name: "conv16_2"
1052   type: "Convolution"
1053   bottom: "conv16_1"
1054   top: "conv16_2"
1055   param {
1056     lr_mult: 1.0
1057     decay_mult: 1.0
1058   }
1059   param {
1060     lr_mult: 2.0
1061     decay_mult: 0.0
1062   }
1063   convolution_param {
1064     num_output: 256
1065     pad: 1
1066     kernel_size: 3
1067     stride: 2
1068     weight_filler {
1069       type: "msra"
1070     }
1071     bias_filler {
1072       type: "constant"
1073       value: 0.0
1074     }
1075   }
1076 }
1077 layer {
1078   name: "conv16_2/relu"
1079   type: "ReLU"
1080   bottom: "conv16_2"
1081   top: "conv16_2"
1082 }
1083 layer {
1084   name: "conv17_1"
1085   type: "Convolution"
1086   bottom: "conv16_2"
1087   top: "conv17_1"
1088   param {
1089     lr_mult: 1.0
1090     decay_mult: 1.0
1091   }
1092   param {
1093     lr_mult: 2.0
1094     decay_mult: 0.0
1095   }
1096   convolution_param {
1097     num_output: 64
1098     kernel_size: 1
1099     weight_filler {
1100       type: "msra"
1101     }
1102     bias_filler {
1103       type: "constant"
1104       value: 0.0
1105     }
1106   }
1107 }
1108 layer {
1109   name: "conv17_1/relu"
1110   type: "ReLU"
1111   bottom: "conv17_1"
1112   top: "conv17_1"
1113 }
1114 layer {
1115   name: "conv17_2"
1116   type: "Convolution"
1117   bottom: "conv17_1"
1118   top: "conv17_2"
1119   param {
1120     lr_mult: 1.0
1121     decay_mult: 1.0
1122   }
1123   param {
1124     lr_mult: 2.0
1125     decay_mult: 0.0
1126   }
1127   convolution_param {
1128     num_output: 128
1129     pad: 1
1130     kernel_size: 3
1131     stride: 2
1132     weight_filler {
1133       type: "msra"
1134     }
1135     bias_filler {
1136       type: "constant"
1137       value: 0.0
1138     }
1139   }
1140 }
1141 layer {
1142   name: "conv17_2/relu"
1143   type: "ReLU"
1144   bottom: "conv17_2"
1145   top: "conv17_2"
1146 }
1147 layer {
1148   name: "conv11_mbox_loc"
1149   type: "Convolution"
1150   bottom: "conv11"
1151   top: "conv11_mbox_loc"
1152   param {
1153     lr_mult: 1.0
1154     decay_mult: 1.0
1155   }
1156   param {
1157     lr_mult: 2.0
1158     decay_mult: 0.0
1159   }
1160   convolution_param {
1161     num_output: 12
1162     kernel_size: 1
1163     weight_filler {
1164       type: "msra"
1165     }
1166     bias_filler {
1167       type: "constant"
1168       value: 0.0
1169     }
1170   }
1171 }
1172 layer {
1173   name: "conv11_mbox_loc_perm"
1174   type: "Permute"
1175   bottom: "conv11_mbox_loc"
1176   top: "conv11_mbox_loc_perm"
1177   permute_param {
1178     order: 0
1179     order: 2
1180     order: 3
1181     order: 1
1182   }
1183 }
1184 layer {
1185   name: "conv11_mbox_loc_flat"
1186   type: "Flatten"
1187   bottom: "conv11_mbox_loc_perm"
1188   top: "conv11_mbox_loc_flat"
1189   flatten_param {
1190     axis: 1
1191   }
1192 }
1193 layer {
1194   name: "conv11_mbox_conf"
1195   type: "Convolution"
1196   bottom: "conv11"
1197   top: "conv11_mbox_conf"
1198   param {
1199     lr_mult: 1.0
1200     decay_mult: 1.0
1201   }
1202   param {
1203     lr_mult: 2.0
1204     decay_mult: 0.0
1205   }
1206   convolution_param {
1207     num_output: 63
1208     kernel_size: 1
1209     weight_filler {
1210       type: "msra"
1211     }
1212     bias_filler {
1213       type: "constant"
1214       value: 0.0
1215     }
1216   }
1217 }
1218 layer {
1219   name: "conv11_mbox_conf_perm"
1220   type: "Permute"
1221   bottom: "conv11_mbox_conf"
1222   top: "conv11_mbox_conf_perm"
1223   permute_param {
1224     order: 0
1225     order: 2
1226     order: 3
1227     order: 1
1228   }
1229 }
1230 layer {
1231   name: "conv11_mbox_conf_flat"
1232   type: "Flatten"
1233   bottom: "conv11_mbox_conf_perm"
1234   top: "conv11_mbox_conf_flat"
1235   flatten_param {
1236     axis: 1
1237   }
1238 }
1239 layer {
1240   name: "conv11_mbox_priorbox"
1241   type: "PriorBox"
1242   bottom: "conv11"
1243   bottom: "data"
1244   top: "conv11_mbox_priorbox"
1245   prior_box_param {
1246     min_size: 60.0
1247     aspect_ratio: 2.0
1248     flip: true
1249     clip: false
1250     variance: 0.1
1251     variance: 0.1
1252     variance: 0.2
1253     variance: 0.2
1254     offset: 0.5
1255   }
1256 }
1257 layer {
1258   name: "conv13_mbox_loc"
1259   type: "Convolution"
1260   bottom: "conv13"
1261   top: "conv13_mbox_loc"
1262   param {
1263     lr_mult: 1.0
1264     decay_mult: 1.0
1265   }
1266   param {
1267     lr_mult: 2.0
1268     decay_mult: 0.0
1269   }
1270   convolution_param {
1271     num_output: 24
1272     kernel_size: 1
1273     weight_filler {
1274       type: "msra"
1275     }
1276     bias_filler {
1277       type: "constant"
1278       value: 0.0
1279     }
1280   }
1281 }
1282 layer {
1283   name: "conv13_mbox_loc_perm"
1284   type: "Permute"
1285   bottom: "conv13_mbox_loc"
1286   top: "conv13_mbox_loc_perm"
1287   permute_param {
1288     order: 0
1289     order: 2
1290     order: 3
1291     order: 1
1292   }
1293 }
1294 layer {
1295   name: "conv13_mbox_loc_flat"
1296   type: "Flatten"
1297   bottom: "conv13_mbox_loc_perm"
1298   top: "conv13_mbox_loc_flat"
1299   flatten_param {
1300     axis: 1
1301   }
1302 }
1303 layer {
1304   name: "conv13_mbox_conf"
1305   type: "Convolution"
1306   bottom: "conv13"
1307   top: "conv13_mbox_conf"
1308   param {
1309     lr_mult: 1.0
1310     decay_mult: 1.0
1311   }
1312   param {
1313     lr_mult: 2.0
1314     decay_mult: 0.0
1315   }
1316   convolution_param {
1317     num_output: 126
1318     kernel_size: 1
1319     weight_filler {
1320       type: "msra"
1321     }
1322     bias_filler {
1323       type: "constant"
1324       value: 0.0
1325     }
1326   }
1327 }
1328 layer {
1329   name: "conv13_mbox_conf_perm"
1330   type: "Permute"
1331   bottom: "conv13_mbox_conf"
1332   top: "conv13_mbox_conf_perm"
1333   permute_param {
1334     order: 0
1335     order: 2
1336     order: 3
1337     order: 1
1338   }
1339 }
1340 layer {
1341   name: "conv13_mbox_conf_flat"
1342   type: "Flatten"
1343   bottom: "conv13_mbox_conf_perm"
1344   top: "conv13_mbox_conf_flat"
1345   flatten_param {
1346     axis: 1
1347   }
1348 }
1349 layer {
1350   name: "conv13_mbox_priorbox"
1351   type: "PriorBox"
1352   bottom: "conv13"
1353   bottom: "data"
1354   top: "conv13_mbox_priorbox"
1355   prior_box_param {
1356     min_size: 105.0
1357     max_size: 150.0
1358     aspect_ratio: 2.0
1359     aspect_ratio: 3.0
1360     flip: true
1361     clip: false
1362     variance: 0.1
1363     variance: 0.1
1364     variance: 0.2
1365     variance: 0.2
1366     offset: 0.5
1367   }
1368 }
1369 layer {
1370   name: "conv14_2_mbox_loc"
1371   type: "Convolution"
1372   bottom: "conv14_2"
1373   top: "conv14_2_mbox_loc"
1374   param {
1375     lr_mult: 1.0
1376     decay_mult: 1.0
1377   }
1378   param {
1379     lr_mult: 2.0
1380     decay_mult: 0.0
1381   }
1382   convolution_param {
1383     num_output: 24
1384     kernel_size: 1
1385     weight_filler {
1386       type: "msra"
1387     }
1388     bias_filler {
1389       type: "constant"
1390       value: 0.0
1391     }
1392   }
1393 }
1394 layer {
1395   name: "conv14_2_mbox_loc_perm"
1396   type: "Permute"
1397   bottom: "conv14_2_mbox_loc"
1398   top: "conv14_2_mbox_loc_perm"
1399   permute_param {
1400     order: 0
1401     order: 2
1402     order: 3
1403     order: 1
1404   }
1405 }
1406 layer {
1407   name: "conv14_2_mbox_loc_flat"
1408   type: "Flatten"
1409   bottom: "conv14_2_mbox_loc_perm"
1410   top: "conv14_2_mbox_loc_flat"
1411   flatten_param {
1412     axis: 1
1413   }
1414 }
1415 layer {
1416   name: "conv14_2_mbox_conf"
1417   type: "Convolution"
1418   bottom: "conv14_2"
1419   top: "conv14_2_mbox_conf"
1420   param {
1421     lr_mult: 1.0
1422     decay_mult: 1.0
1423   }
1424   param {
1425     lr_mult: 2.0
1426     decay_mult: 0.0
1427   }
1428   convolution_param {
1429     num_output: 126
1430     kernel_size: 1
1431     weight_filler {
1432       type: "msra"
1433     }
1434     bias_filler {
1435       type: "constant"
1436       value: 0.0
1437     }
1438   }
1439 }
1440 layer {
1441   name: "conv14_2_mbox_conf_perm"
1442   type: "Permute"
1443   bottom: "conv14_2_mbox_conf"
1444   top: "conv14_2_mbox_conf_perm"
1445   permute_param {
1446     order: 0
1447     order: 2
1448     order: 3
1449     order: 1
1450   }
1451 }
1452 layer {
1453   name: "conv14_2_mbox_conf_flat"
1454   type: "Flatten"
1455   bottom: "conv14_2_mbox_conf_perm"
1456   top: "conv14_2_mbox_conf_flat"
1457   flatten_param {
1458     axis: 1
1459   }
1460 }
1461 layer {
1462   name: "conv14_2_mbox_priorbox"
1463   type: "PriorBox"
1464   bottom: "conv14_2"
1465   bottom: "data"
1466   top: "conv14_2_mbox_priorbox"
1467   prior_box_param {
1468     min_size: 150.0
1469     max_size: 195.0
1470     aspect_ratio: 2.0
1471     aspect_ratio: 3.0
1472     flip: true
1473     clip: false
1474     variance: 0.1
1475     variance: 0.1
1476     variance: 0.2
1477     variance: 0.2
1478     offset: 0.5
1479   }
1480 }
1481 layer {
1482   name: "conv15_2_mbox_loc"
1483   type: "Convolution"
1484   bottom: "conv15_2"
1485   top: "conv15_2_mbox_loc"
1486   param {
1487     lr_mult: 1.0
1488     decay_mult: 1.0
1489   }
1490   param {
1491     lr_mult: 2.0
1492     decay_mult: 0.0
1493   }
1494   convolution_param {
1495     num_output: 24
1496     kernel_size: 1
1497     weight_filler {
1498       type: "msra"
1499     }
1500     bias_filler {
1501       type: "constant"
1502       value: 0.0
1503     }
1504   }
1505 }
1506 layer {
1507   name: "conv15_2_mbox_loc_perm"
1508   type: "Permute"
1509   bottom: "conv15_2_mbox_loc"
1510   top: "conv15_2_mbox_loc_perm"
1511   permute_param {
1512     order: 0
1513     order: 2
1514     order: 3
1515     order: 1
1516   }
1517 }
1518 layer {
1519   name: "conv15_2_mbox_loc_flat"
1520   type: "Flatten"
1521   bottom: "conv15_2_mbox_loc_perm"
1522   top: "conv15_2_mbox_loc_flat"
1523   flatten_param {
1524     axis: 1
1525   }
1526 }
1527 layer {
1528   name: "conv15_2_mbox_conf"
1529   type: "Convolution"
1530   bottom: "conv15_2"
1531   top: "conv15_2_mbox_conf"
1532   param {
1533     lr_mult: 1.0
1534     decay_mult: 1.0
1535   }
1536   param {
1537     lr_mult: 2.0
1538     decay_mult: 0.0
1539   }
1540   convolution_param {
1541     num_output: 126
1542     kernel_size: 1
1543     weight_filler {
1544       type: "msra"
1545     }
1546     bias_filler {
1547       type: "constant"
1548       value: 0.0
1549     }
1550   }
1551 }
1552 layer {
1553   name: "conv15_2_mbox_conf_perm"
1554   type: "Permute"
1555   bottom: "conv15_2_mbox_conf"
1556   top: "conv15_2_mbox_conf_perm"
1557   permute_param {
1558     order: 0
1559     order: 2
1560     order: 3
1561     order: 1
1562   }
1563 }
1564 layer {
1565   name: "conv15_2_mbox_conf_flat"
1566   type: "Flatten"
1567   bottom: "conv15_2_mbox_conf_perm"
1568   top: "conv15_2_mbox_conf_flat"
1569   flatten_param {
1570     axis: 1
1571   }
1572 }
1573 layer {
1574   name: "conv15_2_mbox_priorbox"
1575   type: "PriorBox"
1576   bottom: "conv15_2"
1577   bottom: "data"
1578   top: "conv15_2_mbox_priorbox"
1579   prior_box_param {
1580     min_size: 195.0
1581     max_size: 240.0
1582     aspect_ratio: 2.0
1583     aspect_ratio: 3.0
1584     flip: true
1585     clip: false
1586     variance: 0.1
1587     variance: 0.1
1588     variance: 0.2
1589     variance: 0.2
1590     offset: 0.5
1591   }
1592 }
1593 layer {
1594   name: "conv16_2_mbox_loc"
1595   type: "Convolution"
1596   bottom: "conv16_2"
1597   top: "conv16_2_mbox_loc"
1598   param {
1599     lr_mult: 1.0
1600     decay_mult: 1.0
1601   }
1602   param {
1603     lr_mult: 2.0
1604     decay_mult: 0.0
1605   }
1606   convolution_param {
1607     num_output: 24
1608     kernel_size: 1
1609     weight_filler {
1610       type: "msra"
1611     }
1612     bias_filler {
1613       type: "constant"
1614       value: 0.0
1615     }
1616   }
1617 }
1618 layer {
1619   name: "conv16_2_mbox_loc_perm"
1620   type: "Permute"
1621   bottom: "conv16_2_mbox_loc"
1622   top: "conv16_2_mbox_loc_perm"
1623   permute_param {
1624     order: 0
1625     order: 2
1626     order: 3
1627     order: 1
1628   }
1629 }
1630 layer {
1631   name: "conv16_2_mbox_loc_flat"
1632   type: "Flatten"
1633   bottom: "conv16_2_mbox_loc_perm"
1634   top: "conv16_2_mbox_loc_flat"
1635   flatten_param {
1636     axis: 1
1637   }
1638 }
1639 layer {
1640   name: "conv16_2_mbox_conf"
1641   type: "Convolution"
1642   bottom: "conv16_2"
1643   top: "conv16_2_mbox_conf"
1644   param {
1645     lr_mult: 1.0
1646     decay_mult: 1.0
1647   }
1648   param {
1649     lr_mult: 2.0
1650     decay_mult: 0.0
1651   }
1652   convolution_param {
1653     num_output: 126
1654     kernel_size: 1
1655     weight_filler {
1656       type: "msra"
1657     }
1658     bias_filler {
1659       type: "constant"
1660       value: 0.0
1661     }
1662   }
1663 }
1664 layer {
1665   name: "conv16_2_mbox_conf_perm"
1666   type: "Permute"
1667   bottom: "conv16_2_mbox_conf"
1668   top: "conv16_2_mbox_conf_perm"
1669   permute_param {
1670     order: 0
1671     order: 2
1672     order: 3
1673     order: 1
1674   }
1675 }
1676 layer {
1677   name: "conv16_2_mbox_conf_flat"
1678   type: "Flatten"
1679   bottom: "conv16_2_mbox_conf_perm"
1680   top: "conv16_2_mbox_conf_flat"
1681   flatten_param {
1682     axis: 1
1683   }
1684 }
1685 layer {
1686   name: "conv16_2_mbox_priorbox"
1687   type: "PriorBox"
1688   bottom: "conv16_2"
1689   bottom: "data"
1690   top: "conv16_2_mbox_priorbox"
1691   prior_box_param {
1692     min_size: 240.0
1693     max_size: 285.0
1694     aspect_ratio: 2.0
1695     aspect_ratio: 3.0
1696     flip: true
1697     clip: false
1698     variance: 0.1
1699     variance: 0.1
1700     variance: 0.2
1701     variance: 0.2
1702     offset: 0.5
1703   }
1704 }
1705 layer {
1706   name: "conv17_2_mbox_loc"
1707   type: "Convolution"
1708   bottom: "conv17_2"
1709   top: "conv17_2_mbox_loc"
1710   param {
1711     lr_mult: 1.0
1712     decay_mult: 1.0
1713   }
1714   param {
1715     lr_mult: 2.0
1716     decay_mult: 0.0
1717   }
1718   convolution_param {
1719     num_output: 24
1720     kernel_size: 1
1721     weight_filler {
1722       type: "msra"
1723     }
1724     bias_filler {
1725       type: "constant"
1726       value: 0.0
1727     }
1728   }
1729 }
1730 layer {
1731   name: "conv17_2_mbox_loc_perm"
1732   type: "Permute"
1733   bottom: "conv17_2_mbox_loc"
1734   top: "conv17_2_mbox_loc_perm"
1735   permute_param {
1736     order: 0
1737     order: 2
1738     order: 3
1739     order: 1
1740   }
1741 }
1742 layer {
1743   name: "conv17_2_mbox_loc_flat"
1744   type: "Flatten"
1745   bottom: "conv17_2_mbox_loc_perm"
1746   top: "conv17_2_mbox_loc_flat"
1747   flatten_param {
1748     axis: 1
1749   }
1750 }
1751 layer {
1752   name: "conv17_2_mbox_conf"
1753   type: "Convolution"
1754   bottom: "conv17_2"
1755   top: "conv17_2_mbox_conf"
1756   param {
1757     lr_mult: 1.0
1758     decay_mult: 1.0
1759   }
1760   param {
1761     lr_mult: 2.0
1762     decay_mult: 0.0
1763   }
1764   convolution_param {
1765     num_output: 126
1766     kernel_size: 1
1767     weight_filler {
1768       type: "msra"
1769     }
1770     bias_filler {
1771       type: "constant"
1772       value: 0.0
1773     }
1774   }
1775 }
1776 layer {
1777   name: "conv17_2_mbox_conf_perm"
1778   type: "Permute"
1779   bottom: "conv17_2_mbox_conf"
1780   top: "conv17_2_mbox_conf_perm"
1781   permute_param {
1782     order: 0
1783     order: 2
1784     order: 3
1785     order: 1
1786   }
1787 }
1788 layer {
1789   name: "conv17_2_mbox_conf_flat"
1790   type: "Flatten"
1791   bottom: "conv17_2_mbox_conf_perm"
1792   top: "conv17_2_mbox_conf_flat"
1793   flatten_param {
1794     axis: 1
1795   }
1796 }
1797 layer {
1798   name: "conv17_2_mbox_priorbox"
1799   type: "PriorBox"
1800   bottom: "conv17_2"
1801   bottom: "data"
1802   top: "conv17_2_mbox_priorbox"
1803   prior_box_param {
1804     min_size: 285.0
1805     max_size: 300.0
1806     aspect_ratio: 2.0
1807     aspect_ratio: 3.0
1808     flip: true
1809     clip: false
1810     variance: 0.1
1811     variance: 0.1
1812     variance: 0.2
1813     variance: 0.2
1814     offset: 0.5
1815   }
1816 }
1817 layer {
1818   name: "mbox_loc"
1819   type: "Concat"
1820   bottom: "conv11_mbox_loc_flat"
1821   bottom: "conv13_mbox_loc_flat"
1822   bottom: "conv14_2_mbox_loc_flat"
1823   bottom: "conv15_2_mbox_loc_flat"
1824   bottom: "conv16_2_mbox_loc_flat"
1825   bottom: "conv17_2_mbox_loc_flat"
1826   top: "mbox_loc"
1827   concat_param {
1828     axis: 1
1829   }
1830 }
1831 layer {
1832   name: "mbox_conf"
1833   type: "Concat"
1834   bottom: "conv11_mbox_conf_flat"
1835   bottom: "conv13_mbox_conf_flat"
1836   bottom: "conv14_2_mbox_conf_flat"
1837   bottom: "conv15_2_mbox_conf_flat"
1838   bottom: "conv16_2_mbox_conf_flat"
1839   bottom: "conv17_2_mbox_conf_flat"
1840   top: "mbox_conf"
1841   concat_param {
1842     axis: 1
1843   }
1844 }
1845 layer {
1846   name: "mbox_priorbox"
1847   type: "Concat"
1848   bottom: "conv11_mbox_priorbox"
1849   bottom: "conv13_mbox_priorbox"
1850   bottom: "conv14_2_mbox_priorbox"
1851   bottom: "conv15_2_mbox_priorbox"
1852   bottom: "conv16_2_mbox_priorbox"
1853   bottom: "conv17_2_mbox_priorbox"
1854   top: "mbox_priorbox"
1855   concat_param {
1856     axis: 2
1857   }
1858 }
1859 layer {
1860   name: "mbox_conf_reshape"
1861   type: "Reshape"
1862   bottom: "mbox_conf"
1863   top: "mbox_conf_reshape"
1864   reshape_param {
1865     shape {
1866       dim: 0
1867       dim: -1
1868       dim: 21
1869     }
1870   }
1871 }
1872 layer {
1873   name: "mbox_conf_softmax"
1874   type: "Softmax"
1875   bottom: "mbox_conf_reshape"
1876   top: "mbox_conf_softmax"
1877   softmax_param {
1878     axis: 2
1879   }
1880 }
1881 layer {
1882   name: "mbox_conf_flatten"
1883   type: "Flatten"
1884   bottom: "mbox_conf_softmax"
1885   top: "mbox_conf_flatten"
1886   flatten_param {
1887     axis: 1
1888   }
1889 }
1890 layer {
1891   name: "detection_out"
1892   type: "DetectionOutput"
1893   bottom: "mbox_loc"
1894   bottom: "mbox_conf_flatten"
1895   bottom: "mbox_priorbox"
1896   top: "detection_out"
1897   include {
1898     phase: TEST
1899   }
1900   detection_output_param {
1901     num_classes: 21
1902     share_location: true
1903     background_label_id: 0
1904     nms_param {
1905       nms_threshold: 0.45
1906       top_k: 100
1907     }
1908     code_type: CENTER_SIZE
1909     keep_top_k: 100
1910     confidence_threshold: 0.25
1911   }
1912 }