| name: "ResNet-18-deploy" |
| input: "data" |
| input_dim: 1 |
| input_dim: 3 |
| input_dim: 224 |
| input_dim: 224 |
|
|
|
|
|
|
| layer { |
| bottom: "data" |
| top: "conv1" |
| name: "conv1" |
| type: "Convolution" |
| param { |
| name: "conv1_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 64 |
| kernel_size: 7 |
| pad: 3 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "conv1" |
| top: "conv1" |
| name: "bn_conv1" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| } |
|
|
| layer { |
| bottom: "conv1" |
| top: "conv1" |
| name: "scale_conv1" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "conv1" |
| top: "conv1" |
| name: "conv1_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "conv1" |
| top: "pool1" |
| name: "pool1" |
| type: "Pooling" |
| pooling_param { |
| kernel_size: 3 |
| stride: 2 |
| pool: MAX |
| } |
| } |
|
|
| layer { |
| bottom: "pool1" |
| top: "res2a_branch1" |
| name: "res2a_branch1" |
| type: "Convolution" |
| param { |
| name: "res2a_branch1_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 64 |
| kernel_size: 1 |
| pad: 0 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res2a_branch1" |
| top: "res2a_branch1" |
| name: "bn2a_branch1" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res2a_branch1" |
| top: "res2a_branch1" |
| name: "scale2a_branch1" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "pool1" |
| top: "res2a_branch2a" |
| name: "res2a_branch2a" |
| type: "Convolution" |
| param { |
| name: "res2a_branch2a_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 64 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res2a_branch2a" |
| top: "res2a_branch2a" |
| name: "bn2a_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res2a_branch2a" |
| top: "res2a_branch2a" |
| name: "scale2a_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res2a_branch2a" |
| top: "res2a_branch2a" |
| name: "res2a_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res2a_branch2a" |
| top: "res2a_branch2b" |
| name: "res2a_branch2b" |
| type: "Convolution" |
| param { |
| name: "res2a_branch2b_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 64 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res2a_branch2b" |
| top: "res2a_branch2b" |
| name: "bn2a_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res2a_branch2b" |
| top: "res2a_branch2b" |
| name: "scale2a_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res2a_branch1" |
| bottom: "res2a_branch2b" |
| top: "res2a" |
| name: "res2a" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res2a" |
| top: "res2a" |
| name: "res2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res2a" |
| top: "res2b_branch2a" |
| name: "res2b_branch2a" |
| type: "Convolution" |
| param { |
| name: "res2b_branch2a_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 64 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res2b_branch2a" |
| top: "res2b_branch2a" |
| name: "bn2b_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res2b_branch2a" |
| top: "res2b_branch2a" |
| name: "scale2b_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res2b_branch2a" |
| top: "res2b_branch2a" |
| name: "res2b_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res2b_branch2a" |
| top: "res2b_branch2b" |
| name: "res2b_branch2b" |
| type: "Convolution" |
| param { |
| name: "res2b_branch2b_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 64 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res2b_branch2b" |
| top: "res2b_branch2b" |
| name: "bn2b_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res2b_branch2b" |
| top: "res2b_branch2b" |
| name: "scale2b_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res2a" |
| bottom: "res2b_branch2b" |
| top: "res2b" |
| name: "res2b" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res2b" |
| top: "res2b" |
| name: "res2b_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res2b" |
| top: "res3a_branch1" |
| name: "res3a_branch1" |
| type: "Convolution" |
| param { |
| name: "res3a_branch1_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 128 |
| kernel_size: 1 |
| pad: 0 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res3a_branch1" |
| top: "res3a_branch1" |
| name: "bn3a_branch1" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res3a_branch1" |
| top: "res3a_branch1" |
| name: "scale3a_branch1" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res2b" |
| top: "res3a_branch2a" |
| name: "res3a_branch2a" |
| type: "Convolution" |
| param { |
| name: "res3a_branch2a_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 128 |
| kernel_size: 3 |
| pad: 1 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res3a_branch2a" |
| top: "res3a_branch2a" |
| name: "bn3a_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res3a_branch2a" |
| top: "res3a_branch2a" |
| name: "scale3a_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res3a_branch2a" |
| top: "res3a_branch2a" |
| name: "res3a_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res3a_branch2a" |
| top: "res3a_branch2b" |
| name: "res3a_branch2b" |
| type: "Convolution" |
| param { |
| name: "res3a_branch2b_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 128 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res3a_branch2b" |
| top: "res3a_branch2b" |
| name: "bn3a_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res3a_branch2b" |
| top: "res3a_branch2b" |
| name: "scale3a_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res3a_branch1" |
| bottom: "res3a_branch2b" |
| top: "res3a" |
| name: "res3a" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res3a" |
| top: "res3a" |
| name: "res3a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res3a" |
| top: "res3b_branch2a" |
| name: "res3b_branch2a" |
| type: "Convolution" |
| param { |
| name: "res3b_branch2a_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 128 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res3b_branch2a" |
| top: "res3b_branch2a" |
| name: "bn3b_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res3b_branch2a" |
| top: "res3b_branch2a" |
| name: "scale3b_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res3b_branch2a" |
| top: "res3b_branch2a" |
| name: "res3b_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res3b_branch2a" |
| top: "res3b_branch2b" |
| name: "res3b_branch2b" |
| type: "Convolution" |
| param { |
| name: "res3b_branch2b_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 128 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res3b_branch2b" |
| top: "res3b_branch2b" |
| name: "bn3b_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res3b_branch2b" |
| top: "res3b_branch2b" |
| name: "scale3b_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res3a" |
| bottom: "res3b_branch2b" |
| top: "res3b" |
| name: "res3b" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res3b" |
| top: "res3b" |
| name: "res3b_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res3b" |
| top: "res4a_branch1" |
| name: "res4a_branch1" |
| type: "Convolution" |
| param { |
| name: "res4a_branch1_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 256 |
| kernel_size: 1 |
| pad: 0 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res4a_branch1" |
| top: "res4a_branch1" |
| name: "bn4a_branch1" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res4a_branch1" |
| top: "res4a_branch1" |
| name: "scale4a_branch1" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res3b" |
| top: "res4a_branch2a" |
| name: "res4a_branch2a" |
| type: "Convolution" |
| param { |
| name: "res4a_branch2a_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 256 |
| kernel_size: 3 |
| pad: 1 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res4a_branch2a" |
| top: "res4a_branch2a" |
| name: "bn4a_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res4a_branch2a" |
| top: "res4a_branch2a" |
| name: "scale4a_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res4a_branch2a" |
| top: "res4a_branch2a" |
| name: "res4a_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res4a_branch2a" |
| top: "res4a_branch2b" |
| name: "res4a_branch2b" |
| type: "Convolution" |
| param { |
| name: "res4a_branch2b_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 256 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res4a_branch2b" |
| top: "res4a_branch2b" |
| name: "bn4a_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res4a_branch2b" |
| top: "res4a_branch2b" |
| name: "scale4a_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res4a_branch1" |
| bottom: "res4a_branch2b" |
| top: "res4a" |
| name: "res4a" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res4a" |
| top: "res4a" |
| name: "res4a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res4a" |
| top: "res4b_branch2a" |
| name: "res4b_branch2a" |
| type: "Convolution" |
| param { |
| name: "res4b_branch2a_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 256 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res4b_branch2a" |
| top: "res4b_branch2a" |
| name: "bn4b_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res4b_branch2a" |
| top: "res4b_branch2a" |
| name: "scale4b_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res4b_branch2a" |
| top: "res4b_branch2a" |
| name: "res4b_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res4b_branch2a" |
| top: "res4b_branch2b" |
| name: "res4b_branch2b" |
| type: "Convolution" |
| param { |
| name: "res4b_branch2b_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 256 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res4b_branch2b" |
| top: "res4b_branch2b" |
| name: "bn4b_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res4b_branch2b" |
| top: "res4b_branch2b" |
| name: "scale4b_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res4a" |
| bottom: "res4b_branch2b" |
| top: "res4b" |
| name: "res4b" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res4b" |
| top: "res4b" |
| name: "res4b_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res4b" |
| top: "res5a_branch1" |
| name: "res5a_branch1" |
| type: "Convolution" |
| param { |
| name: "res5a_branch1_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 512 |
| kernel_size: 1 |
| pad: 0 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res5a_branch1" |
| top: "res5a_branch1" |
| name: "bn5a_branch1" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res5a_branch1" |
| top: "res5a_branch1" |
| name: "scale5a_branch1" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res4b" |
| top: "res5a_branch2a" |
| name: "res5a_branch2a" |
| type: "Convolution" |
| param { |
| name: "res5a_branch2a_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 512 |
| kernel_size: 3 |
| pad: 1 |
| stride: 2 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res5a_branch2a" |
| top: "res5a_branch2a" |
| name: "bn5a_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res5a_branch2a" |
| top: "res5a_branch2a" |
| name: "scale5a_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res5a_branch2a" |
| top: "res5a_branch2a" |
| name: "res5a_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res5a_branch2a" |
| top: "res5a_branch2b" |
| name: "res5a_branch2b" |
| type: "Convolution" |
| param { |
| name: "res5a_branch2b_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 512 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res5a_branch2b" |
| top: "res5a_branch2b" |
| name: "bn5a_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res5a_branch2b" |
| top: "res5a_branch2b" |
| name: "scale5a_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res5a_branch1" |
| bottom: "res5a_branch2b" |
| top: "res5a" |
| name: "res5a" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res5a" |
| top: "res5a" |
| name: "res5a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res5a" |
| top: "res5b_branch2a" |
| name: "res5b_branch2a" |
| type: "Convolution" |
| param { |
| name: "res5b_branch2a_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 512 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res5b_branch2a" |
| top: "res5b_branch2a" |
| name: "bn5b_branch2a" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res5b_branch2a" |
| top: "res5b_branch2a" |
| name: "scale5b_branch2a" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res5b_branch2a" |
| top: "res5b_branch2a" |
| name: "res5b_branch2a_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res5b_branch2a" |
| top: "res5b_branch2b" |
| name: "res5b_branch2b" |
| type: "Convolution" |
| param { |
| name: "res5b_branch2b_w" |
| lr_mult: 1 |
| decay_mult: 1 |
| } |
| convolution_param { |
| num_output: 512 |
| kernel_size: 3 |
| pad: 1 |
| stride: 1 |
| weight_filler { |
| type: "msra" |
| } |
| bias_term: false |
|
|
| } |
| } |
|
|
| layer { |
| bottom: "res5b_branch2b" |
| top: "res5b_branch2b" |
| name: "bn5b_branch2b" |
| type: "BatchNorm" |
| batch_norm_param { |
| # moving_average_fraction: 0.9 |
| use_global_stats: true |
| } |
| |
| |
| } |
|
|
| layer { |
| bottom: "res5b_branch2b" |
| top: "res5b_branch2b" |
| name: "scale5b_branch2b" |
| type: "Scale" |
| scale_param { |
| bias_term: true |
| } |
| } |
|
|
| layer { |
| bottom: "res5a" |
| bottom: "res5b_branch2b" |
| top: "res5b" |
| name: "res5b" |
| type: "Eltwise" |
| eltwise_param { |
| operation: SUM |
| } |
| } |
|
|
| layer { |
| bottom: "res5b" |
| top: "res5b" |
| name: "res5b_relu" |
| type: "ReLU" |
| } |
|
|
| layer { |
| bottom: "res5b" |
| top: "pool5" |
| name: "pool5" |
| type: "Pooling" |
| pooling_param { |
| kernel_size: 7 |
| stride: 1 |
| pool: AVE |
| } |
| } |
|
|
|
|
| layer { |
| name: "feat1" |
| type: "InnerProduct" |
| bottom: "pool5" |
| top: "feat1" |
| param { |
| name: "feat1_w" |
| } |
| param { |
| name: "feat1_b" |
| } |
| inner_product_param { |
| num_output: 1 |
| weight_filler { |
| type: "msra" |
| std: 0.01 |
| } |
| bias_filler { |
| type: "constant" |
| value: 0 |
| } |
| } |
| } |
|
|
|
|
|
|