Can you provide an SSD model example ?
name: "SqueezeNet_traffic_detect_2cls_SqueezeNetSSD_300x300_deploy"
layer {
name: "data"
type: "MemoryData"
top: "data"
top: "label"
transform_param {
}
data_param {
}
memory_data_param {
batch_size: 1
channels: 3
height: 300
width: 300
}
annotated_data_param {
}
}
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
kernel_size: 3
stride: 2
weight_filler {
type: "xavier"
}
}
}
layer {
name: "relu_conv1"
type: "ReLU"
bottom: "conv1"
top: "conv1"
}
layer {
name: "pool1"
type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "fire2/squeeze1x1"
type: "Convolution"
bottom: "pool1"
top: "fire2/squeeze1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire2/relu_squeeze1x1"
type: "ReLU"
bottom: "fire2/squeeze1x1"
top: "fire2/squeeze1x1"
}
layer {
name: "fire2/expand1x1"
type: "Convolution"
bottom: "fire2/squeeze1x1"
top: "fire2/expand1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire2/relu_expand1x1"
type: "ReLU"
bottom: "fire2/expand1x1"
top: "fire2/expand1x1"
}
layer {
name: "fire2/expand3x3"
type: "Convolution"
bottom: "fire2/squeeze1x1"
top: "fire2/expand3x3"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire2/relu_expand3x3"
type: "ReLU"
bottom: "fire2/expand3x3"
top: "fire2/expand3x3"
}
layer {
name: "fire2/concat"
type: "Concat"
bottom: "fire2/expand1x1"
bottom: "fire2/expand3x3"
top: "fire2/concat"
}
layer {
name: "fire3/squeeze1x1"
type: "Convolution"
bottom: "fire2/concat"
top: "fire3/squeeze1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire3/relu_squeeze1x1"
type: "ReLU"
bottom: "fire3/squeeze1x1"
top: "fire3/squeeze1x1"
}
layer {
name: "fire3/expand1x1"
type: "Convolution"
bottom: "fire3/squeeze1x1"
top: "fire3/expand1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire3/relu_expand1x1"
type: "ReLU"
bottom: "fire3/expand1x1"
top: "fire3/expand1x1"
}
layer {
name: "fire3/expand3x3"
type: "Convolution"
bottom: "fire3/squeeze1x1"
top: "fire3/expand3x3"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire3/relu_expand3x3"
type: "ReLU"
bottom: "fire3/expand3x3"
top: "fire3/expand3x3"
}
layer {
name: "fire3/concat"
type: "Concat"
bottom: "fire3/expand1x1"
bottom: "fire3/expand3x3"
top: "fire3/concat"
}
layer {
name: "pool3"
type: "Pooling"
bottom: "fire3/concat"
top: "pool3"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "fire4/squeeze1x1"
type: "Convolution"
bottom: "pool3"
top: "fire4/squeeze1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire4/relu_squeeze1x1"
type: "ReLU"
bottom: "fire4/squeeze1x1"
top: "fire4/squeeze1x1"
}
layer {
name: "fire4/expand1x1"
type: "Convolution"
bottom: "fire4/squeeze1x1"
top: "fire4/expand1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 128
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire4/relu_expand1x1"
type: "ReLU"
bottom: "fire4/expand1x1"
top: "fire4/expand1x1"
}
layer {
name: "fire4/expand3x3"
type: "Convolution"
bottom: "fire4/squeeze1x1"
top: "fire4/expand3x3"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 128
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire4/relu_expand3x3"
type: "ReLU"
bottom: "fire4/expand3x3"
top: "fire4/expand3x3"
}
layer {
name: "fire4/concat"
type: "Concat"
bottom: "fire4/expand1x1"
bottom: "fire4/expand3x3"
top: "fire4/concat"
}
layer {
name: "fire5/squeeze1x1"
type: "Convolution"
bottom: "fire4/concat"
top: "fire5/squeeze1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 32
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire5/relu_squeeze1x1"
type: "ReLU"
bottom: "fire5/squeeze1x1"
top: "fire5/squeeze1x1"
}
layer {
name: "fire5/expand1x1"
type: "Convolution"
bottom: "fire5/squeeze1x1"
top: "fire5/expand1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 128
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire5/relu_expand1x1"
type: "ReLU"
bottom: "fire5/expand1x1"
top: "fire5/expand1x1"
}
layer {
name: "fire5/expand3x3"
type: "Convolution"
bottom: "fire5/squeeze1x1"
top: "fire5/expand3x3"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 128
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire5/relu_expand3x3"
type: "ReLU"
bottom: "fire5/expand3x3"
top: "fire5/expand3x3"
}
layer {
name: "fire5/concat"
type: "Concat"
bottom: "fire5/expand1x1"
bottom: "fire5/expand3x3"
top: "fire5/concat"
}
layer {
name: "pool5"
type: "Pooling"
bottom: "fire5/concat"
top: "pool5"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "fire6/squeeze1x1"
type: "Convolution"
bottom: "pool5"
top: "fire6/squeeze1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 48
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire6/relu_squeeze1x1"
type: "ReLU"
bottom: "fire6/squeeze1x1"
top: "fire6/squeeze1x1"
}
layer {
name: "fire6/expand1x1"
type: "Convolution"
bottom: "fire6/squeeze1x1"
top: "fire6/expand1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 192
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire6/relu_expand1x1"
type: "ReLU"
bottom: "fire6/expand1x1"
top: "fire6/expand1x1"
}
layer {
name: "fire6/expand3x3"
type: "Convolution"
bottom: "fire6/squeeze1x1"
top: "fire6/expand3x3"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 192
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire6/relu_expand3x3"
type: "ReLU"
bottom: "fire6/expand3x3"
top: "fire6/expand3x3"
}
layer {
name: "fire6/concat"
type: "Concat"
bottom: "fire6/expand1x1"
bottom: "fire6/expand3x3"
top: "fire6/concat"
}
layer {
name: "fire7/squeeze1x1"
type: "Convolution"
bottom: "fire6/concat"
top: "fire7/squeeze1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 48
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire7/relu_squeeze1x1"
type: "ReLU"
bottom: "fire7/squeeze1x1"
top: "fire7/squeeze1x1"
}
layer {
name: "fire7/expand1x1"
type: "Convolution"
bottom: "fire7/squeeze1x1"
top: "fire7/expand1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 192
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire7/relu_expand1x1"
type: "ReLU"
bottom: "fire7/expand1x1"
top: "fire7/expand1x1"
}
layer {
name: "fire7/expand3x3"
type: "Convolution"
bottom: "fire7/squeeze1x1"
top: "fire7/expand3x3"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 192
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire7/relu_expand3x3"
type: "ReLU"
bottom: "fire7/expand3x3"
top: "fire7/expand3x3"
}
layer {
name: "fire7/concat"
type: "Concat"
bottom: "fire7/expand1x1"
bottom: "fire7/expand3x3"
top: "fire7/concat"
}
layer {
name: "fire8/squeeze1x1"
type: "Convolution"
bottom: "fire7/concat"
top: "fire8/squeeze1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire8/relu_squeeze1x1"
type: "ReLU"
bottom: "fire8/squeeze1x1"
top: "fire8/squeeze1x1"
}
layer {
name: "fire8/expand1x1"
type: "Convolution"
bottom: "fire8/squeeze1x1"
top: "fire8/expand1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 256
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire8/relu_expand1x1"
type: "ReLU"
bottom: "fire8/expand1x1"
top: "fire8/expand1x1"
}
layer {
name: "fire8/expand3x3"
type: "Convolution"
bottom: "fire8/squeeze1x1"
top: "fire8/expand3x3"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 256
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire8/relu_expand3x3"
type: "ReLU"
bottom: "fire8/expand3x3"
top: "fire8/expand3x3"
}
layer {
name: "fire8/concat"
type: "Concat"
bottom: "fire8/expand1x1"
bottom: "fire8/expand3x3"
top: "fire8/concat"
}
layer {
name: "fire9/squeeze1x1"
type: "Convolution"
bottom: "fire8/concat"
top: "fire9/squeeze1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 64
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire9/relu_squeeze1x1"
type: "ReLU"
bottom: "fire9/squeeze1x1"
top: "fire9/squeeze1x1"
}
layer {
name: "fire9/expand1x1"
type: "Convolution"
bottom: "fire9/squeeze1x1"
top: "fire9/expand1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 256
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire9/expand1x1/bn"
type: "BatchNorm"
bottom: "fire9/expand1x1"
top: "fire9/expand1x1"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "fire9/expand1x1/scale"
type: "Scale"
bottom: "fire9/expand1x1"
top: "fire9/expand1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "fire9/relu_expand1x1"
type: "ReLU"
bottom: "fire9/expand1x1"
top: "fire9/expand1x1"
}
layer {
name: "fire9/expand3x3"
type: "Convolution"
bottom: "fire9/squeeze1x1"
top: "fire9/expand3x3"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 1.0
decay_mult: 0.0
}
convolution_param {
num_output: 256
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire9/expand3x3/bn"
type: "BatchNorm"
bottom: "fire9/expand3x3"
top: "fire9/expand3x3"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "fire9/expand3x3/scale"
type: "Scale"
bottom: "fire9/expand3x3"
top: "fire9/expand3x3"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "fire9/relu_expand3x3"
type: "ReLU"
bottom: "fire9/expand3x3"
top: "fire9/expand3x3"
}
layer {
name: "fire9/concat"
type: "Concat"
bottom: "fire9/expand1x1"
bottom: "fire9/expand3x3"
top: "fire9/concat"
}
layer {
name: "pool9"
type: "Pooling"
bottom: "fire9/concat"
top: "pool9"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "fire10/squeeze1x1"
type: "Convolution"
bottom: "pool9"
top: "fire10/squeeze1x1"
convolution_param {
num_output: 96
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire10/squeeze1x1/bn"
type: "BatchNorm"
bottom: "fire10/squeeze1x1"
top: "fire10/squeeze1x1"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "fire10/squeeze1x1/scale"
type: "Scale"
bottom: "fire10/squeeze1x1"
top: "fire10/squeeze1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "fire10/relu_squeeze1x1"
type: "ReLU"
bottom: "fire10/squeeze1x1"
top: "fire10/squeeze1x1"
}
layer {
name: "fire10/expand1x1"
type: "Convolution"
bottom: "fire10/squeeze1x1"
top: "fire10/expand1x1"
convolution_param {
num_output: 384
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire10/expand1x1/bn"
type: "BatchNorm"
bottom: "fire10/expand1x1"
top: "fire10/expand1x1"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "fire10/expand1x1/scale"
type: "Scale"
bottom: "fire10/expand1x1"
top: "fire10/expand1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "fire10/relu_expand1x1"
type: "ReLU"
bottom: "fire10/expand1x1"
top: "fire10/expand1x1"
}
layer {
name: "fire10/expand3x3"
type: "Convolution"
bottom: "fire10/squeeze1x1"
top: "fire10/expand3x3"
convolution_param {
num_output: 384
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire10/expand3x3/bn"
type: "BatchNorm"
bottom: "fire10/expand3x3"
top: "fire10/expand3x3"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "fire10/expand3x3/scale"
type: "Scale"
bottom: "fire10/expand3x3"
top: "fire10/expand3x3"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "fire10/relu_expand3x3"
type: "ReLU"
bottom: "fire10/expand3x3"
top: "fire10/expand3x3"
}
layer {
name: "fire10/concat"
type: "Concat"
bottom: "fire10/expand1x1"
bottom: "fire10/expand3x3"
top: "fire10/concat"
}
layer {
name: "pool10"
type: "Pooling"
bottom: "fire10/concat"
top: "pool10"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "fire11/squeeze1x1"
type: "Convolution"
bottom: "pool10"
top: "fire11/squeeze1x1"
convolution_param {
num_output: 96
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire11/squeeze1x1/bn"
type: "BatchNorm"
bottom: "fire11/squeeze1x1"
top: "fire11/squeeze1x1"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "fire11/squeeze1x1/scale"
type: "Scale"
bottom: "fire11/squeeze1x1"
top: "fire11/squeeze1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "fire11/relu_squeeze1x1"
type: "ReLU"
bottom: "fire11/squeeze1x1"
top: "fire11/squeeze1x1"
}
layer {
name: "fire11/expand1x1"
type: "Convolution"
bottom: "fire11/squeeze1x1"
top: "fire11/expand1x1"
convolution_param {
num_output: 384
kernel_size: 1
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire11/expand1x1/bn"
type: "BatchNorm"
bottom: "fire11/expand1x1"
top: "fire11/expand1x1"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "fire11/expand1x1/scale"
type: "Scale"
bottom: "fire11/expand1x1"
top: "fire11/expand1x1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "fire11/relu_expand1x1"
type: "ReLU"
bottom: "fire11/expand1x1"
top: "fire11/expand1x1"
}
layer {
name: "fire11/expand3x3"
type: "Convolution"
bottom: "fire11/squeeze1x1"
top: "fire11/expand3x3"
convolution_param {
num_output: 384
pad: 1
kernel_size: 3
weight_filler {
type: "xavier"
}
}
}
layer {
name: "fire11/expand3x3/bn"
type: "BatchNorm"
bottom: "fire11/expand3x3"
top: "fire11/expand3x3"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "fire11/expand3x3/scale"
type: "Scale"
bottom: "fire11/expand3x3"
top: "fire11/expand3x3"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "fire11/relu_expand3x3"
type: "ReLU"
bottom: "fire11/expand3x3"
top: "fire11/expand3x3"
}
layer {
name: "fire11/concat"
type: "Concat"
bottom: "fire11/expand1x1"
bottom: "fire11/expand3x3"
top: "fire11/concat"
}
layer {
name: "conv12_1"
type: "Convolution"
bottom: "fire11/concat"
top: "conv12_1"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv12_1/bn"
type: "BatchNorm"
bottom: "conv12_1"
top: "conv12_1"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "conv12_1/scale"
type: "Scale"
bottom: "conv12_1"
top: "conv12_1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "conv12_1/relu"
type: "ReLU"
bottom: "conv12_1"
top: "conv12_1"
}
layer {
name: "conv12_2"
type: "Convolution"
bottom: "conv12_1"
top: "conv12_2"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 256
bias_term: false
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv12_2/bn"
type: "BatchNorm"
bottom: "conv12_2"
top: "conv12_2"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "conv12_2/scale"
type: "Scale"
bottom: "conv12_2"
top: "conv12_2"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "conv12_2/relu"
type: "ReLU"
bottom: "conv12_2"
top: "conv12_2"
}
layer {
name: "conv13_1"
type: "Convolution"
bottom: "conv12_2"
top: "conv13_1"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 64
bias_term: false
kernel_size: 1
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv13_1/bn"
type: "BatchNorm"
bottom: "conv13_1"
top: "conv13_1"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "conv13_1/scale"
type: "Scale"
bottom: "conv13_1"
top: "conv13_1"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "conv13_1/relu"
type: "ReLU"
bottom: "conv13_1"
top: "conv13_1"
}
layer {
name: "conv13_2"
type: "Convolution"
bottom: "conv13_1"
top: "conv13_2"
param {
lr_mult: 1.0
decay_mult: 1.0
}
convolution_param {
num_output: 128
bias_term: false
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "msra"
}
}
}
layer {
name: "conv13_2/bn"
type: "BatchNorm"
bottom: "conv13_2"
top: "conv13_2"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "conv13_2/scale"
type: "Scale"
bottom: "conv13_2"
top: "conv13_2"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "conv13_2/relu"
type: "ReLU"
bottom: "conv13_2"
top: "conv13_2"
}
layer {
name: "fire5/bn"
type: "BatchNorm"
bottom: "fire5/concat"
top: "fire5/normal"
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
param {
lr_mult: 0.0
decay_mult: 0.0
}
}
layer {
name: "fire5/scale"
type: "Scale"
bottom: "fire5/normal"
top: "fire5/normal"
param {
lr_mult: 1.0
decay_mult: 0.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
scale_param {
filler {
value: 1.0
}
bias_term: true
bias_filler {
value: 0.0
}
}
}
layer {
name: "fire5_mbox_loc_mine"
type: "Convolution"
bottom: "fire5/normal"
top: "fire5_mbox_loc_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "fire5_mbox_loc_perm_mine"
type: "Permute"
bottom: "fire5_mbox_loc_mine"
top: "fire5_mbox_loc_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "fire5_mbox_loc_flat_mine"
type: "Flatten"
bottom: "fire5_mbox_loc_perm_mine"
top: "fire5_mbox_loc_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "fire5_mbox_conf_mine"
type: "Convolution"
bottom: "fire5/normal"
top: "fire5_mbox_conf_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 8
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "fire5_mbox_conf_perm_mine"
type: "Permute"
bottom: "fire5_mbox_conf_mine"
top: "fire5_mbox_conf_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "fire5_mbox_conf_flat_mine"
type: "Flatten"
bottom: "fire5_mbox_conf_perm_mine"
top: "fire5_mbox_conf_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "fire5_mbox_priorbox"
type: "PriorBox"
bottom: "fire5/normal"
bottom: "data"
top: "fire5_mbox_priorbox"
prior_box_param {
min_size: 21.0
max_size: 45.0
aspect_ratio: 2.0
flip: true
clip: false
variance: 0.10000000149
variance: 0.10000000149
variance: 0.20000000298
variance: 0.20000000298
step: 8.0
}
}
layer {
name: "fire9_mbox_loc_mine"
type: "Convolution"
bottom: "fire9/concat"
top: "fire9_mbox_loc_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 24
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "fire9_mbox_loc_perm_mine"
type: "Permute"
bottom: "fire9_mbox_loc_mine"
top: "fire9_mbox_loc_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "fire9_mbox_loc_flat_mine"
type: "Flatten"
bottom: "fire9_mbox_loc_perm_mine"
top: "fire9_mbox_loc_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "fire9_mbox_conf_mine"
type: "Convolution"
bottom: "fire9/concat"
top: "fire9_mbox_conf_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 12
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "fire9_mbox_conf_perm_mine"
type: "Permute"
bottom: "fire9_mbox_conf_mine"
top: "fire9_mbox_conf_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "fire9_mbox_conf_flat_mine"
type: "Flatten"
bottom: "fire9_mbox_conf_perm_mine"
top: "fire9_mbox_conf_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "fire9_mbox_priorbox"
type: "PriorBox"
bottom: "fire9/concat"
bottom: "data"
top: "fire9_mbox_priorbox"
prior_box_param {
min_size: 60.0
max_size: 111.0
aspect_ratio: 2.0
aspect_ratio: 3.0
flip: true
clip: false
variance: 0.10000000149
variance: 0.10000000149
variance: 0.20000000298
variance: 0.20000000298
step: 16.0
}
}
layer {
name: "fire10_mbox_loc_mine"
type: "Convolution"
bottom: "fire10/concat"
top: "fire10_mbox_loc_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 24
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "fire10_mbox_loc_perm_mine"
type: "Permute"
bottom: "fire10_mbox_loc_mine"
top: "fire10_mbox_loc_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "fire10_mbox_loc_flat_mine"
type: "Flatten"
bottom: "fire10_mbox_loc_perm_mine"
top: "fire10_mbox_loc_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "fire10_mbox_conf_mine"
type: "Convolution"
bottom: "fire10/concat"
top: "fire10_mbox_conf_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 12
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "fire10_mbox_conf_perm_mine"
type: "Permute"
bottom: "fire10_mbox_conf_mine"
top: "fire10_mbox_conf_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "fire10_mbox_conf_flat_mine"
type: "Flatten"
bottom: "fire10_mbox_conf_perm_mine"
top: "fire10_mbox_conf_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "fire10_mbox_priorbox"
type: "PriorBox"
bottom: "fire10/concat"
bottom: "data"
top: "fire10_mbox_priorbox"
prior_box_param {
min_size: 99.0
max_size: 153.0
aspect_ratio: 2.0
aspect_ratio: 3.0
flip: true
clip: false
variance: 0.10000000149
variance: 0.10000000149
variance: 0.20000000298
variance: 0.20000000298
step: 32.0
}
}
layer {
name: "fire11_mbox_loc_mine"
type: "Convolution"
bottom: "fire11/concat"
top: "fire11_mbox_loc_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 24
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "fire11_mbox_loc_perm_mine"
type: "Permute"
bottom: "fire11_mbox_loc_mine"
top: "fire11_mbox_loc_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "fire11_mbox_loc_flat_mine"
type: "Flatten"
bottom: "fire11_mbox_loc_perm_mine"
top: "fire11_mbox_loc_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "fire11_mbox_conf_mine"
type: "Convolution"
bottom: "fire11/concat"
top: "fire11_mbox_conf_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 12
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "fire11_mbox_conf_perm_mine"
type: "Permute"
bottom: "fire11_mbox_conf_mine"
top: "fire11_mbox_conf_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "fire11_mbox_conf_flat_mine"
type: "Flatten"
bottom: "fire11_mbox_conf_perm_mine"
top: "fire11_mbox_conf_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "fire11_mbox_priorbox"
type: "PriorBox"
bottom: "fire11/concat"
bottom: "data"
top: "fire11_mbox_priorbox"
prior_box_param {
min_size: 153.0
max_size: 207.0
aspect_ratio: 2.0
aspect_ratio: 3.0
flip: true
clip: false
variance: 0.10000000149
variance: 0.10000000149
variance: 0.20000000298
variance: 0.20000000298
step: 64.0
}
}
layer {
name: "conv12_2_mbox_loc_mine"
type: "Convolution"
bottom: "conv12_2"
top: "conv12_2_mbox_loc_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "conv12_2_mbox_loc_perm_mine"
type: "Permute"
bottom: "conv12_2_mbox_loc_mine"
top: "conv12_2_mbox_loc_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv12_2_mbox_loc_flat_mine"
type: "Flatten"
bottom: "conv12_2_mbox_loc_perm_mine"
top: "conv12_2_mbox_loc_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "conv12_2_mbox_conf_mine"
type: "Convolution"
bottom: "conv12_2"
top: "conv12_2_mbox_conf_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 8
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "conv12_2_mbox_conf_perm_mine"
type: "Permute"
bottom: "conv12_2_mbox_conf_mine"
top: "conv12_2_mbox_conf_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv12_2_mbox_conf_flat_mine"
type: "Flatten"
bottom: "conv12_2_mbox_conf_perm_mine"
top: "conv12_2_mbox_conf_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "conv12_2_mbox_priorbox"
type: "PriorBox"
bottom: "conv12_2"
bottom: "data"
top: "conv12_2_mbox_priorbox"
prior_box_param {
min_size: 207.0
max_size: 261.0
aspect_ratio: 2.0
flip: true
clip: false
variance: 0.10000000149
variance: 0.10000000149
variance: 0.20000000298
variance: 0.20000000298
step: 100.0
}
}
layer {
name: "conv13_2_mbox_loc_mine"
type: "Convolution"
bottom: "conv13_2"
top: "conv13_2_mbox_loc_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 16
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "conv13_2_mbox_loc_perm_mine"
type: "Permute"
bottom: "conv13_2_mbox_loc_mine"
top: "conv13_2_mbox_loc_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv13_2_mbox_loc_flat_mine"
type: "Flatten"
bottom: "conv13_2_mbox_loc_perm_mine"
top: "conv13_2_mbox_loc_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "conv13_2_mbox_conf_mine"
type: "Convolution"
bottom: "conv13_2"
top: "conv13_2_mbox_conf_mine"
param {
lr_mult: 1.0
decay_mult: 1.0
}
param {
lr_mult: 2.0
decay_mult: 0.0
}
convolution_param {
num_output: 8
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "msra"
}
bias_filler {
type: "constant"
value: 0.0
}
}
}
layer {
name: "conv13_2_mbox_conf_perm_mine"
type: "Permute"
bottom: "conv13_2_mbox_conf_mine"
top: "conv13_2_mbox_conf_perm_mine"
permute_param {
order: 0
order: 2
order: 3
order: 1
}
}
layer {
name: "conv13_2_mbox_conf_flat_mine"
type: "Flatten"
bottom: "conv13_2_mbox_conf_perm_mine"
top: "conv13_2_mbox_conf_flat_mine"
flatten_param {
axis: 1
}
}
layer {
name: "conv13_2_mbox_priorbox"
type: "PriorBox"
bottom: "conv13_2"
bottom: "data"
top: "conv13_2_mbox_priorbox"
prior_box_param {
min_size: 261.0
max_size: 315.0
aspect_ratio: 2.0
flip: true
clip: false
variance: 0.10000000149
variance: 0.10000000149
variance: 0.20000000298
variance: 0.20000000298
step: 300.0
}
}
layer {
name: "mbox_loc_mine"
type: "Concat"
bottom: "fire5_mbox_loc_flat_mine"
bottom: "fire9_mbox_loc_flat_mine"
bottom: "fire10_mbox_loc_flat_mine"
bottom: "fire11_mbox_loc_flat_mine"
bottom: "conv12_2_mbox_loc_flat_mine"
bottom: "conv13_2_mbox_loc_flat_mine"
top: "mbox_loc_mine"
concat_param {
axis: 1
}
}
layer {
name: "mbox_conf_mine"
type: "Concat"
bottom: "fire5_mbox_conf_flat_mine"
bottom: "fire9_mbox_conf_flat_mine"
bottom: "fire10_mbox_conf_flat_mine"
bottom: "fire11_mbox_conf_flat_mine"
bottom: "conv12_2_mbox_conf_flat_mine"
bottom: "conv13_2_mbox_conf_flat_mine"
top: "mbox_conf_mine"
concat_param {
axis: 1
}
}
layer {
name: "mbox_priorbox"
type: "Concat"
bottom: "fire5_mbox_priorbox"
bottom: "fire9_mbox_priorbox"
bottom: "fire10_mbox_priorbox"
bottom: "fire11_mbox_priorbox"
bottom: "conv12_2_mbox_priorbox"
bottom: "conv13_2_mbox_priorbox"
top: "mbox_priorbox"
concat_param {
axis: 2
}
}
layer {
name: "mbox_conf_reshape"
type: "Reshape"
bottom: "mbox_conf_mine"
top: "mbox_conf_reshape"
reshape_param {
shape {
dim: 0
dim: -1
dim: 2
}
}
}
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_mine"
bottom: "mbox_conf_flatten"
bottom: "mbox_priorbox"
top: "detection_out"
include {
phase: TEST
}
detection_output_param {
num_classes: 2
share_location: true
background_label_id: 0
nms_param {
nms_threshold: 0.449999988079
top_k: 400
}
code_type: CENTER_SIZE
keep_top_k: 200
confidence_threshold: 0.00999999977648
}
}