|
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 |
|
} |
|
} |
|
|