proto.h
26.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
#ifndef PROTO_H_
#define PROTO_H
#include <iostream>
#include <vector>
using namespace std;
void loadProtoArray(vector <string> *protoArray)
{
string str0 = "name: \"mobile_10_SSD10_416x224_416x224_mobile_shift2_mindim+0.6_test\"\ninput: \"data\"\ninput_shape{\ndim: 1\ndim: 3\ndim: 224\ndim: 416\n}\
\nlayer{\nname: \"conv1\"\ntype: \"Convolution\"\nbottom: \"data\"\ntop: \"conv1\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 32\nbias_term: true\npad: 1\nkernel_size: 3\nstride: 2\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu1\"\ntype: \"ReLU\"\nbottom: \"conv1\"\ntop: \"conv1\"\n}\
\nlayer{\nname: \"conv2_1/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv1\"\ntop: \"conv2_1/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 32\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 32\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu2_1/dw\"\ntype: \"ReLU\"\nbottom: \"conv2_1/dw\"\ntop: \"conv2_1/dw\"\n}\
";
protoArray->push_back(str0);
string str1 = "\nlayer{\nname: \"conv2_1/sep\"\ntype: \"Convolution\"\nbottom: \"conv2_1/dw\"\ntop: \"conv2_1/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 64\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu2_1/sep\"\ntype: \"ReLU\"\nbottom: \"conv2_1/sep\"\ntop: \"conv2_1/sep\"\n}\
\nlayer{\nname: \"conv2_2/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv2_1/sep\"\ntop: \"conv2_2/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 64\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 64\nstride: 2\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu2_2/dw\"\ntype: \"ReLU\"\nbottom: \"conv2_2/dw\"\ntop: \"conv2_2/dw\"\n}\
\nlayer{\nname: \"conv2_2/sep\"\ntype: \"Convolution\"\nbottom: \"conv2_2/dw\"\ntop: \"conv2_2/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 128\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
";
protoArray->push_back(str1);
string str2 = "\nlayer{\nname: \"relu2_2/sep\"\ntype: \"ReLU\"\nbottom: \"conv2_2/sep\"\ntop: \"conv2_2/sep\"\n}\
\nlayer{\nname: \"conv3_1/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv2_2/sep\"\ntop: \"conv3_1/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 128\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 128\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu3_1/dw\"\ntype: \"ReLU\"\nbottom: \"conv3_1/dw\"\ntop: \"conv3_1/dw\"\n}\
\nlayer{\nname: \"conv3_1/sep\"\ntype: \"Convolution\"\nbottom: \"conv3_1/dw\"\ntop: \"conv3_1/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 128\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu3_1/sep\"\ntype: \"ReLU\"\nbottom: \"conv3_1/sep\"\ntop: \"conv3_1/sep\"\n}\
";
protoArray->push_back(str2);
string str3 = "\nlayer{\nname: \"conv3_2/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv3_1/sep\"\ntop: \"conv3_2/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 128\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 128\nstride: 2\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu3_2/dw\"\ntype: \"ReLU\"\nbottom: \"conv3_2/dw\"\ntop: \"conv3_2/dw\"\n}\
\nlayer{\nname: \"conv3_2/sep\"\ntype: \"Convolution\"\nbottom: \"conv3_2/dw\"\ntop: \"conv3_2/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 256\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu3_2/sep\"\ntype: \"ReLU\"\nbottom: \"conv3_2/sep\"\ntop: \"conv3_2/sep\"\n}\
\nlayer{\nname: \"conv4_1/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv3_2/sep\"\ntop: \"conv4_1/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 256\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 256\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
";
protoArray->push_back(str3);
string str4 = "\nlayer{\nname: \"relu4_1/dw\"\ntype: \"ReLU\"\nbottom: \"conv4_1/dw\"\ntop: \"conv4_1/dw\"\n}\
\nlayer{\nname: \"conv4_1/sep\"\ntype: \"Convolution\"\nbottom: \"conv4_1/dw\"\ntop: \"conv4_1/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 256\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu4_1/sep\"\ntype: \"ReLU\"\nbottom: \"conv4_1/sep\"\ntop: \"conv4_1/sep\"\n}\
\nlayer{\nname: \"conv4_2/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv4_1/sep\"\ntop: \"conv4_2/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 256\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 256\nstride: 2\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu4_2/dw\"\ntype: \"ReLU\"\nbottom: \"conv4_2/dw\"\ntop: \"conv4_2/dw\"\n}\
";
protoArray->push_back(str4);
string str5 = "\nlayer{\nname: \"conv4_2/sep\"\ntype: \"Convolution\"\nbottom: \"conv4_2/dw\"\ntop: \"conv4_2/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu4_2/sep\"\ntype: \"ReLU\"\nbottom: \"conv4_2/sep\"\ntop: \"conv4_2/sep\"\n}\
\nlayer{\nname: \"conv5_1/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv4_2/sep\"\ntop: \"conv5_1/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 512\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu5_1/dw\"\ntype: \"ReLU\"\nbottom: \"conv5_1/dw\"\ntop: \"conv5_1/dw\"\n}\
\nlayer{\nname: \"conv5_1/sep\"\ntype: \"Convolution\"\nbottom: \"conv5_1/dw\"\ntop: \"conv5_1/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
";
protoArray->push_back(str5);
string str6 = "\nlayer{\nname: \"relu5_1/sep\"\ntype: \"ReLU\"\nbottom: \"conv5_1/sep\"\ntop: \"conv5_1/sep\"\n}\
\nlayer{\nname: \"conv5_2/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv5_1/sep\"\ntop: \"conv5_2/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 512\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu5_2/dw\"\ntype: \"ReLU\"\nbottom: \"conv5_2/dw\"\ntop: \"conv5_2/dw\"\n}\
\nlayer{\nname: \"conv5_2/sep\"\ntype: \"Convolution\"\nbottom: \"conv5_2/dw\"\ntop: \"conv5_2/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu5_2/sep\"\ntype: \"ReLU\"\nbottom: \"conv5_2/sep\"\ntop: \"conv5_2/sep\"\n}\
";
protoArray->push_back(str6);
string str7 = "\nlayer{\nname: \"conv5_3/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv5_2/sep\"\ntop: \"conv5_3/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 512\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu5_3/dw\"\ntype: \"ReLU\"\nbottom: \"conv5_3/dw\"\ntop: \"conv5_3/dw\"\n}\
\nlayer{\nname: \"conv5_3/sep\"\ntype: \"Convolution\"\nbottom: \"conv5_3/dw\"\ntop: \"conv5_3/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu5_3/sep\"\ntype: \"ReLU\"\nbottom: \"conv5_3/sep\"\ntop: \"conv5_3/sep\"\n}\
\nlayer{\nname: \"conv5_4/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv5_3/sep\"\ntop: \"conv5_4/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 512\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
";
protoArray->push_back(str7);
string str8 = "\nlayer{\nname: \"relu5_4/dw\"\ntype: \"ReLU\"\nbottom: \"conv5_4/dw\"\ntop: \"conv5_4/dw\"\n}\
\nlayer{\nname: \"conv5_4/sep\"\ntype: \"Convolution\"\nbottom: \"conv5_4/dw\"\ntop: \"conv5_4/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu5_4/sep\"\ntype: \"ReLU\"\nbottom: \"conv5_4/sep\"\ntop: \"conv5_4/sep\"\n}\
\nlayer{\nname: \"conv5_5/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv5_4/sep\"\ntop: \"conv5_5/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 512\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu5_5/dw\"\ntype: \"ReLU\"\nbottom: \"conv5_5/dw\"\ntop: \"conv5_5/dw\"\n}\
";
protoArray->push_back(str8);
string str9 = "\nlayer{\nname: \"conv5_5/sep\"\ntype: \"Convolution\"\nbottom: \"conv5_5/dw\"\ntop: \"conv5_5/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu5_5/sep\"\ntype: \"ReLU\"\nbottom: \"conv5_5/sep\"\ntop: \"conv5_5/sep\"\n}\
\nlayer{\nname: \"conv5_6/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv5_5/sep\"\ntop: \"conv5_6/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 512\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 512\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu5_6/dw\"\ntype: \"ReLU\"\nbottom: \"conv5_6/dw\"\ntop: \"conv5_6/dw\"\n}\
\nlayer{\nname: \"conv5_6/sep\"\ntype: \"Convolution\"\nbottom: \"conv5_6/dw\"\ntop: \"conv5_6/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 1024\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
";
protoArray->push_back(str9);
string str10 = "\nlayer{\nname: \"relu5_6/sep\"\ntype: \"ReLU\"\nbottom: \"conv5_6/sep\"\ntop: \"conv5_6/sep\"\n}\
\nlayer{\nname: \"conv6/dw\"\ntype: \"DepthwiseConvolution\"\nbottom: \"conv5_6/sep\"\ntop: \"conv6/dw\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 1024\nbias_term: true\npad: 1\nkernel_size: 3\ngroup: 1024\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\ndilation: 2\n}\n}\
\nlayer{\nname: \"relu6/dw\"\ntype: \"ReLU\"\nbottom: \"conv6/dw\"\ntop: \"conv6/dw\"\n}\
\nlayer{\nname: \"conv6/sep\"\ntype: \"Convolution\"\nbottom: \"conv6/dw\"\ntop: \"conv6/sep\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nconvolution_param{\nnum_output: 1024\nbias_term: true\npad: 0\nkernel_size: 1\nstride: 1\nweight_filler{\ntype: \"msra\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"relu6/sep\"\ntype: \"ReLU\"\nbottom: \"conv6/sep\"\ntop: \"conv6/sep\"\n}\
";
protoArray->push_back(str10);
string str11 = "\nlayer{\nname: \"conv6_1\"\ntype: \"Convolution\"\nbottom: \"conv6/sep\"\ntop: \"conv6_1\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 256\npad: 0\nkernel_size: 1\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv6_1_relu\"\ntype: \"ReLU\"\nbottom: \"conv6_1\"\ntop: \"conv6_1\"\n}\
\nlayer{\nname: \"conv6_2\"\ntype: \"Convolution\"\nbottom: \"conv6_1\"\ntop: \"conv6_2\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 512\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 2\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv6_2_relu\"\ntype: \"ReLU\"\nbottom: \"conv6_2\"\ntop: \"conv6_2\"\n}\
\nlayer{\nname: \"conv7_1\"\ntype: \"Convolution\"\nbottom: \"conv6_2\"\ntop: \"conv7_1\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 128\npad: 0\nkernel_size: 1\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
";
protoArray->push_back(str11);
string str12 = "\nlayer{\nname: \"conv7_1_relu\"\ntype: \"ReLU\"\nbottom: \"conv7_1\"\ntop: \"conv7_1\"\n}\
\nlayer{\nname: \"conv7_2\"\ntype: \"Convolution\"\nbottom: \"conv7_1\"\ntop: \"conv7_2\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 256\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 2\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv7_2_relu\"\ntype: \"ReLU\"\nbottom: \"conv7_2\"\ntop: \"conv7_2\"\n}\
\nlayer{\nname: \"conv8_1\"\ntype: \"Convolution\"\nbottom: \"conv7_2\"\ntop: \"conv8_1\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 128\npad: 0\nkernel_size: 1\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv8_1_relu\"\ntype: \"ReLU\"\nbottom: \"conv8_1\"\ntop: \"conv8_1\"\n}\
";
protoArray->push_back(str12);
string str13 = "\nlayer{\nname: \"conv8_2\"\ntype: \"Convolution\"\nbottom: \"conv8_1\"\ntop: \"conv8_2\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 256\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 2\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv8_2_relu\"\ntype: \"ReLU\"\nbottom: \"conv8_2\"\ntop: \"conv8_2\"\n}\
\nlayer{\nname: \"conv4_1/sep_mbox_loc\"\ntype: \"Convolution\"\nbottom: \"conv4_1/sep\"\ntop: \"conv4_1/sep_mbox_loc\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 32\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv4_1/sep_mbox_loc_perm\"\ntype: \"Permute\"\nbottom: \"conv4_1/sep_mbox_loc\"\ntop: \"conv4_1/sep_mbox_loc_perm\"\npermute_param{\norder: 0\norder: 2\norder: 3\norder: 1\n}\n}\
\nlayer{\nname: \"conv4_1/sep_mbox_loc_flat\"\ntype: \"Flatten\"\nbottom: \"conv4_1/sep_mbox_loc_perm\"\ntop: \"conv4_1/sep_mbox_loc_flat\"\nflatten_param{\naxis: 1\n}\n}\
";
protoArray->push_back(str13);
string str14 = "\nlayer{\nname: \"conv4_1/sep_mbox_conf\"\ntype: \"Convolution\"\nbottom: \"conv4_1/sep\"\ntop: \"conv4_1/sep_mbox_conf\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 88\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv4_1/sep_mbox_conf_perm\"\ntype: \"Permute\"\nbottom: \"conv4_1/sep_mbox_conf\"\ntop: \"conv4_1/sep_mbox_conf_perm\"\npermute_param{\norder: 0\norder: 2\norder: 3\norder: 1\n}\n}\
\nlayer{\nname: \"conv4_1/sep_mbox_conf_flat\"\ntype: \"Flatten\"\nbottom: \"conv4_1/sep_mbox_conf_perm\"\ntop: \"conv4_1/sep_mbox_conf_flat\"\nflatten_param{\naxis: 1\n}\n}\
\nlayer{\nname: \"conv4_1/sep_mbox_priorbox\"\ntype: \"PriorBox\"\nbottom: \"conv4_1/sep\"\nbottom: \"data\"\ntop: \"conv4_1/sep_mbox_priorbox\"\nprior_box_param{\nmin_size: 10.0\nmax_size: 20.0\naspect_ratio: 0.6\naspect_ratio: 0.3\nflip: false\nclip: false\nvariance: 0.1\nvariance: 0.1\nvariance: 0.2\nvariance: 0.2\noffset: 0.5\ncache: true\nshift: true\n}\n}\
\nlayer{\nname: \"conv6/sep_mbox_loc\"\ntype: \"Convolution\"\nbottom: \"conv6/sep\"\ntop: \"conv6/sep_mbox_loc\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 48\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
";
protoArray->push_back(str14);
string str15 = "\nlayer{\nname: \"conv6/sep_mbox_loc_perm\"\ntype: \"Permute\"\nbottom: \"conv6/sep_mbox_loc\"\ntop: \"conv6/sep_mbox_loc_perm\"\npermute_param{\norder: 0\norder: 2\norder: 3\norder: 1\n}\n}\
\nlayer{\nname: \"conv6/sep_mbox_loc_flat\"\ntype: \"Flatten\"\nbottom: \"conv6/sep_mbox_loc_perm\"\ntop: \"conv6/sep_mbox_loc_flat\"\nflatten_param{\naxis: 1\n}\n}\
\nlayer{\nname: \"conv6/sep_mbox_conf\"\ntype: \"Convolution\"\nbottom: \"conv6/sep\"\ntop: \"conv6/sep_mbox_conf\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 132\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv6/sep_mbox_conf_perm\"\ntype: \"Permute\"\nbottom: \"conv6/sep_mbox_conf\"\ntop: \"conv6/sep_mbox_conf_perm\"\npermute_param{\norder: 0\norder: 2\norder: 3\norder: 1\n}\n}\
\nlayer{\nname: \"conv6/sep_mbox_conf_flat\"\ntype: \"Flatten\"\nbottom: \"conv6/sep_mbox_conf_perm\"\ntop: \"conv6/sep_mbox_conf_flat\"\nflatten_param{\naxis: 1\n}\n}\
";
protoArray->push_back(str15);
string str16 = "\nlayer{\nname: \"conv6/sep_mbox_priorbox\"\ntype: \"PriorBox\"\nbottom: \"conv6/sep\"\nbottom: \"data\"\ntop: \"conv6/sep_mbox_priorbox\"\nprior_box_param{\nmin_size: 20.0\nmax_size: 40.0\naspect_ratio: 2.0\naspect_ratio: 3.0\naspect_ratio: 0.5\naspect_ratio: 0.3333\nflip: false\nclip: false\nvariance: 0.1\nvariance: 0.1\nvariance: 0.2\nvariance: 0.2\noffset: 0.5\ncache: true\nshift: true\n}\n}\
\nlayer{\nname: \"conv6_2_mbox_loc\"\ntype: \"Convolution\"\nbottom: \"conv6_2\"\ntop: \"conv6_2_mbox_loc\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 48\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv6_2_mbox_loc_perm\"\ntype: \"Permute\"\nbottom: \"conv6_2_mbox_loc\"\ntop: \"conv6_2_mbox_loc_perm\"\npermute_param{\norder: 0\norder: 2\norder: 3\norder: 1\n}\n}\
\nlayer{\nname: \"conv6_2_mbox_loc_flat\"\ntype: \"Flatten\"\nbottom: \"conv6_2_mbox_loc_perm\"\ntop: \"conv6_2_mbox_loc_flat\"\nflatten_param{\naxis: 1\n}\n}\
\nlayer{\nname: \"conv6_2_mbox_conf\"\ntype: \"Convolution\"\nbottom: \"conv6_2\"\ntop: \"conv6_2_mbox_conf\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 132\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
";
protoArray->push_back(str16);
string str17 = "\nlayer{\nname: \"conv6_2_mbox_conf_perm\"\ntype: \"Permute\"\nbottom: \"conv6_2_mbox_conf\"\ntop: \"conv6_2_mbox_conf_perm\"\npermute_param{\norder: 0\norder: 2\norder: 3\norder: 1\n}\n}\
\nlayer{\nname: \"conv6_2_mbox_conf_flat\"\ntype: \"Flatten\"\nbottom: \"conv6_2_mbox_conf_perm\"\ntop: \"conv6_2_mbox_conf_flat\"\nflatten_param{\naxis: 1\n}\n}\
\nlayer{\nname: \"conv6_2_mbox_priorbox\"\ntype: \"PriorBox\"\nbottom: \"conv6_2\"\nbottom: \"data\"\ntop: \"conv6_2_mbox_priorbox\"\nprior_box_param{\nmin_size: 40.0\nmax_size: 80.0\naspect_ratio: 2.0\naspect_ratio: 3.0\naspect_ratio: 0.5\naspect_ratio: 0.33333\nflip: false\nclip: false\nvariance: 0.1\nvariance: 0.1\nvariance: 0.2\nvariance: 0.2\noffset: 0.5\ncache: true\nshift: true\n}\n}\
\nlayer{\nname: \"conv7_2_mbox_loc\"\ntype: \"Convolution\"\nbottom: \"conv7_2\"\ntop: \"conv7_2_mbox_loc\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 48\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv7_2_mbox_loc_perm\"\ntype: \"Permute\"\nbottom: \"conv7_2_mbox_loc\"\ntop: \"conv7_2_mbox_loc_perm\"\npermute_param{\norder: 0\norder: 2\norder: 3\norder: 1\n}\n}\
";
protoArray->push_back(str17);
string str18 = "\nlayer{\nname: \"conv7_2_mbox_loc_flat\"\ntype: \"Flatten\"\nbottom: \"conv7_2_mbox_loc_perm\"\ntop: \"conv7_2_mbox_loc_flat\"\nflatten_param{\naxis: 1\n}\n}\
\nlayer{\nname: \"conv7_2_mbox_conf\"\ntype: \"Convolution\"\nbottom: \"conv7_2\"\ntop: \"conv7_2_mbox_conf\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 132\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv7_2_mbox_conf_perm\"\ntype: \"Permute\"\nbottom: \"conv7_2_mbox_conf\"\ntop: \"conv7_2_mbox_conf_perm\"\npermute_param{\norder: 0\norder: 2\norder: 3\norder: 1\n}\n}\
\nlayer{\nname: \"conv7_2_mbox_conf_flat\"\ntype: \"Flatten\"\nbottom: \"conv7_2_mbox_conf_perm\"\ntop: \"conv7_2_mbox_conf_flat\"\nflatten_param{\naxis: 1\n}\n}\
\nlayer{\nname: \"conv7_2_mbox_priorbox\"\ntype: \"PriorBox\"\nbottom: \"conv7_2\"\nbottom: \"data\"\ntop: \"conv7_2_mbox_priorbox\"\nprior_box_param{\nmin_size: 80.0\nmax_size: 160.0\naspect_ratio: 2.0\naspect_ratio: 3.0\naspect_ratio: 0.5\naspect_ratio: 0.3333\nflip: false\nclip: false\nvariance: 0.1\nvariance: 0.1\nvariance: 0.2\nvariance: 0.2\noffset: 0.5\ncache: true\nshift: true\n}\n}\
";
protoArray->push_back(str18);
string str19 = "\nlayer{\nname: \"conv8_2_mbox_loc\"\ntype: \"Convolution\"\nbottom: \"conv8_2\"\ntop: \"conv8_2_mbox_loc\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 48\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv8_2_mbox_loc_perm\"\ntype: \"Permute\"\nbottom: \"conv8_2_mbox_loc\"\ntop: \"conv8_2_mbox_loc_perm\"\npermute_param{\norder: 0\norder: 2\norder: 3\norder: 1\n}\n}\
\nlayer{\nname: \"conv8_2_mbox_loc_flat\"\ntype: \"Flatten\"\nbottom: \"conv8_2_mbox_loc_perm\"\ntop: \"conv8_2_mbox_loc_flat\"\nflatten_param{\naxis: 1\n}\n}\
\nlayer{\nname: \"conv8_2_mbox_conf\"\ntype: \"Convolution\"\nbottom: \"conv8_2\"\ntop: \"conv8_2_mbox_conf\"\nparam{\nlr_mult: 1.0\ndecay_mult: 1.0\n}\nparam{\nlr_mult: 2.0\ndecay_mult: 0.0\n}\nconvolution_param{\nnum_output: 132\npad: 1\nkernel_size: 3\ngroup: 1\nstride: 1\nweight_filler{\ntype: \"xavier\"\n}\nbias_filler{\ntype: \"constant\"\nvalue: 0.0\n}\n}\n}\
\nlayer{\nname: \"conv8_2_mbox_conf_perm\"\ntype: \"Permute\"\nbottom: \"conv8_2_mbox_conf\"\ntop: \"conv8_2_mbox_conf_perm\"\npermute_param{\norder: 0\norder: 2\norder: 3\norder: 1\n}\n}\
";
protoArray->push_back(str19);
string str20 = "\nlayer{\nname: \"conv8_2_mbox_conf_flat\"\ntype: \"Flatten\"\nbottom: \"conv8_2_mbox_conf_perm\"\ntop: \"conv8_2_mbox_conf_flat\"\nflatten_param{\naxis: 1\n}\n}\
\nlayer{\nname: \"conv8_2_mbox_priorbox\"\ntype: \"PriorBox\"\nbottom: \"conv8_2\"\nbottom: \"data\"\ntop: \"conv8_2_mbox_priorbox\"\nprior_box_param{\nmin_size: 160.0\nmax_size: 320.0\naspect_ratio: 2.0\naspect_ratio: 3.0\naspect_ratio: 0.5\naspect_ratio: 0.33333\nflip: false\nclip: false\nvariance: 0.1\nvariance: 0.1\nvariance: 0.2\nvariance: 0.2\noffset: 0.5\ncache: true\nshift: true\n}\n}\
\nlayer{\nname: \"mbox_loc\"\ntype: \"Concat\"\nbottom: \"conv4_1/sep_mbox_loc_flat\"\nbottom: \"conv6/sep_mbox_loc_flat\"\nbottom: \"conv6_2_mbox_loc_flat\"\nbottom: \"conv7_2_mbox_loc_flat\"\nbottom: \"conv8_2_mbox_loc_flat\"\ntop: \"mbox_loc\"\nconcat_param{\naxis: 1\n}\n}\
\nlayer{\nname: \"mbox_conf\"\ntype: \"Concat\"\nbottom: \"conv4_1/sep_mbox_conf_flat\"\nbottom: \"conv6/sep_mbox_conf_flat\"\nbottom: \"conv6_2_mbox_conf_flat\"\nbottom: \"conv7_2_mbox_conf_flat\"\nbottom: \"conv8_2_mbox_conf_flat\"\ntop: \"mbox_conf\"\nconcat_param{\naxis: 1\n}\n}\
\nlayer{\nname: \"mbox_priorbox\"\ntype: \"Concat\"\nbottom: \"conv4_1/sep_mbox_priorbox\"\nbottom: \"conv6/sep_mbox_priorbox\"\nbottom: \"conv6_2_mbox_priorbox\"\nbottom: \"conv7_2_mbox_priorbox\"\nbottom: \"conv8_2_mbox_priorbox\"\ntop: \"mbox_priorbox\"\nconcat_param{\naxis: 2\n}\n}\
";
protoArray->push_back(str20);
string str21 = "\nlayer{\nname: \"mbox_conf_reshape\"\ntype: \"Reshape\"\nbottom: \"mbox_conf\"\ntop: \"mbox_conf_reshape\"\nreshape_param{\nshape{\ndim: 0\ndim: -1\ndim: 11\n}\n}\n}\
\nlayer{\nname: \"mbox_conf_softmax\"\ntype: \"Softmax\"\nbottom: \"mbox_conf_reshape\"\ntop: \"mbox_conf_softmax\"\nsoftmax_param{\naxis: 2\n}\n}\
\nlayer{\nname: \"mbox_conf_flatten\"\ntype: \"Flatten\"\nbottom: \"mbox_conf_softmax\"\ntop: \"mbox_conf_flatten\"\nflatten_param{\naxis: 1\n}\n}\
\nlayer{\nname: \"detection_out\"\ntype: \"DetectionOutput\"\nbottom: \"mbox_loc\"\nbottom: \"mbox_conf_flatten\"\nbottom: \"mbox_priorbox\"\ntop: \"detection_out\"\ninclude{\nphase: TEST\n}\ndetection_output_param{\nnum_classes: 11\nshare_location: true\nbackground_label_id: 0\nnms_param{\nnms_threshold: 0.45\ntop_k: 400\n}\ncode_type: CENTER_SIZE\nkeep_top_k: 200\nconfidence_threshold: 0.01\n}\n}\
\n\n";
protoArray->push_back(str21);
}
#endif