--- /dev/null
+name: "MobileNet-SSD"
+input: "data"
+input_shape {
+ dim: 1
+ dim: 3
+ dim: 300
+ dim: 300
+}
+layer {
+ name: "conv0"
+ type: "Convolution"
+ bottom: "data"
+ top: "conv0"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 32
+ pad: 1
+ kernel_size: 3
+ stride: 2
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv0/relu"
+ type: "ReLU"
+ bottom: "conv0"
+ top: "conv0"
+}
+layer {
+ name: "conv1/dw"
+ type: "Convolution"
+ bottom: "conv0"
+ top: "conv1/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 32
+ pad: 1
+ kernel_size: 3
+ group: 32
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv1/dw/relu"
+ type: "ReLU"
+ bottom: "conv1/dw"
+ top: "conv1/dw"
+}
+layer {
+ name: "conv1"
+ type: "Convolution"
+ bottom: "conv1/dw"
+ top: "conv1"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 64
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv1/relu"
+ type: "ReLU"
+ bottom: "conv1"
+ top: "conv1"
+}
+layer {
+ name: "conv2/dw"
+ type: "Convolution"
+ bottom: "conv1"
+ top: "conv2/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 64
+ pad: 1
+ kernel_size: 3
+ stride: 2
+ group: 64
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv2/dw/relu"
+ type: "ReLU"
+ bottom: "conv2/dw"
+ top: "conv2/dw"
+}
+layer {
+ name: "conv2"
+ type: "Convolution"
+ bottom: "conv2/dw"
+ top: "conv2"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv2/relu"
+ type: "ReLU"
+ bottom: "conv2"
+ top: "conv2"
+}
+layer {
+ name: "conv3/dw"
+ type: "Convolution"
+ bottom: "conv2"
+ top: "conv3/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 128
+ pad: 1
+ kernel_size: 3
+ group: 128
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv3/dw/relu"
+ type: "ReLU"
+ bottom: "conv3/dw"
+ top: "conv3/dw"
+}
+layer {
+ name: "conv3"
+ type: "Convolution"
+ bottom: "conv3/dw"
+ top: "conv3"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv3/relu"
+ type: "ReLU"
+ bottom: "conv3"
+ top: "conv3"
+}
+layer {
+ name: "conv4/dw"
+ type: "Convolution"
+ bottom: "conv3"
+ top: "conv4/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 128
+ pad: 1
+ kernel_size: 3
+ stride: 2
+ group: 128
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv4/dw/relu"
+ type: "ReLU"
+ bottom: "conv4/dw"
+ top: "conv4/dw"
+}
+layer {
+ name: "conv4"
+ type: "Convolution"
+ bottom: "conv4/dw"
+ top: "conv4"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv4/relu"
+ type: "ReLU"
+ bottom: "conv4"
+ top: "conv4"
+}
+layer {
+ name: "conv5/dw"
+ type: "Convolution"
+ bottom: "conv4"
+ top: "conv5/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 256
+ pad: 1
+ kernel_size: 3
+ group: 256
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv5/dw/relu"
+ type: "ReLU"
+ bottom: "conv5/dw"
+ top: "conv5/dw"
+}
+layer {
+ name: "conv5"
+ type: "Convolution"
+ bottom: "conv5/dw"
+ top: "conv5"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv5/relu"
+ type: "ReLU"
+ bottom: "conv5"
+ top: "conv5"
+}
+layer {
+ name: "conv6/dw"
+ type: "Convolution"
+ bottom: "conv5"
+ top: "conv6/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 256
+ pad: 1
+ kernel_size: 3
+ stride: 2
+ group: 256
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv6/dw/relu"
+ type: "ReLU"
+ bottom: "conv6/dw"
+ top: "conv6/dw"
+}
+layer {
+ name: "conv6"
+ type: "Convolution"
+ bottom: "conv6/dw"
+ top: "conv6"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv6/relu"
+ type: "ReLU"
+ bottom: "conv6"
+ top: "conv6"
+}
+layer {
+ name: "conv7/dw"
+ type: "Convolution"
+ bottom: "conv6"
+ top: "conv7/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ pad: 1
+ kernel_size: 3
+ group: 512
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv7/dw/relu"
+ type: "ReLU"
+ bottom: "conv7/dw"
+ top: "conv7/dw"
+}
+layer {
+ name: "conv7"
+ type: "Convolution"
+ bottom: "conv7/dw"
+ top: "conv7"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv7/relu"
+ type: "ReLU"
+ bottom: "conv7"
+ top: "conv7"
+}
+layer {
+ name: "conv8/dw"
+ type: "Convolution"
+ bottom: "conv7"
+ top: "conv8/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ pad: 1
+ kernel_size: 3
+ group: 512
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv8/dw/relu"
+ type: "ReLU"
+ bottom: "conv8/dw"
+ top: "conv8/dw"
+}
+layer {
+ name: "conv8"
+ type: "Convolution"
+ bottom: "conv8/dw"
+ top: "conv8"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv8/relu"
+ type: "ReLU"
+ bottom: "conv8"
+ top: "conv8"
+}
+layer {
+ name: "conv9/dw"
+ type: "Convolution"
+ bottom: "conv8"
+ top: "conv9/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ pad: 1
+ kernel_size: 3
+ group: 512
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv9/dw/relu"
+ type: "ReLU"
+ bottom: "conv9/dw"
+ top: "conv9/dw"
+}
+layer {
+ name: "conv9"
+ type: "Convolution"
+ bottom: "conv9/dw"
+ top: "conv9"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv9/relu"
+ type: "ReLU"
+ bottom: "conv9"
+ top: "conv9"
+}
+layer {
+ name: "conv10/dw"
+ type: "Convolution"
+ bottom: "conv9"
+ top: "conv10/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ pad: 1
+ kernel_size: 3
+ group: 512
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv10/dw/relu"
+ type: "ReLU"
+ bottom: "conv10/dw"
+ top: "conv10/dw"
+}
+layer {
+ name: "conv10"
+ type: "Convolution"
+ bottom: "conv10/dw"
+ top: "conv10"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv10/relu"
+ type: "ReLU"
+ bottom: "conv10"
+ top: "conv10"
+}
+layer {
+ name: "conv11/dw"
+ type: "Convolution"
+ bottom: "conv10"
+ top: "conv11/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ pad: 1
+ kernel_size: 3
+ group: 512
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv11/dw/relu"
+ type: "ReLU"
+ bottom: "conv11/dw"
+ top: "conv11/dw"
+}
+layer {
+ name: "conv11"
+ type: "Convolution"
+ bottom: "conv11/dw"
+ top: "conv11"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv11/relu"
+ type: "ReLU"
+ bottom: "conv11"
+ top: "conv11"
+}
+layer {
+ name: "conv12/dw"
+ type: "Convolution"
+ bottom: "conv11"
+ top: "conv12/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ pad: 1
+ kernel_size: 3
+ stride: 2
+ group: 512
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv12/dw/relu"
+ type: "ReLU"
+ bottom: "conv12/dw"
+ top: "conv12/dw"
+}
+layer {
+ name: "conv12"
+ type: "Convolution"
+ bottom: "conv12/dw"
+ top: "conv12"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv12/relu"
+ type: "ReLU"
+ bottom: "conv12"
+ top: "conv12"
+}
+layer {
+ name: "conv13/dw"
+ type: "Convolution"
+ bottom: "conv12"
+ top: "conv13/dw"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 1024
+ pad: 1
+ kernel_size: 3
+ group: 1024
+ engine: CAFFE
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv13/dw/relu"
+ type: "ReLU"
+ bottom: "conv13/dw"
+ top: "conv13/dw"
+}
+layer {
+ name: "conv13"
+ type: "Convolution"
+ bottom: "conv13/dw"
+ top: "conv13"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv13/relu"
+ type: "ReLU"
+ bottom: "conv13"
+ top: "conv13"
+}
+layer {
+ name: "conv14_1"
+ type: "Convolution"
+ bottom: "conv13"
+ top: "conv14_1"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv14_1/relu"
+ type: "ReLU"
+ bottom: "conv14_1"
+ top: "conv14_1"
+}
+layer {
+ name: "conv14_2"
+ type: "Convolution"
+ bottom: "conv14_1"
+ top: "conv14_2"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 512
+ pad: 1
+ kernel_size: 3
+ stride: 2
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv14_2/relu"
+ type: "ReLU"
+ bottom: "conv14_2"
+ top: "conv14_2"
+}
+layer {
+ name: "conv15_1"
+ type: "Convolution"
+ bottom: "conv14_2"
+ top: "conv15_1"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv15_1/relu"
+ type: "ReLU"
+ bottom: "conv15_1"
+ top: "conv15_1"
+}
+layer {
+ name: "conv15_2"
+ type: "Convolution"
+ bottom: "conv15_1"
+ top: "conv15_2"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 256
+ pad: 1
+ kernel_size: 3
+ stride: 2
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv15_2/relu"
+ type: "ReLU"
+ bottom: "conv15_2"
+ top: "conv15_2"
+}
+layer {
+ name: "conv16_1"
+ type: "Convolution"
+ bottom: "conv15_2"
+ top: "conv16_1"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv16_1/relu"
+ type: "ReLU"
+ bottom: "conv16_1"
+ top: "conv16_1"
+}
+layer {
+ name: "conv16_2"
+ type: "Convolution"
+ bottom: "conv16_1"
+ top: "conv16_2"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 256
+ pad: 1
+ kernel_size: 3
+ stride: 2
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv16_2/relu"
+ type: "ReLU"
+ bottom: "conv16_2"
+ top: "conv16_2"
+}
+layer {
+ name: "conv17_1"
+ type: "Convolution"
+ bottom: "conv16_2"
+ top: "conv17_1"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 64
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv17_1/relu"
+ type: "ReLU"
+ bottom: "conv17_1"
+ top: "conv17_1"
+}
+layer {
+ name: "conv17_2"
+ type: "Convolution"
+ bottom: "conv17_1"
+ top: "conv17_2"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 128
+ pad: 1
+ kernel_size: 3
+ stride: 2
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv17_2/relu"
+ type: "ReLU"
+ bottom: "conv17_2"
+ top: "conv17_2"
+}
+layer {
+ name: "conv11_mbox_loc"
+ type: "Convolution"
+ bottom: "conv11"
+ top: "conv11_mbox_loc"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 12
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv11_mbox_loc_perm"
+ type: "Permute"
+ bottom: "conv11_mbox_loc"
+ top: "conv11_mbox_loc_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv11_mbox_loc_flat"
+ type: "Flatten"
+ bottom: "conv11_mbox_loc_perm"
+ top: "conv11_mbox_loc_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv11_mbox_conf"
+ type: "Convolution"
+ bottom: "conv11"
+ top: "conv11_mbox_conf"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 63
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv11_mbox_conf_perm"
+ type: "Permute"
+ bottom: "conv11_mbox_conf"
+ top: "conv11_mbox_conf_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv11_mbox_conf_flat"
+ type: "Flatten"
+ bottom: "conv11_mbox_conf_perm"
+ top: "conv11_mbox_conf_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv11_mbox_priorbox"
+ type: "PriorBox"
+ bottom: "conv11"
+ bottom: "data"
+ top: "conv11_mbox_priorbox"
+ prior_box_param {
+ min_size: 60.0
+ aspect_ratio: 2.0
+ flip: true
+ clip: false
+ variance: 0.1
+ variance: 0.1
+ variance: 0.2
+ variance: 0.2
+ offset: 0.5
+ }
+}
+layer {
+ name: "conv13_mbox_loc"
+ type: "Convolution"
+ bottom: "conv13"
+ top: "conv13_mbox_loc"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 24
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv13_mbox_loc_perm"
+ type: "Permute"
+ bottom: "conv13_mbox_loc"
+ top: "conv13_mbox_loc_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv13_mbox_loc_flat"
+ type: "Flatten"
+ bottom: "conv13_mbox_loc_perm"
+ top: "conv13_mbox_loc_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv13_mbox_conf"
+ type: "Convolution"
+ bottom: "conv13"
+ top: "conv13_mbox_conf"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 126
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv13_mbox_conf_perm"
+ type: "Permute"
+ bottom: "conv13_mbox_conf"
+ top: "conv13_mbox_conf_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv13_mbox_conf_flat"
+ type: "Flatten"
+ bottom: "conv13_mbox_conf_perm"
+ top: "conv13_mbox_conf_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv13_mbox_priorbox"
+ type: "PriorBox"
+ bottom: "conv13"
+ bottom: "data"
+ top: "conv13_mbox_priorbox"
+ prior_box_param {
+ min_size: 105.0
+ max_size: 150.0
+ aspect_ratio: 2.0
+ aspect_ratio: 3.0
+ flip: true
+ clip: false
+ variance: 0.1
+ variance: 0.1
+ variance: 0.2
+ variance: 0.2
+ offset: 0.5
+ }
+}
+layer {
+ name: "conv14_2_mbox_loc"
+ type: "Convolution"
+ bottom: "conv14_2"
+ top: "conv14_2_mbox_loc"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 24
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv14_2_mbox_loc_perm"
+ type: "Permute"
+ bottom: "conv14_2_mbox_loc"
+ top: "conv14_2_mbox_loc_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv14_2_mbox_loc_flat"
+ type: "Flatten"
+ bottom: "conv14_2_mbox_loc_perm"
+ top: "conv14_2_mbox_loc_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv14_2_mbox_conf"
+ type: "Convolution"
+ bottom: "conv14_2"
+ top: "conv14_2_mbox_conf"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 126
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv14_2_mbox_conf_perm"
+ type: "Permute"
+ bottom: "conv14_2_mbox_conf"
+ top: "conv14_2_mbox_conf_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv14_2_mbox_conf_flat"
+ type: "Flatten"
+ bottom: "conv14_2_mbox_conf_perm"
+ top: "conv14_2_mbox_conf_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv14_2_mbox_priorbox"
+ type: "PriorBox"
+ bottom: "conv14_2"
+ bottom: "data"
+ top: "conv14_2_mbox_priorbox"
+ prior_box_param {
+ min_size: 150.0
+ max_size: 195.0
+ aspect_ratio: 2.0
+ aspect_ratio: 3.0
+ flip: true
+ clip: false
+ variance: 0.1
+ variance: 0.1
+ variance: 0.2
+ variance: 0.2
+ offset: 0.5
+ }
+}
+layer {
+ name: "conv15_2_mbox_loc"
+ type: "Convolution"
+ bottom: "conv15_2"
+ top: "conv15_2_mbox_loc"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 24
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv15_2_mbox_loc_perm"
+ type: "Permute"
+ bottom: "conv15_2_mbox_loc"
+ top: "conv15_2_mbox_loc_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv15_2_mbox_loc_flat"
+ type: "Flatten"
+ bottom: "conv15_2_mbox_loc_perm"
+ top: "conv15_2_mbox_loc_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv15_2_mbox_conf"
+ type: "Convolution"
+ bottom: "conv15_2"
+ top: "conv15_2_mbox_conf"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 126
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv15_2_mbox_conf_perm"
+ type: "Permute"
+ bottom: "conv15_2_mbox_conf"
+ top: "conv15_2_mbox_conf_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv15_2_mbox_conf_flat"
+ type: "Flatten"
+ bottom: "conv15_2_mbox_conf_perm"
+ top: "conv15_2_mbox_conf_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv15_2_mbox_priorbox"
+ type: "PriorBox"
+ bottom: "conv15_2"
+ bottom: "data"
+ top: "conv15_2_mbox_priorbox"
+ prior_box_param {
+ min_size: 195.0
+ max_size: 240.0
+ aspect_ratio: 2.0
+ aspect_ratio: 3.0
+ flip: true
+ clip: false
+ variance: 0.1
+ variance: 0.1
+ variance: 0.2
+ variance: 0.2
+ offset: 0.5
+ }
+}
+layer {
+ name: "conv16_2_mbox_loc"
+ type: "Convolution"
+ bottom: "conv16_2"
+ top: "conv16_2_mbox_loc"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 24
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv16_2_mbox_loc_perm"
+ type: "Permute"
+ bottom: "conv16_2_mbox_loc"
+ top: "conv16_2_mbox_loc_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv16_2_mbox_loc_flat"
+ type: "Flatten"
+ bottom: "conv16_2_mbox_loc_perm"
+ top: "conv16_2_mbox_loc_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv16_2_mbox_conf"
+ type: "Convolution"
+ bottom: "conv16_2"
+ top: "conv16_2_mbox_conf"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 126
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv16_2_mbox_conf_perm"
+ type: "Permute"
+ bottom: "conv16_2_mbox_conf"
+ top: "conv16_2_mbox_conf_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv16_2_mbox_conf_flat"
+ type: "Flatten"
+ bottom: "conv16_2_mbox_conf_perm"
+ top: "conv16_2_mbox_conf_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv16_2_mbox_priorbox"
+ type: "PriorBox"
+ bottom: "conv16_2"
+ bottom: "data"
+ top: "conv16_2_mbox_priorbox"
+ prior_box_param {
+ min_size: 240.0
+ max_size: 285.0
+ aspect_ratio: 2.0
+ aspect_ratio: 3.0
+ flip: true
+ clip: false
+ variance: 0.1
+ variance: 0.1
+ variance: 0.2
+ variance: 0.2
+ offset: 0.5
+ }
+}
+layer {
+ name: "conv17_2_mbox_loc"
+ type: "Convolution"
+ bottom: "conv17_2"
+ top: "conv17_2_mbox_loc"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 24
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv17_2_mbox_loc_perm"
+ type: "Permute"
+ bottom: "conv17_2_mbox_loc"
+ top: "conv17_2_mbox_loc_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv17_2_mbox_loc_flat"
+ type: "Flatten"
+ bottom: "conv17_2_mbox_loc_perm"
+ top: "conv17_2_mbox_loc_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv17_2_mbox_conf"
+ type: "Convolution"
+ bottom: "conv17_2"
+ top: "conv17_2_mbox_conf"
+ param {
+ lr_mult: 1.0
+ decay_mult: 1.0
+ }
+ param {
+ lr_mult: 2.0
+ decay_mult: 0.0
+ }
+ convolution_param {
+ num_output: 126
+ kernel_size: 1
+ weight_filler {
+ type: "msra"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0.0
+ }
+ }
+}
+layer {
+ name: "conv17_2_mbox_conf_perm"
+ type: "Permute"
+ bottom: "conv17_2_mbox_conf"
+ top: "conv17_2_mbox_conf_perm"
+ permute_param {
+ order: 0
+ order: 2
+ order: 3
+ order: 1
+ }
+}
+layer {
+ name: "conv17_2_mbox_conf_flat"
+ type: "Flatten"
+ bottom: "conv17_2_mbox_conf_perm"
+ top: "conv17_2_mbox_conf_flat"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "conv17_2_mbox_priorbox"
+ type: "PriorBox"
+ bottom: "conv17_2"
+ bottom: "data"
+ top: "conv17_2_mbox_priorbox"
+ prior_box_param {
+ min_size: 285.0
+ max_size: 300.0
+ aspect_ratio: 2.0
+ aspect_ratio: 3.0
+ flip: true
+ clip: false
+ variance: 0.1
+ variance: 0.1
+ variance: 0.2
+ variance: 0.2
+ offset: 0.5
+ }
+}
+layer {
+ name: "mbox_loc"
+ type: "Concat"
+ bottom: "conv11_mbox_loc_flat"
+ bottom: "conv13_mbox_loc_flat"
+ bottom: "conv14_2_mbox_loc_flat"
+ bottom: "conv15_2_mbox_loc_flat"
+ bottom: "conv16_2_mbox_loc_flat"
+ bottom: "conv17_2_mbox_loc_flat"
+ top: "mbox_loc"
+ concat_param {
+ axis: 1
+ }
+}
+layer {
+ name: "mbox_conf"
+ type: "Concat"
+ bottom: "conv11_mbox_conf_flat"
+ bottom: "conv13_mbox_conf_flat"
+ bottom: "conv14_2_mbox_conf_flat"
+ bottom: "conv15_2_mbox_conf_flat"
+ bottom: "conv16_2_mbox_conf_flat"
+ bottom: "conv17_2_mbox_conf_flat"
+ top: "mbox_conf"
+ concat_param {
+ axis: 1
+ }
+}
+layer {
+ name: "mbox_priorbox"
+ type: "Concat"
+ bottom: "conv11_mbox_priorbox"
+ bottom: "conv13_mbox_priorbox"
+ bottom: "conv14_2_mbox_priorbox"
+ bottom: "conv15_2_mbox_priorbox"
+ bottom: "conv16_2_mbox_priorbox"
+ bottom: "conv17_2_mbox_priorbox"
+ top: "mbox_priorbox"
+ concat_param {
+ axis: 2
+ }
+}
+layer {
+ name: "mbox_conf_reshape"
+ type: "Reshape"
+ bottom: "mbox_conf"
+ top: "mbox_conf_reshape"
+ reshape_param {
+ shape {
+ dim: 0
+ dim: -1
+ dim: 21
+ }
+ }
+}
+layer {
+ name: "mbox_conf_softmax"
+ type: "Softmax"
+ bottom: "mbox_conf_reshape"
+ top: "mbox_conf_softmax"
+ softmax_param {
+ axis: 2
+ }
+}
+layer {
+ name: "mbox_conf_flatten"
+ type: "Flatten"
+ bottom: "mbox_conf_softmax"
+ top: "mbox_conf_flatten"
+ flatten_param {
+ axis: 1
+ }
+}
+layer {
+ name: "detection_out"
+ type: "DetectionOutput"
+ bottom: "mbox_loc"
+ bottom: "mbox_conf_flatten"
+ bottom: "mbox_priorbox"
+ top: "detection_out"
+ include {
+ phase: TEST
+ }
+ detection_output_param {
+ num_classes: 21
+ share_location: true
+ background_label_id: 0
+ nms_param {
+ nms_threshold: 0.45
+ top_k: 100
+ }
+ code_type: CENTER_SIZE
+ keep_top_k: 100
+ confidence_threshold: 0.25
+ }
+}