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