| input: "data" |
| input_shape { |
| dim: 1 |
| dim: 3 |
| dim: 300 |
| dim: 300 |
| } |
|
|
| layer { |
| name: "data_bn" |
| type: "BatchNorm" |
| bottom: "data" |
| top: "data_bn" |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| } |
| layer { |
| name: "data_scale" |
| type: "Scale" |
| bottom: "data_bn" |
| top: "data_bn" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| param { |
| lr_mult: 2.0 |
| decay_mult: 1.0 |
| } |
| scale_param { |
| bias_term: true |
| } |
| } |
| layer { |
| name: "conv1_h" |
| type: "Convolution" |
| bottom: "data_bn" |
| top: "conv1_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| param { |
| lr_mult: 2.0 |
| decay_mult: 1.0 |
| } |
| convolution_param { |
| num_output: 32 |
| pad: 3 |
| kernel_size: 7 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| variance_norm: FAN_OUT |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "conv1_bn_h" |
| type: "BatchNorm" |
| bottom: "conv1_h" |
| top: "conv1_h" |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| } |
| layer { |
| name: "conv1_scale_h" |
| type: "Scale" |
| bottom: "conv1_h" |
| top: "conv1_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| param { |
| lr_mult: 2.0 |
| decay_mult: 1.0 |
| } |
| scale_param { |
| bias_term: true |
| } |
| } |
| layer { |
| name: "conv1_relu" |
| type: "ReLU" |
| bottom: "conv1_h" |
| top: "conv1_h" |
| } |
| layer { |
| name: "conv1_pool" |
| type: "Pooling" |
| bottom: "conv1_h" |
| top: "conv1_pool" |
| pooling_param { |
| kernel_size: 3 |
| stride: 2 |
| } |
| } |
| layer { |
| name: "layer_64_1_conv1_h" |
| type: "Convolution" |
| bottom: "conv1_pool" |
| top: "layer_64_1_conv1_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| convolution_param { |
| num_output: 32 |
| bias_term: false |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "layer_64_1_bn2_h" |
| type: "BatchNorm" |
| bottom: "layer_64_1_conv1_h" |
| top: "layer_64_1_conv1_h" |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| } |
| layer { |
| name: "layer_64_1_scale2_h" |
| type: "Scale" |
| bottom: "layer_64_1_conv1_h" |
| top: "layer_64_1_conv1_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| param { |
| lr_mult: 2.0 |
| decay_mult: 1.0 |
| } |
| scale_param { |
| bias_term: true |
| } |
| } |
| layer { |
| name: "layer_64_1_relu2" |
| type: "ReLU" |
| bottom: "layer_64_1_conv1_h" |
| top: "layer_64_1_conv1_h" |
| } |
| layer { |
| name: "layer_64_1_conv2_h" |
| type: "Convolution" |
| bottom: "layer_64_1_conv1_h" |
| top: "layer_64_1_conv2_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| convolution_param { |
| num_output: 32 |
| bias_term: false |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "layer_64_1_sum" |
| type: "Eltwise" |
| bottom: "layer_64_1_conv2_h" |
| bottom: "conv1_pool" |
| top: "layer_64_1_sum" |
| } |
| layer { |
| name: "layer_128_1_bn1_h" |
| type: "BatchNorm" |
| bottom: "layer_64_1_sum" |
| top: "layer_128_1_bn1_h" |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| } |
| layer { |
| name: "layer_128_1_scale1_h" |
| type: "Scale" |
| bottom: "layer_128_1_bn1_h" |
| top: "layer_128_1_bn1_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| param { |
| lr_mult: 2.0 |
| decay_mult: 1.0 |
| } |
| scale_param { |
| bias_term: true |
| } |
| } |
| layer { |
| name: "layer_128_1_relu1" |
| type: "ReLU" |
| bottom: "layer_128_1_bn1_h" |
| top: "layer_128_1_bn1_h" |
| } |
| layer { |
| name: "layer_128_1_conv1_h" |
| type: "Convolution" |
| bottom: "layer_128_1_bn1_h" |
| top: "layer_128_1_conv1_h" |
| 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" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "layer_128_1_bn2" |
| type: "BatchNorm" |
| bottom: "layer_128_1_conv1_h" |
| top: "layer_128_1_conv1_h" |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| } |
| layer { |
| name: "layer_128_1_scale2" |
| type: "Scale" |
| bottom: "layer_128_1_conv1_h" |
| top: "layer_128_1_conv1_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| param { |
| lr_mult: 2.0 |
| decay_mult: 1.0 |
| } |
| scale_param { |
| bias_term: true |
| } |
| } |
| layer { |
| name: "layer_128_1_relu2" |
| type: "ReLU" |
| bottom: "layer_128_1_conv1_h" |
| top: "layer_128_1_conv1_h" |
| } |
| layer { |
| name: "layer_128_1_conv2" |
| type: "Convolution" |
| bottom: "layer_128_1_conv1_h" |
| top: "layer_128_1_conv2" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| convolution_param { |
| num_output: 128 |
| bias_term: false |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "layer_128_1_conv_expand_h" |
| type: "Convolution" |
| bottom: "layer_128_1_bn1_h" |
| top: "layer_128_1_conv_expand_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| convolution_param { |
| num_output: 128 |
| bias_term: false |
| pad: 0 |
| kernel_size: 1 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "layer_128_1_sum" |
| type: "Eltwise" |
| bottom: "layer_128_1_conv2" |
| bottom: "layer_128_1_conv_expand_h" |
| top: "layer_128_1_sum" |
| } |
| layer { |
| name: "layer_256_1_bn1" |
| type: "BatchNorm" |
| bottom: "layer_128_1_sum" |
| top: "layer_256_1_bn1" |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| } |
| layer { |
| name: "layer_256_1_scale1" |
| type: "Scale" |
| bottom: "layer_256_1_bn1" |
| top: "layer_256_1_bn1" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| param { |
| lr_mult: 2.0 |
| decay_mult: 1.0 |
| } |
| scale_param { |
| bias_term: true |
| } |
| } |
| layer { |
| name: "layer_256_1_relu1" |
| type: "ReLU" |
| bottom: "layer_256_1_bn1" |
| top: "layer_256_1_bn1" |
| } |
| layer { |
| name: "layer_256_1_conv1" |
| type: "Convolution" |
| bottom: "layer_256_1_bn1" |
| top: "layer_256_1_conv1" |
| 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" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "layer_256_1_bn2" |
| type: "BatchNorm" |
| bottom: "layer_256_1_conv1" |
| top: "layer_256_1_conv1" |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| } |
| layer { |
| name: "layer_256_1_scale2" |
| type: "Scale" |
| bottom: "layer_256_1_conv1" |
| top: "layer_256_1_conv1" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| param { |
| lr_mult: 2.0 |
| decay_mult: 1.0 |
| } |
| scale_param { |
| bias_term: true |
| } |
| } |
| layer { |
| name: "layer_256_1_relu2" |
| type: "ReLU" |
| bottom: "layer_256_1_conv1" |
| top: "layer_256_1_conv1" |
| } |
| layer { |
| name: "layer_256_1_conv2" |
| type: "Convolution" |
| bottom: "layer_256_1_conv1" |
| top: "layer_256_1_conv2" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| convolution_param { |
| num_output: 256 |
| bias_term: false |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "layer_256_1_conv_expand" |
| type: "Convolution" |
| bottom: "layer_256_1_bn1" |
| top: "layer_256_1_conv_expand" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| convolution_param { |
| num_output: 256 |
| bias_term: false |
| pad: 0 |
| kernel_size: 1 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "layer_256_1_sum" |
| type: "Eltwise" |
| bottom: "layer_256_1_conv2" |
| bottom: "layer_256_1_conv_expand" |
| top: "layer_256_1_sum" |
| } |
| layer { |
| name: "layer_512_1_bn1" |
| type: "BatchNorm" |
| bottom: "layer_256_1_sum" |
| top: "layer_512_1_bn1" |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| } |
| layer { |
| name: "layer_512_1_scale1" |
| type: "Scale" |
| bottom: "layer_512_1_bn1" |
| top: "layer_512_1_bn1" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| param { |
| lr_mult: 2.0 |
| decay_mult: 1.0 |
| } |
| scale_param { |
| bias_term: true |
| } |
| } |
| layer { |
| name: "layer_512_1_relu1" |
| type: "ReLU" |
| bottom: "layer_512_1_bn1" |
| top: "layer_512_1_bn1" |
| } |
| layer { |
| name: "layer_512_1_conv1_h" |
| type: "Convolution" |
| bottom: "layer_512_1_bn1" |
| top: "layer_512_1_conv1_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| convolution_param { |
| num_output: 128 |
| bias_term: false |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 # 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "layer_512_1_bn2_h" |
| type: "BatchNorm" |
| bottom: "layer_512_1_conv1_h" |
| top: "layer_512_1_conv1_h" |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| } |
| layer { |
| name: "layer_512_1_scale2_h" |
| type: "Scale" |
| bottom: "layer_512_1_conv1_h" |
| top: "layer_512_1_conv1_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| param { |
| lr_mult: 2.0 |
| decay_mult: 1.0 |
| } |
| scale_param { |
| bias_term: true |
| } |
| } |
| layer { |
| name: "layer_512_1_relu2" |
| type: "ReLU" |
| bottom: "layer_512_1_conv1_h" |
| top: "layer_512_1_conv1_h" |
| } |
| layer { |
| name: "layer_512_1_conv2_h" |
| type: "Convolution" |
| bottom: "layer_512_1_conv1_h" |
| top: "layer_512_1_conv2_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| convolution_param { |
| num_output: 256 |
| bias_term: false |
| pad: 2 # 1 |
| kernel_size: 3 |
| stride: 1 |
| dilation: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "layer_512_1_conv_expand_h" |
| type: "Convolution" |
| bottom: "layer_512_1_bn1" |
| top: "layer_512_1_conv_expand_h" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| convolution_param { |
| num_output: 256 |
| bias_term: false |
| pad: 0 |
| kernel_size: 1 |
| stride: 1 # 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0.0 |
| } |
| } |
| } |
| layer { |
| name: "layer_512_1_sum" |
| type: "Eltwise" |
| bottom: "layer_512_1_conv2_h" |
| bottom: "layer_512_1_conv_expand_h" |
| top: "layer_512_1_sum" |
| } |
| layer { |
| name: "last_bn_h" |
| type: "BatchNorm" |
| bottom: "layer_512_1_sum" |
| top: "layer_512_1_sum" |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| param { |
| lr_mult: 0.0 |
| } |
| } |
| layer { |
| name: "last_scale_h" |
| type: "Scale" |
| bottom: "layer_512_1_sum" |
| top: "layer_512_1_sum" |
| param { |
| lr_mult: 1.0 |
| decay_mult: 1.0 |
| } |
| param { |
| lr_mult: 2.0 |
| decay_mult: 1.0 |
| } |
| scale_param { |
| bias_term: true |
| } |
| } |
| layer { |
| name: "last_relu" |
| type: "ReLU" |
| bottom: "layer_512_1_sum" |
| top: "fc7" |
| } |
|
|
| layer { |
| name: "conv6_1_h" |
| type: "Convolution" |
| bottom: "fc7" |
| top: "conv6_1_h" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 128 |
| pad: 0 |
| kernel_size: 1 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv6_1_relu" |
| type: "ReLU" |
| bottom: "conv6_1_h" |
| top: "conv6_1_h" |
| } |
| layer { |
| name: "conv6_2_h" |
| type: "Convolution" |
| bottom: "conv6_1_h" |
| top: "conv6_2_h" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 256 |
| pad: 1 |
| kernel_size: 3 |
| stride: 2 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv6_2_relu" |
| type: "ReLU" |
| bottom: "conv6_2_h" |
| top: "conv6_2_h" |
| } |
| layer { |
| name: "conv7_1_h" |
| type: "Convolution" |
| bottom: "conv6_2_h" |
| top: "conv7_1_h" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 64 |
| pad: 0 |
| kernel_size: 1 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv7_1_relu" |
| type: "ReLU" |
| bottom: "conv7_1_h" |
| top: "conv7_1_h" |
| } |
| layer { |
| name: "conv7_2_h" |
| type: "Convolution" |
| bottom: "conv7_1_h" |
| top: "conv7_2_h" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 128 |
| pad: 1 |
| kernel_size: 3 |
| stride: 2 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv7_2_relu" |
| type: "ReLU" |
| bottom: "conv7_2_h" |
| top: "conv7_2_h" |
| } |
| layer { |
| name: "conv8_1_h" |
| type: "Convolution" |
| bottom: "conv7_2_h" |
| top: "conv8_1_h" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 64 |
| pad: 0 |
| kernel_size: 1 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv8_1_relu" |
| type: "ReLU" |
| bottom: "conv8_1_h" |
| top: "conv8_1_h" |
| } |
| layer { |
| name: "conv8_2_h" |
| type: "Convolution" |
| bottom: "conv8_1_h" |
| top: "conv8_2_h" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 128 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv8_2_relu" |
| type: "ReLU" |
| bottom: "conv8_2_h" |
| top: "conv8_2_h" |
| } |
| layer { |
| name: "conv9_1_h" |
| type: "Convolution" |
| bottom: "conv8_2_h" |
| top: "conv9_1_h" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 64 |
| pad: 0 |
| kernel_size: 1 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv9_1_relu" |
| type: "ReLU" |
| bottom: "conv9_1_h" |
| top: "conv9_1_h" |
| } |
| layer { |
| name: "conv9_2_h" |
| type: "Convolution" |
| bottom: "conv9_1_h" |
| top: "conv9_2_h" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 128 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv9_2_relu" |
| type: "ReLU" |
| bottom: "conv9_2_h" |
| top: "conv9_2_h" |
| } |
| layer { |
| name: "conv4_3_norm" |
| type: "Normalize" |
| bottom: "layer_256_1_bn1" |
| top: "conv4_3_norm" |
| norm_param { |
| across_spatial: false |
| scale_filler { |
| type: "constant" |
| value: 20 |
| } |
| channel_shared: false |
| } |
| } |
| layer { |
| name: "conv4_3_norm_mbox_loc" |
| type: "Convolution" |
| bottom: "conv4_3_norm" |
| top: "conv4_3_norm_mbox_loc" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 16 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv4_3_norm_mbox_loc_perm" |
| type: "Permute" |
| bottom: "conv4_3_norm_mbox_loc" |
| top: "conv4_3_norm_mbox_loc_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "conv4_3_norm_mbox_loc_flat" |
| type: "Flatten" |
| bottom: "conv4_3_norm_mbox_loc_perm" |
| top: "conv4_3_norm_mbox_loc_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "conv4_3_norm_mbox_conf" |
| type: "Convolution" |
| bottom: "conv4_3_norm" |
| top: "conv4_3_norm_mbox_conf" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 8 # 84 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv4_3_norm_mbox_conf_perm" |
| type: "Permute" |
| bottom: "conv4_3_norm_mbox_conf" |
| top: "conv4_3_norm_mbox_conf_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "conv4_3_norm_mbox_conf_flat" |
| type: "Flatten" |
| bottom: "conv4_3_norm_mbox_conf_perm" |
| top: "conv4_3_norm_mbox_conf_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "conv4_3_norm_mbox_priorbox" |
| type: "PriorBox" |
| bottom: "conv4_3_norm" |
| bottom: "data" |
| top: "conv4_3_norm_mbox_priorbox" |
| prior_box_param { |
| min_size: 30.0 |
| max_size: 60.0 |
| aspect_ratio: 2 |
| flip: true |
| clip: false |
| variance: 0.1 |
| variance: 0.1 |
| variance: 0.2 |
| variance: 0.2 |
| step: 8 |
| offset: 0.5 |
| } |
| } |
| layer { |
| name: "fc7_mbox_loc" |
| type: "Convolution" |
| bottom: "fc7" |
| top: "fc7_mbox_loc" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 24 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "fc7_mbox_loc_perm" |
| type: "Permute" |
| bottom: "fc7_mbox_loc" |
| top: "fc7_mbox_loc_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "fc7_mbox_loc_flat" |
| type: "Flatten" |
| bottom: "fc7_mbox_loc_perm" |
| top: "fc7_mbox_loc_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "fc7_mbox_conf" |
| type: "Convolution" |
| bottom: "fc7" |
| top: "fc7_mbox_conf" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 12 # 126 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "fc7_mbox_conf_perm" |
| type: "Permute" |
| bottom: "fc7_mbox_conf" |
| top: "fc7_mbox_conf_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "fc7_mbox_conf_flat" |
| type: "Flatten" |
| bottom: "fc7_mbox_conf_perm" |
| top: "fc7_mbox_conf_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "fc7_mbox_priorbox" |
| type: "PriorBox" |
| bottom: "fc7" |
| bottom: "data" |
| top: "fc7_mbox_priorbox" |
| prior_box_param { |
| min_size: 60.0 |
| max_size: 111.0 |
| aspect_ratio: 2 |
| aspect_ratio: 3 |
| flip: true |
| clip: false |
| variance: 0.1 |
| variance: 0.1 |
| variance: 0.2 |
| variance: 0.2 |
| step: 16 |
| offset: 0.5 |
| } |
| } |
| layer { |
| name: "conv6_2_mbox_loc" |
| type: "Convolution" |
| bottom: "conv6_2_h" |
| top: "conv6_2_mbox_loc" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 24 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv6_2_mbox_loc_perm" |
| type: "Permute" |
| bottom: "conv6_2_mbox_loc" |
| top: "conv6_2_mbox_loc_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "conv6_2_mbox_loc_flat" |
| type: "Flatten" |
| bottom: "conv6_2_mbox_loc_perm" |
| top: "conv6_2_mbox_loc_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "conv6_2_mbox_conf" |
| type: "Convolution" |
| bottom: "conv6_2_h" |
| top: "conv6_2_mbox_conf" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 12 # 126 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv6_2_mbox_conf_perm" |
| type: "Permute" |
| bottom: "conv6_2_mbox_conf" |
| top: "conv6_2_mbox_conf_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "conv6_2_mbox_conf_flat" |
| type: "Flatten" |
| bottom: "conv6_2_mbox_conf_perm" |
| top: "conv6_2_mbox_conf_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "conv6_2_mbox_priorbox" |
| type: "PriorBox" |
| bottom: "conv6_2_h" |
| bottom: "data" |
| top: "conv6_2_mbox_priorbox" |
| prior_box_param { |
| min_size: 111.0 |
| max_size: 162.0 |
| aspect_ratio: 2 |
| aspect_ratio: 3 |
| flip: true |
| clip: false |
| variance: 0.1 |
| variance: 0.1 |
| variance: 0.2 |
| variance: 0.2 |
| step: 32 |
| offset: 0.5 |
| } |
| } |
| layer { |
| name: "conv7_2_mbox_loc" |
| type: "Convolution" |
| bottom: "conv7_2_h" |
| top: "conv7_2_mbox_loc" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 24 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv7_2_mbox_loc_perm" |
| type: "Permute" |
| bottom: "conv7_2_mbox_loc" |
| top: "conv7_2_mbox_loc_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "conv7_2_mbox_loc_flat" |
| type: "Flatten" |
| bottom: "conv7_2_mbox_loc_perm" |
| top: "conv7_2_mbox_loc_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "conv7_2_mbox_conf" |
| type: "Convolution" |
| bottom: "conv7_2_h" |
| top: "conv7_2_mbox_conf" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 12 # 126 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv7_2_mbox_conf_perm" |
| type: "Permute" |
| bottom: "conv7_2_mbox_conf" |
| top: "conv7_2_mbox_conf_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "conv7_2_mbox_conf_flat" |
| type: "Flatten" |
| bottom: "conv7_2_mbox_conf_perm" |
| top: "conv7_2_mbox_conf_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "conv7_2_mbox_priorbox" |
| type: "PriorBox" |
| bottom: "conv7_2_h" |
| bottom: "data" |
| top: "conv7_2_mbox_priorbox" |
| prior_box_param { |
| min_size: 162.0 |
| max_size: 213.0 |
| aspect_ratio: 2 |
| aspect_ratio: 3 |
| flip: true |
| clip: false |
| variance: 0.1 |
| variance: 0.1 |
| variance: 0.2 |
| variance: 0.2 |
| step: 64 |
| offset: 0.5 |
| } |
| } |
| layer { |
| name: "conv8_2_mbox_loc" |
| type: "Convolution" |
| bottom: "conv8_2_h" |
| top: "conv8_2_mbox_loc" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 16 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv8_2_mbox_loc_perm" |
| type: "Permute" |
| bottom: "conv8_2_mbox_loc" |
| top: "conv8_2_mbox_loc_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "conv8_2_mbox_loc_flat" |
| type: "Flatten" |
| bottom: "conv8_2_mbox_loc_perm" |
| top: "conv8_2_mbox_loc_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "conv8_2_mbox_conf" |
| type: "Convolution" |
| bottom: "conv8_2_h" |
| top: "conv8_2_mbox_conf" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 8 # 84 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv8_2_mbox_conf_perm" |
| type: "Permute" |
| bottom: "conv8_2_mbox_conf" |
| top: "conv8_2_mbox_conf_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "conv8_2_mbox_conf_flat" |
| type: "Flatten" |
| bottom: "conv8_2_mbox_conf_perm" |
| top: "conv8_2_mbox_conf_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "conv8_2_mbox_priorbox" |
| type: "PriorBox" |
| bottom: "conv8_2_h" |
| bottom: "data" |
| top: "conv8_2_mbox_priorbox" |
| prior_box_param { |
| min_size: 213.0 |
| max_size: 264.0 |
| aspect_ratio: 2 |
| flip: true |
| clip: false |
| variance: 0.1 |
| variance: 0.1 |
| variance: 0.2 |
| variance: 0.2 |
| step: 100 |
| offset: 0.5 |
| } |
| } |
| layer { |
| name: "conv9_2_mbox_loc" |
| type: "Convolution" |
| bottom: "conv9_2_h" |
| top: "conv9_2_mbox_loc" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 16 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv9_2_mbox_loc_perm" |
| type: "Permute" |
| bottom: "conv9_2_mbox_loc" |
| top: "conv9_2_mbox_loc_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "conv9_2_mbox_loc_flat" |
| type: "Flatten" |
| bottom: "conv9_2_mbox_loc_perm" |
| top: "conv9_2_mbox_loc_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "conv9_2_mbox_conf" |
| type: "Convolution" |
| bottom: "conv9_2_h" |
| top: "conv9_2_mbox_conf" |
| param { |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| param { |
| lr_mult: 2 |
| decay_mult: 0 |
| } |
| convolution_param { |
| num_output: 8 # 84 |
| pad: 1 |
| kernel_size: 3 |
| stride: 1 |
| weight_filler { |
| type: "xavier" |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
| layer { |
| name: "conv9_2_mbox_conf_perm" |
| type: "Permute" |
| bottom: "conv9_2_mbox_conf" |
| top: "conv9_2_mbox_conf_perm" |
| permute_param { |
| order: 0 |
| order: 2 |
| order: 3 |
| order: 1 |
| } |
| } |
| layer { |
| name: "conv9_2_mbox_conf_flat" |
| type: "Flatten" |
| bottom: "conv9_2_mbox_conf_perm" |
| top: "conv9_2_mbox_conf_flat" |
| flatten_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "conv9_2_mbox_priorbox" |
| type: "PriorBox" |
| bottom: "conv9_2_h" |
| bottom: "data" |
| top: "conv9_2_mbox_priorbox" |
| prior_box_param { |
| min_size: 264.0 |
| max_size: 315.0 |
| aspect_ratio: 2 |
| flip: true |
| clip: false |
| variance: 0.1 |
| variance: 0.1 |
| variance: 0.2 |
| variance: 0.2 |
| step: 300 |
| offset: 0.5 |
| } |
| } |
| layer { |
| name: "mbox_loc" |
| type: "Concat" |
| bottom: "conv4_3_norm_mbox_loc_flat" |
| bottom: "fc7_mbox_loc_flat" |
| bottom: "conv6_2_mbox_loc_flat" |
| bottom: "conv7_2_mbox_loc_flat" |
| bottom: "conv8_2_mbox_loc_flat" |
| bottom: "conv9_2_mbox_loc_flat" |
| top: "mbox_loc" |
| concat_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "mbox_conf" |
| type: "Concat" |
| bottom: "conv4_3_norm_mbox_conf_flat" |
| bottom: "fc7_mbox_conf_flat" |
| bottom: "conv6_2_mbox_conf_flat" |
| bottom: "conv7_2_mbox_conf_flat" |
| bottom: "conv8_2_mbox_conf_flat" |
| bottom: "conv9_2_mbox_conf_flat" |
| top: "mbox_conf" |
| concat_param { |
| axis: 1 |
| } |
| } |
| layer { |
| name: "mbox_priorbox" |
| type: "Concat" |
| bottom: "conv4_3_norm_mbox_priorbox" |
| bottom: "fc7_mbox_priorbox" |
| bottom: "conv6_2_mbox_priorbox" |
| bottom: "conv7_2_mbox_priorbox" |
| bottom: "conv8_2_mbox_priorbox" |
| bottom: "conv9_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: 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" |
| 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.45 |
| top_k: 400 |
| } |
| code_type: CENTER_SIZE |
| keep_top_k: 200 |
| confidence_threshold: 0.01 |
| } |
| } |
|
|