diff --git a/example/caffe/resnext101.prototxt b/example/caffe/resnext101.prototxt
new file mode 100644
index 000000000..9acfb1966
--- /dev/null
+++ b/example/caffe/resnext101.prototxt
@@ -0,0 +1,4820 @@
+name: "ResNeXt-101"
+layer {
+ name: "data"
+ type: "Input"
+ top: "data"
+ input_param { shape: { dim: 1 dim: 3 dim: 224 dim: 224 } }
+}
+
+layer {
+ name: "bn_data"
+ type: "BatchNorm"
+ bottom: "data"
+ top: "data"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_bn_data"
+ bottom: "data"
+ top: "data"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "conv0"
+ type: "Convolution"
+ bottom: "data"
+ top: "conv0"
+ convolution_param {
+ num_output: 64
+ kernel_size: 7
+ stride: 2
+ pad: 3
+ bias_term: false
+ }
+}
+
+layer {
+ name: "bn0"
+ type: "BatchNorm"
+ bottom: "conv0"
+ top: "conv0"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_bn0"
+ bottom: "conv0"
+ top: "conv0"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "relu0"
+ type: "ReLU"
+ bottom: "conv0"
+ top: "conv0"
+}
+
+layer {
+ name: "pooling0"
+ type: "Pooling"
+ bottom: "conv0"
+ top: "pooling0"
+ pooling_param {
+ pool: MAX
+ kernel_size: 3
+ stride: 2
+ }
+}
+
+layer {
+ name: "stage1_unit1_conv1"
+ type: "Convolution"
+ bottom: "pooling0"
+ top: "stage1_unit1_conv1"
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_bn1"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv1"
+}
+
+layer {
+ name: "stage1_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv2"
+ convolution_param {
+ num_output: 128
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_bn2"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv2"
+}
+
+layer {
+ name: "stage1_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv3"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_conv3"
+ top: "stage1_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_bn3"
+ bottom: "stage1_unit1_conv3"
+ top: "stage1_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_sc"
+ type: "Convolution"
+ bottom: "pooling0"
+ top: "stage1_unit1_sc"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_sc"
+ top: "stage1_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_sc_bn"
+ bottom: "stage1_unit1_sc"
+ top: "stage1_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage1_unit1_sc"
+ bottom: "stage1_unit1_conv3"
+ top: "stage1_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage1_unit1_relu"
+ type: "ReLU"
+ bottom: "stage1_unit1_plus"
+ top: "stage1_unit1_plus"
+}
+
+layer {
+ name: "stage1_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage1_unit1_plus"
+ top: "stage1_unit2_conv1"
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit2_bn1"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv1"
+}
+
+layer {
+ name: "stage1_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv2"
+ convolution_param {
+ num_output: 128
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit2_bn2"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv2"
+}
+
+layer {
+ name: "stage1_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv3"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage1_unit2_conv3"
+ top: "stage1_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit2_bn3"
+ bottom: "stage1_unit2_conv3"
+ top: "stage1_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage1_unit1_plus"
+ bottom: "stage1_unit2_conv3"
+ top: "stage1_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage1_unit2_relu"
+ type: "ReLU"
+ bottom: "stage1_unit2_plus"
+ top: "stage1_unit2_plus"
+}
+
+layer {
+ name: "stage1_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage1_unit2_plus"
+ top: "stage1_unit3_conv1"
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit3_bn1"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv1"
+}
+
+layer {
+ name: "stage1_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv2"
+ convolution_param {
+ num_output: 128
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit3_bn2"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv2"
+}
+
+layer {
+ name: "stage1_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv3"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage1_unit3_conv3"
+ top: "stage1_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit3_bn3"
+ bottom: "stage1_unit3_conv3"
+ top: "stage1_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage1_unit2_plus"
+ bottom: "stage1_unit3_conv3"
+ top: "stage1_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage1_unit3_relu"
+ type: "ReLU"
+ bottom: "stage1_unit3_plus"
+ top: "stage1_unit3_plus"
+}
+
+layer {
+ name: "stage2_unit1_conv1"
+ type: "Convolution"
+ bottom: "stage1_unit3_plus"
+ top: "stage2_unit1_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_bn1"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv1"
+}
+
+layer {
+ name: "stage2_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 2
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_bn2"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv2"
+}
+
+layer {
+ name: "stage2_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_conv3"
+ top: "stage2_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_bn3"
+ bottom: "stage2_unit1_conv3"
+ top: "stage2_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_sc"
+ type: "Convolution"
+ bottom: "stage1_unit3_plus"
+ top: "stage2_unit1_sc"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 2
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_sc"
+ top: "stage2_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_sc_bn"
+ bottom: "stage2_unit1_sc"
+ top: "stage2_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit1_sc"
+ bottom: "stage2_unit1_conv3"
+ top: "stage2_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit1_relu"
+ type: "ReLU"
+ bottom: "stage2_unit1_plus"
+ top: "stage2_unit1_plus"
+}
+
+layer {
+ name: "stage2_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit1_plus"
+ top: "stage2_unit2_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit2_bn1"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv1"
+}
+
+layer {
+ name: "stage2_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit2_bn2"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv2"
+}
+
+layer {
+ name: "stage2_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit2_conv3"
+ top: "stage2_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit2_bn3"
+ bottom: "stage2_unit2_conv3"
+ top: "stage2_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit1_plus"
+ bottom: "stage2_unit2_conv3"
+ top: "stage2_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit2_relu"
+ type: "ReLU"
+ bottom: "stage2_unit2_plus"
+ top: "stage2_unit2_plus"
+}
+
+layer {
+ name: "stage2_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit2_plus"
+ top: "stage2_unit3_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit3_bn1"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv1"
+}
+
+layer {
+ name: "stage2_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit3_bn2"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv2"
+}
+
+layer {
+ name: "stage2_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit3_conv3"
+ top: "stage2_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit3_bn3"
+ bottom: "stage2_unit3_conv3"
+ top: "stage2_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit2_plus"
+ bottom: "stage2_unit3_conv3"
+ top: "stage2_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit3_relu"
+ type: "ReLU"
+ bottom: "stage2_unit3_plus"
+ top: "stage2_unit3_plus"
+}
+
+layer {
+ name: "stage2_unit4_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit3_plus"
+ top: "stage2_unit4_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit4_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit4_bn1"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit4_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv1"
+}
+
+layer {
+ name: "stage2_unit4_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit4_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit4_bn2"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit4_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv2"
+}
+
+layer {
+ name: "stage2_unit4_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit4_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit4_conv3"
+ top: "stage2_unit4_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit4_bn3"
+ bottom: "stage2_unit4_conv3"
+ top: "stage2_unit4_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit4_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit3_plus"
+ bottom: "stage2_unit4_conv3"
+ top: "stage2_unit4_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit4_relu"
+ type: "ReLU"
+ bottom: "stage2_unit4_plus"
+ top: "stage2_unit4_plus"
+}
+
+layer {
+ name: "stage3_unit1_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit4_plus"
+ top: "stage3_unit1_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_bn1"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv1"
+}
+
+layer {
+ name: "stage3_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 2
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_bn2"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv2"
+}
+
+layer {
+ name: "stage3_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_conv3"
+ top: "stage3_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_bn3"
+ bottom: "stage3_unit1_conv3"
+ top: "stage3_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_sc"
+ type: "Convolution"
+ bottom: "stage2_unit4_plus"
+ top: "stage3_unit1_sc"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 2
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_sc"
+ top: "stage3_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_sc_bn"
+ bottom: "stage3_unit1_sc"
+ top: "stage3_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit1_sc"
+ bottom: "stage3_unit1_conv3"
+ top: "stage3_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit1_relu"
+ type: "ReLU"
+ bottom: "stage3_unit1_plus"
+ top: "stage3_unit1_plus"
+}
+
+layer {
+ name: "stage3_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit1_plus"
+ top: "stage3_unit2_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit2_bn1"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv1"
+}
+
+layer {
+ name: "stage3_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit2_bn2"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv2"
+}
+
+layer {
+ name: "stage3_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit2_conv3"
+ top: "stage3_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit2_bn3"
+ bottom: "stage3_unit2_conv3"
+ top: "stage3_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit1_plus"
+ bottom: "stage3_unit2_conv3"
+ top: "stage3_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit2_relu"
+ type: "ReLU"
+ bottom: "stage3_unit2_plus"
+ top: "stage3_unit2_plus"
+}
+
+layer {
+ name: "stage3_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit2_plus"
+ top: "stage3_unit3_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit3_bn1"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv1"
+}
+
+layer {
+ name: "stage3_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit3_bn2"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv2"
+}
+
+layer {
+ name: "stage3_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit3_conv3"
+ top: "stage3_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit3_bn3"
+ bottom: "stage3_unit3_conv3"
+ top: "stage3_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit2_plus"
+ bottom: "stage3_unit3_conv3"
+ top: "stage3_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit3_relu"
+ type: "ReLU"
+ bottom: "stage3_unit3_plus"
+ top: "stage3_unit3_plus"
+}
+
+layer {
+ name: "stage3_unit4_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit3_plus"
+ top: "stage3_unit4_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit4_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit4_bn1"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit4_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv1"
+}
+
+layer {
+ name: "stage3_unit4_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit4_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit4_bn2"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit4_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv2"
+}
+
+layer {
+ name: "stage3_unit4_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit4_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit4_conv3"
+ top: "stage3_unit4_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit4_bn3"
+ bottom: "stage3_unit4_conv3"
+ top: "stage3_unit4_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit4_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit3_plus"
+ bottom: "stage3_unit4_conv3"
+ top: "stage3_unit4_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit4_relu"
+ type: "ReLU"
+ bottom: "stage3_unit4_plus"
+ top: "stage3_unit4_plus"
+}
+
+layer {
+ name: "stage3_unit5_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit4_plus"
+ top: "stage3_unit5_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit5_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit5_bn1"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit5_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv1"
+}
+
+layer {
+ name: "stage3_unit5_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit5_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit5_bn2"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit5_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv2"
+}
+
+layer {
+ name: "stage3_unit5_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit5_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit5_conv3"
+ top: "stage3_unit5_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit5_bn3"
+ bottom: "stage3_unit5_conv3"
+ top: "stage3_unit5_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit5_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit4_plus"
+ bottom: "stage3_unit5_conv3"
+ top: "stage3_unit5_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit5_relu"
+ type: "ReLU"
+ bottom: "stage3_unit5_plus"
+ top: "stage3_unit5_plus"
+}
+
+layer {
+ name: "stage3_unit6_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit5_plus"
+ top: "stage3_unit6_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit6_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit6_bn1"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit6_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv1"
+}
+
+layer {
+ name: "stage3_unit6_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit6_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit6_bn2"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit6_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv2"
+}
+
+layer {
+ name: "stage3_unit6_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit6_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit6_conv3"
+ top: "stage3_unit6_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit6_bn3"
+ bottom: "stage3_unit6_conv3"
+ top: "stage3_unit6_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit6_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit5_plus"
+ bottom: "stage3_unit6_conv3"
+ top: "stage3_unit6_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit6_relu"
+ type: "ReLU"
+ bottom: "stage3_unit6_plus"
+ top: "stage3_unit6_plus"
+}
+
+layer {
+ name: "stage3_unit7_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit6_plus"
+ top: "stage3_unit7_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit7_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit7_conv1"
+ top: "stage3_unit7_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit7_bn1"
+ bottom: "stage3_unit7_conv1"
+ top: "stage3_unit7_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit7_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit7_conv1"
+ top: "stage3_unit7_conv1"
+}
+
+layer {
+ name: "stage3_unit7_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit7_conv1"
+ top: "stage3_unit7_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit7_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit7_conv2"
+ top: "stage3_unit7_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit7_bn2"
+ bottom: "stage3_unit7_conv2"
+ top: "stage3_unit7_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit7_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit7_conv2"
+ top: "stage3_unit7_conv2"
+}
+
+layer {
+ name: "stage3_unit7_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit7_conv2"
+ top: "stage3_unit7_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit7_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit7_conv3"
+ top: "stage3_unit7_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit7_bn3"
+ bottom: "stage3_unit7_conv3"
+ top: "stage3_unit7_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit7_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit6_plus"
+ bottom: "stage3_unit7_conv3"
+ top: "stage3_unit7_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit7_relu"
+ type: "ReLU"
+ bottom: "stage3_unit7_plus"
+ top: "stage3_unit7_plus"
+}
+
+layer {
+ name: "stage3_unit8_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit7_plus"
+ top: "stage3_unit8_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit8_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit8_conv1"
+ top: "stage3_unit8_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit8_bn1"
+ bottom: "stage3_unit8_conv1"
+ top: "stage3_unit8_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit8_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit8_conv1"
+ top: "stage3_unit8_conv1"
+}
+
+layer {
+ name: "stage3_unit8_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit8_conv1"
+ top: "stage3_unit8_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit8_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit8_conv2"
+ top: "stage3_unit8_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit8_bn2"
+ bottom: "stage3_unit8_conv2"
+ top: "stage3_unit8_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit8_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit8_conv2"
+ top: "stage3_unit8_conv2"
+}
+
+layer {
+ name: "stage3_unit8_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit8_conv2"
+ top: "stage3_unit8_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit8_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit8_conv3"
+ top: "stage3_unit8_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit8_bn3"
+ bottom: "stage3_unit8_conv3"
+ top: "stage3_unit8_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit8_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit7_plus"
+ bottom: "stage3_unit8_conv3"
+ top: "stage3_unit8_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit8_relu"
+ type: "ReLU"
+ bottom: "stage3_unit8_plus"
+ top: "stage3_unit8_plus"
+}
+
+layer {
+ name: "stage3_unit9_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit8_plus"
+ top: "stage3_unit9_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit9_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit9_conv1"
+ top: "stage3_unit9_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit9_bn1"
+ bottom: "stage3_unit9_conv1"
+ top: "stage3_unit9_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit9_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit9_conv1"
+ top: "stage3_unit9_conv1"
+}
+
+layer {
+ name: "stage3_unit9_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit9_conv1"
+ top: "stage3_unit9_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit9_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit9_conv2"
+ top: "stage3_unit9_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit9_bn2"
+ bottom: "stage3_unit9_conv2"
+ top: "stage3_unit9_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit9_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit9_conv2"
+ top: "stage3_unit9_conv2"
+}
+
+layer {
+ name: "stage3_unit9_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit9_conv2"
+ top: "stage3_unit9_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit9_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit9_conv3"
+ top: "stage3_unit9_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit9_bn3"
+ bottom: "stage3_unit9_conv3"
+ top: "stage3_unit9_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit9_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit8_plus"
+ bottom: "stage3_unit9_conv3"
+ top: "stage3_unit9_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit9_relu"
+ type: "ReLU"
+ bottom: "stage3_unit9_plus"
+ top: "stage3_unit9_plus"
+}
+
+layer {
+ name: "stage3_unit10_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit9_plus"
+ top: "stage3_unit10_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit10_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit10_conv1"
+ top: "stage3_unit10_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit10_bn1"
+ bottom: "stage3_unit10_conv1"
+ top: "stage3_unit10_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit10_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit10_conv1"
+ top: "stage3_unit10_conv1"
+}
+
+layer {
+ name: "stage3_unit10_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit10_conv1"
+ top: "stage3_unit10_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit10_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit10_conv2"
+ top: "stage3_unit10_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit10_bn2"
+ bottom: "stage3_unit10_conv2"
+ top: "stage3_unit10_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit10_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit10_conv2"
+ top: "stage3_unit10_conv2"
+}
+
+layer {
+ name: "stage3_unit10_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit10_conv2"
+ top: "stage3_unit10_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit10_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit10_conv3"
+ top: "stage3_unit10_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit10_bn3"
+ bottom: "stage3_unit10_conv3"
+ top: "stage3_unit10_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit10_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit9_plus"
+ bottom: "stage3_unit10_conv3"
+ top: "stage3_unit10_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit10_relu"
+ type: "ReLU"
+ bottom: "stage3_unit10_plus"
+ top: "stage3_unit10_plus"
+}
+
+layer {
+ name: "stage3_unit11_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit10_plus"
+ top: "stage3_unit11_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit11_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit11_conv1"
+ top: "stage3_unit11_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit11_bn1"
+ bottom: "stage3_unit11_conv1"
+ top: "stage3_unit11_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit11_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit11_conv1"
+ top: "stage3_unit11_conv1"
+}
+
+layer {
+ name: "stage3_unit11_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit11_conv1"
+ top: "stage3_unit11_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit11_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit11_conv2"
+ top: "stage3_unit11_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit11_bn2"
+ bottom: "stage3_unit11_conv2"
+ top: "stage3_unit11_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit11_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit11_conv2"
+ top: "stage3_unit11_conv2"
+}
+
+layer {
+ name: "stage3_unit11_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit11_conv2"
+ top: "stage3_unit11_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit11_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit11_conv3"
+ top: "stage3_unit11_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit11_bn3"
+ bottom: "stage3_unit11_conv3"
+ top: "stage3_unit11_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit11_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit10_plus"
+ bottom: "stage3_unit11_conv3"
+ top: "stage3_unit11_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit11_relu"
+ type: "ReLU"
+ bottom: "stage3_unit11_plus"
+ top: "stage3_unit11_plus"
+}
+
+layer {
+ name: "stage3_unit12_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit11_plus"
+ top: "stage3_unit12_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit12_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit12_conv1"
+ top: "stage3_unit12_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit12_bn1"
+ bottom: "stage3_unit12_conv1"
+ top: "stage3_unit12_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit12_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit12_conv1"
+ top: "stage3_unit12_conv1"
+}
+
+layer {
+ name: "stage3_unit12_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit12_conv1"
+ top: "stage3_unit12_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit12_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit12_conv2"
+ top: "stage3_unit12_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit12_bn2"
+ bottom: "stage3_unit12_conv2"
+ top: "stage3_unit12_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit12_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit12_conv2"
+ top: "stage3_unit12_conv2"
+}
+
+layer {
+ name: "stage3_unit12_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit12_conv2"
+ top: "stage3_unit12_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit12_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit12_conv3"
+ top: "stage3_unit12_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit12_bn3"
+ bottom: "stage3_unit12_conv3"
+ top: "stage3_unit12_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit12_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit11_plus"
+ bottom: "stage3_unit12_conv3"
+ top: "stage3_unit12_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit12_relu"
+ type: "ReLU"
+ bottom: "stage3_unit12_plus"
+ top: "stage3_unit12_plus"
+}
+
+layer {
+ name: "stage3_unit13_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit12_plus"
+ top: "stage3_unit13_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit13_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit13_conv1"
+ top: "stage3_unit13_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit13_bn1"
+ bottom: "stage3_unit13_conv1"
+ top: "stage3_unit13_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit13_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit13_conv1"
+ top: "stage3_unit13_conv1"
+}
+
+layer {
+ name: "stage3_unit13_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit13_conv1"
+ top: "stage3_unit13_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit13_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit13_conv2"
+ top: "stage3_unit13_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit13_bn2"
+ bottom: "stage3_unit13_conv2"
+ top: "stage3_unit13_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit13_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit13_conv2"
+ top: "stage3_unit13_conv2"
+}
+
+layer {
+ name: "stage3_unit13_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit13_conv2"
+ top: "stage3_unit13_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit13_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit13_conv3"
+ top: "stage3_unit13_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit13_bn3"
+ bottom: "stage3_unit13_conv3"
+ top: "stage3_unit13_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit13_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit12_plus"
+ bottom: "stage3_unit13_conv3"
+ top: "stage3_unit13_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit13_relu"
+ type: "ReLU"
+ bottom: "stage3_unit13_plus"
+ top: "stage3_unit13_plus"
+}
+
+layer {
+ name: "stage3_unit14_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit13_plus"
+ top: "stage3_unit14_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit14_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit14_conv1"
+ top: "stage3_unit14_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit14_bn1"
+ bottom: "stage3_unit14_conv1"
+ top: "stage3_unit14_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit14_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit14_conv1"
+ top: "stage3_unit14_conv1"
+}
+
+layer {
+ name: "stage3_unit14_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit14_conv1"
+ top: "stage3_unit14_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit14_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit14_conv2"
+ top: "stage3_unit14_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit14_bn2"
+ bottom: "stage3_unit14_conv2"
+ top: "stage3_unit14_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit14_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit14_conv2"
+ top: "stage3_unit14_conv2"
+}
+
+layer {
+ name: "stage3_unit14_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit14_conv2"
+ top: "stage3_unit14_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit14_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit14_conv3"
+ top: "stage3_unit14_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit14_bn3"
+ bottom: "stage3_unit14_conv3"
+ top: "stage3_unit14_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit14_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit13_plus"
+ bottom: "stage3_unit14_conv3"
+ top: "stage3_unit14_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit14_relu"
+ type: "ReLU"
+ bottom: "stage3_unit14_plus"
+ top: "stage3_unit14_plus"
+}
+
+layer {
+ name: "stage3_unit15_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit14_plus"
+ top: "stage3_unit15_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit15_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit15_conv1"
+ top: "stage3_unit15_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit15_bn1"
+ bottom: "stage3_unit15_conv1"
+ top: "stage3_unit15_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit15_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit15_conv1"
+ top: "stage3_unit15_conv1"
+}
+
+layer {
+ name: "stage3_unit15_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit15_conv1"
+ top: "stage3_unit15_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit15_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit15_conv2"
+ top: "stage3_unit15_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit15_bn2"
+ bottom: "stage3_unit15_conv2"
+ top: "stage3_unit15_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit15_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit15_conv2"
+ top: "stage3_unit15_conv2"
+}
+
+layer {
+ name: "stage3_unit15_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit15_conv2"
+ top: "stage3_unit15_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit15_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit15_conv3"
+ top: "stage3_unit15_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit15_bn3"
+ bottom: "stage3_unit15_conv3"
+ top: "stage3_unit15_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit15_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit14_plus"
+ bottom: "stage3_unit15_conv3"
+ top: "stage3_unit15_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit15_relu"
+ type: "ReLU"
+ bottom: "stage3_unit15_plus"
+ top: "stage3_unit15_plus"
+}
+
+layer {
+ name: "stage3_unit16_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit15_plus"
+ top: "stage3_unit16_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit16_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit16_conv1"
+ top: "stage3_unit16_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit16_bn1"
+ bottom: "stage3_unit16_conv1"
+ top: "stage3_unit16_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit16_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit16_conv1"
+ top: "stage3_unit16_conv1"
+}
+
+layer {
+ name: "stage3_unit16_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit16_conv1"
+ top: "stage3_unit16_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit16_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit16_conv2"
+ top: "stage3_unit16_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit16_bn2"
+ bottom: "stage3_unit16_conv2"
+ top: "stage3_unit16_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit16_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit16_conv2"
+ top: "stage3_unit16_conv2"
+}
+
+layer {
+ name: "stage3_unit16_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit16_conv2"
+ top: "stage3_unit16_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit16_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit16_conv3"
+ top: "stage3_unit16_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit16_bn3"
+ bottom: "stage3_unit16_conv3"
+ top: "stage3_unit16_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit16_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit15_plus"
+ bottom: "stage3_unit16_conv3"
+ top: "stage3_unit16_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit16_relu"
+ type: "ReLU"
+ bottom: "stage3_unit16_plus"
+ top: "stage3_unit16_plus"
+}
+
+layer {
+ name: "stage3_unit17_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit16_plus"
+ top: "stage3_unit17_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit17_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit17_conv1"
+ top: "stage3_unit17_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit17_bn1"
+ bottom: "stage3_unit17_conv1"
+ top: "stage3_unit17_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit17_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit17_conv1"
+ top: "stage3_unit17_conv1"
+}
+
+layer {
+ name: "stage3_unit17_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit17_conv1"
+ top: "stage3_unit17_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit17_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit17_conv2"
+ top: "stage3_unit17_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit17_bn2"
+ bottom: "stage3_unit17_conv2"
+ top: "stage3_unit17_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit17_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit17_conv2"
+ top: "stage3_unit17_conv2"
+}
+
+layer {
+ name: "stage3_unit17_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit17_conv2"
+ top: "stage3_unit17_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit17_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit17_conv3"
+ top: "stage3_unit17_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit17_bn3"
+ bottom: "stage3_unit17_conv3"
+ top: "stage3_unit17_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit17_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit16_plus"
+ bottom: "stage3_unit17_conv3"
+ top: "stage3_unit17_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit17_relu"
+ type: "ReLU"
+ bottom: "stage3_unit17_plus"
+ top: "stage3_unit17_plus"
+}
+
+layer {
+ name: "stage3_unit18_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit17_plus"
+ top: "stage3_unit18_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit18_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit18_conv1"
+ top: "stage3_unit18_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit18_bn1"
+ bottom: "stage3_unit18_conv1"
+ top: "stage3_unit18_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit18_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit18_conv1"
+ top: "stage3_unit18_conv1"
+}
+
+layer {
+ name: "stage3_unit18_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit18_conv1"
+ top: "stage3_unit18_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit18_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit18_conv2"
+ top: "stage3_unit18_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit18_bn2"
+ bottom: "stage3_unit18_conv2"
+ top: "stage3_unit18_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit18_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit18_conv2"
+ top: "stage3_unit18_conv2"
+}
+
+layer {
+ name: "stage3_unit18_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit18_conv2"
+ top: "stage3_unit18_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit18_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit18_conv3"
+ top: "stage3_unit18_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit18_bn3"
+ bottom: "stage3_unit18_conv3"
+ top: "stage3_unit18_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit18_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit17_plus"
+ bottom: "stage3_unit18_conv3"
+ top: "stage3_unit18_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit18_relu"
+ type: "ReLU"
+ bottom: "stage3_unit18_plus"
+ top: "stage3_unit18_plus"
+}
+
+layer {
+ name: "stage3_unit19_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit18_plus"
+ top: "stage3_unit19_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit19_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit19_conv1"
+ top: "stage3_unit19_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit19_bn1"
+ bottom: "stage3_unit19_conv1"
+ top: "stage3_unit19_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit19_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit19_conv1"
+ top: "stage3_unit19_conv1"
+}
+
+layer {
+ name: "stage3_unit19_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit19_conv1"
+ top: "stage3_unit19_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit19_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit19_conv2"
+ top: "stage3_unit19_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit19_bn2"
+ bottom: "stage3_unit19_conv2"
+ top: "stage3_unit19_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit19_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit19_conv2"
+ top: "stage3_unit19_conv2"
+}
+
+layer {
+ name: "stage3_unit19_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit19_conv2"
+ top: "stage3_unit19_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit19_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit19_conv3"
+ top: "stage3_unit19_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit19_bn3"
+ bottom: "stage3_unit19_conv3"
+ top: "stage3_unit19_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit19_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit18_plus"
+ bottom: "stage3_unit19_conv3"
+ top: "stage3_unit19_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit19_relu"
+ type: "ReLU"
+ bottom: "stage3_unit19_plus"
+ top: "stage3_unit19_plus"
+}
+
+layer {
+ name: "stage3_unit20_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit19_plus"
+ top: "stage3_unit20_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit20_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit20_conv1"
+ top: "stage3_unit20_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit20_bn1"
+ bottom: "stage3_unit20_conv1"
+ top: "stage3_unit20_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit20_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit20_conv1"
+ top: "stage3_unit20_conv1"
+}
+
+layer {
+ name: "stage3_unit20_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit20_conv1"
+ top: "stage3_unit20_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit20_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit20_conv2"
+ top: "stage3_unit20_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit20_bn2"
+ bottom: "stage3_unit20_conv2"
+ top: "stage3_unit20_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit20_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit20_conv2"
+ top: "stage3_unit20_conv2"
+}
+
+layer {
+ name: "stage3_unit20_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit20_conv2"
+ top: "stage3_unit20_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit20_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit20_conv3"
+ top: "stage3_unit20_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit20_bn3"
+ bottom: "stage3_unit20_conv3"
+ top: "stage3_unit20_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit20_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit19_plus"
+ bottom: "stage3_unit20_conv3"
+ top: "stage3_unit20_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit20_relu"
+ type: "ReLU"
+ bottom: "stage3_unit20_plus"
+ top: "stage3_unit20_plus"
+}
+
+layer {
+ name: "stage3_unit21_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit20_plus"
+ top: "stage3_unit21_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit21_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit21_conv1"
+ top: "stage3_unit21_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit21_bn1"
+ bottom: "stage3_unit21_conv1"
+ top: "stage3_unit21_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit21_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit21_conv1"
+ top: "stage3_unit21_conv1"
+}
+
+layer {
+ name: "stage3_unit21_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit21_conv1"
+ top: "stage3_unit21_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit21_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit21_conv2"
+ top: "stage3_unit21_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit21_bn2"
+ bottom: "stage3_unit21_conv2"
+ top: "stage3_unit21_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit21_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit21_conv2"
+ top: "stage3_unit21_conv2"
+}
+
+layer {
+ name: "stage3_unit21_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit21_conv2"
+ top: "stage3_unit21_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit21_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit21_conv3"
+ top: "stage3_unit21_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit21_bn3"
+ bottom: "stage3_unit21_conv3"
+ top: "stage3_unit21_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit21_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit20_plus"
+ bottom: "stage3_unit21_conv3"
+ top: "stage3_unit21_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit21_relu"
+ type: "ReLU"
+ bottom: "stage3_unit21_plus"
+ top: "stage3_unit21_plus"
+}
+
+layer {
+ name: "stage3_unit22_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit21_plus"
+ top: "stage3_unit22_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit22_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit22_conv1"
+ top: "stage3_unit22_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit22_bn1"
+ bottom: "stage3_unit22_conv1"
+ top: "stage3_unit22_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit22_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit22_conv1"
+ top: "stage3_unit22_conv1"
+}
+
+layer {
+ name: "stage3_unit22_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit22_conv1"
+ top: "stage3_unit22_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit22_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit22_conv2"
+ top: "stage3_unit22_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit22_bn2"
+ bottom: "stage3_unit22_conv2"
+ top: "stage3_unit22_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit22_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit22_conv2"
+ top: "stage3_unit22_conv2"
+}
+
+layer {
+ name: "stage3_unit22_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit22_conv2"
+ top: "stage3_unit22_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit22_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit22_conv3"
+ top: "stage3_unit22_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit22_bn3"
+ bottom: "stage3_unit22_conv3"
+ top: "stage3_unit22_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit22_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit21_plus"
+ bottom: "stage3_unit22_conv3"
+ top: "stage3_unit22_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit22_relu"
+ type: "ReLU"
+ bottom: "stage3_unit22_plus"
+ top: "stage3_unit22_plus"
+}
+
+layer {
+ name: "stage3_unit23_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit22_plus"
+ top: "stage3_unit23_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit23_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit23_conv1"
+ top: "stage3_unit23_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit23_bn1"
+ bottom: "stage3_unit23_conv1"
+ top: "stage3_unit23_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit23_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit23_conv1"
+ top: "stage3_unit23_conv1"
+}
+
+layer {
+ name: "stage3_unit23_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit23_conv1"
+ top: "stage3_unit23_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit23_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit23_conv2"
+ top: "stage3_unit23_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit23_bn2"
+ bottom: "stage3_unit23_conv2"
+ top: "stage3_unit23_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit23_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit23_conv2"
+ top: "stage3_unit23_conv2"
+}
+
+layer {
+ name: "stage3_unit23_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit23_conv2"
+ top: "stage3_unit23_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit23_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit23_conv3"
+ top: "stage3_unit23_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit23_bn3"
+ bottom: "stage3_unit23_conv3"
+ top: "stage3_unit23_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit23_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit22_plus"
+ bottom: "stage3_unit23_conv3"
+ top: "stage3_unit23_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit23_relu"
+ type: "ReLU"
+ bottom: "stage3_unit23_plus"
+ top: "stage3_unit23_plus"
+}
+
+layer {
+ name: "stage4_unit1_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit23_plus"
+ top: "stage4_unit1_conv1"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_bn1"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv1"
+}
+
+layer {
+ name: "stage4_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv2"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 3
+ stride: 2
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_bn2"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv2"
+}
+
+layer {
+ name: "stage4_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv3"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_conv3"
+ top: "stage4_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_bn3"
+ bottom: "stage4_unit1_conv3"
+ top: "stage4_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_sc"
+ type: "Convolution"
+ bottom: "stage3_unit23_plus"
+ top: "stage4_unit1_sc"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 2
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_sc"
+ top: "stage4_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_sc_bn"
+ bottom: "stage4_unit1_sc"
+ top: "stage4_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage4_unit1_sc"
+ bottom: "stage4_unit1_conv3"
+ top: "stage4_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage4_unit1_relu"
+ type: "ReLU"
+ bottom: "stage4_unit1_plus"
+ top: "stage4_unit1_plus"
+}
+
+layer {
+ name: "stage4_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage4_unit1_plus"
+ top: "stage4_unit2_conv1"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit2_bn1"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv1"
+}
+
+layer {
+ name: "stage4_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv2"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit2_bn2"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv2"
+}
+
+layer {
+ name: "stage4_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv3"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage4_unit2_conv3"
+ top: "stage4_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit2_bn3"
+ bottom: "stage4_unit2_conv3"
+ top: "stage4_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage4_unit1_plus"
+ bottom: "stage4_unit2_conv3"
+ top: "stage4_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage4_unit2_relu"
+ type: "ReLU"
+ bottom: "stage4_unit2_plus"
+ top: "stage4_unit2_plus"
+}
+
+layer {
+ name: "stage4_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage4_unit2_plus"
+ top: "stage4_unit3_conv1"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit3_bn1"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv1"
+}
+
+layer {
+ name: "stage4_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv2"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit3_bn2"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv2"
+}
+
+layer {
+ name: "stage4_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv3"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage4_unit3_conv3"
+ top: "stage4_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit3_bn3"
+ bottom: "stage4_unit3_conv3"
+ top: "stage4_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage4_unit2_plus"
+ bottom: "stage4_unit3_conv3"
+ top: "stage4_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage4_unit3_relu"
+ type: "ReLU"
+ bottom: "stage4_unit3_plus"
+ top: "stage4_unit3_plus"
+}
+
+layer {
+ name: "pool1"
+ type: "Pooling"
+ bottom: "stage4_unit3_plus"
+ top: "pool1"
+ pooling_param {
+ global_pooling : true
+ pool: AVE
+ }
+}
+
+layer {
+ name: "fc1"
+ type: "InnerProduct"
+ bottom: "pool1"
+ top: "fc1"
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
+ inner_product_param {
+ num_output: 1000
+ weight_filler {
+ type: "xavier"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0
+ }
+ }
+}
+
+layer {
+ name: "prob"
+ type: "Softmax"
+ bottom: "fc1"
+ top: "prob"
+}
+
diff --git a/example/caffe/resnext152.prototxt b/example/caffe/resnext152.prototxt
new file mode 100644
index 000000000..0be3242d0
--- /dev/null
+++ b/example/caffe/resnext152.prototxt
@@ -0,0 +1,7166 @@
+name: "ResNeXt-152"
+layer {
+ name: "data"
+ type: "Input"
+ top: "data"
+ input_param { shape: { dim: 1 dim: 3 dim: 224 dim: 224 } }
+}
+
+layer {
+ name: "bn_data"
+ type: "BatchNorm"
+ bottom: "data"
+ top: "data"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_bn_data"
+ bottom: "data"
+ top: "data"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "conv0"
+ type: "Convolution"
+ bottom: "data"
+ top: "conv0"
+ convolution_param {
+ num_output: 64
+ kernel_size: 7
+ stride: 2
+ pad: 3
+ bias_term: false
+ }
+}
+
+layer {
+ name: "bn0"
+ type: "BatchNorm"
+ bottom: "conv0"
+ top: "conv0"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_bn0"
+ bottom: "conv0"
+ top: "conv0"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "relu0"
+ type: "ReLU"
+ bottom: "conv0"
+ top: "conv0"
+}
+
+layer {
+ name: "pooling0"
+ type: "Pooling"
+ bottom: "conv0"
+ top: "pooling0"
+ pooling_param {
+ pool: MAX
+ kernel_size: 3
+ stride: 2
+ }
+}
+
+layer {
+ name: "stage1_unit1_conv1"
+ type: "Convolution"
+ bottom: "pooling0"
+ top: "stage1_unit1_conv1"
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_bn1"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv1"
+}
+
+layer {
+ name: "stage1_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv2"
+ convolution_param {
+ num_output: 128
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_bn2"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv2"
+}
+
+layer {
+ name: "stage1_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv3"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_conv3"
+ top: "stage1_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_bn3"
+ bottom: "stage1_unit1_conv3"
+ top: "stage1_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_sc"
+ type: "Convolution"
+ bottom: "pooling0"
+ top: "stage1_unit1_sc"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_sc"
+ top: "stage1_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_sc_bn"
+ bottom: "stage1_unit1_sc"
+ top: "stage1_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage1_unit1_sc"
+ bottom: "stage1_unit1_conv3"
+ top: "stage1_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage1_unit1_relu"
+ type: "ReLU"
+ bottom: "stage1_unit1_plus"
+ top: "stage1_unit1_plus"
+}
+
+layer {
+ name: "stage1_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage1_unit1_plus"
+ top: "stage1_unit2_conv1"
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit2_bn1"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv1"
+}
+
+layer {
+ name: "stage1_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv2"
+ convolution_param {
+ num_output: 128
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit2_bn2"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv2"
+}
+
+layer {
+ name: "stage1_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv3"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage1_unit2_conv3"
+ top: "stage1_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit2_bn3"
+ bottom: "stage1_unit2_conv3"
+ top: "stage1_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage1_unit1_plus"
+ bottom: "stage1_unit2_conv3"
+ top: "stage1_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage1_unit2_relu"
+ type: "ReLU"
+ bottom: "stage1_unit2_plus"
+ top: "stage1_unit2_plus"
+}
+
+layer {
+ name: "stage1_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage1_unit2_plus"
+ top: "stage1_unit3_conv1"
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit3_bn1"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv1"
+}
+
+layer {
+ name: "stage1_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv2"
+ convolution_param {
+ num_output: 128
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit3_bn2"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv2"
+}
+
+layer {
+ name: "stage1_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv3"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage1_unit3_conv3"
+ top: "stage1_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit3_bn3"
+ bottom: "stage1_unit3_conv3"
+ top: "stage1_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage1_unit2_plus"
+ bottom: "stage1_unit3_conv3"
+ top: "stage1_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage1_unit3_relu"
+ type: "ReLU"
+ bottom: "stage1_unit3_plus"
+ top: "stage1_unit3_plus"
+}
+
+layer {
+ name: "stage2_unit1_conv1"
+ type: "Convolution"
+ bottom: "stage1_unit3_plus"
+ top: "stage2_unit1_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_bn1"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv1"
+}
+
+layer {
+ name: "stage2_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 2
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_bn2"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv2"
+}
+
+layer {
+ name: "stage2_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_conv3"
+ top: "stage2_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_bn3"
+ bottom: "stage2_unit1_conv3"
+ top: "stage2_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_sc"
+ type: "Convolution"
+ bottom: "stage1_unit3_plus"
+ top: "stage2_unit1_sc"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 2
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_sc"
+ top: "stage2_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_sc_bn"
+ bottom: "stage2_unit1_sc"
+ top: "stage2_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit1_sc"
+ bottom: "stage2_unit1_conv3"
+ top: "stage2_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit1_relu"
+ type: "ReLU"
+ bottom: "stage2_unit1_plus"
+ top: "stage2_unit1_plus"
+}
+
+layer {
+ name: "stage2_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit1_plus"
+ top: "stage2_unit2_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit2_bn1"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv1"
+}
+
+layer {
+ name: "stage2_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit2_bn2"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv2"
+}
+
+layer {
+ name: "stage2_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit2_conv3"
+ top: "stage2_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit2_bn3"
+ bottom: "stage2_unit2_conv3"
+ top: "stage2_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit1_plus"
+ bottom: "stage2_unit2_conv3"
+ top: "stage2_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit2_relu"
+ type: "ReLU"
+ bottom: "stage2_unit2_plus"
+ top: "stage2_unit2_plus"
+}
+
+layer {
+ name: "stage2_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit2_plus"
+ top: "stage2_unit3_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit3_bn1"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv1"
+}
+
+layer {
+ name: "stage2_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit3_bn2"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv2"
+}
+
+layer {
+ name: "stage2_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit3_conv3"
+ top: "stage2_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit3_bn3"
+ bottom: "stage2_unit3_conv3"
+ top: "stage2_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit2_plus"
+ bottom: "stage2_unit3_conv3"
+ top: "stage2_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit3_relu"
+ type: "ReLU"
+ bottom: "stage2_unit3_plus"
+ top: "stage2_unit3_plus"
+}
+
+layer {
+ name: "stage2_unit4_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit3_plus"
+ top: "stage2_unit4_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit4_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit4_bn1"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit4_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv1"
+}
+
+layer {
+ name: "stage2_unit4_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit4_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit4_bn2"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit4_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv2"
+}
+
+layer {
+ name: "stage2_unit4_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit4_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit4_conv3"
+ top: "stage2_unit4_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit4_bn3"
+ bottom: "stage2_unit4_conv3"
+ top: "stage2_unit4_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit4_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit3_plus"
+ bottom: "stage2_unit4_conv3"
+ top: "stage2_unit4_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit4_relu"
+ type: "ReLU"
+ bottom: "stage2_unit4_plus"
+ top: "stage2_unit4_plus"
+}
+
+layer {
+ name: "stage2_unit5_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit4_plus"
+ top: "stage2_unit5_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit5_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit5_conv1"
+ top: "stage2_unit5_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit5_bn1"
+ bottom: "stage2_unit5_conv1"
+ top: "stage2_unit5_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit5_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit5_conv1"
+ top: "stage2_unit5_conv1"
+}
+
+layer {
+ name: "stage2_unit5_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit5_conv1"
+ top: "stage2_unit5_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit5_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit5_conv2"
+ top: "stage2_unit5_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit5_bn2"
+ bottom: "stage2_unit5_conv2"
+ top: "stage2_unit5_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit5_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit5_conv2"
+ top: "stage2_unit5_conv2"
+}
+
+layer {
+ name: "stage2_unit5_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit5_conv2"
+ top: "stage2_unit5_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit5_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit5_conv3"
+ top: "stage2_unit5_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit5_bn3"
+ bottom: "stage2_unit5_conv3"
+ top: "stage2_unit5_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit5_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit4_plus"
+ bottom: "stage2_unit5_conv3"
+ top: "stage2_unit5_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit5_relu"
+ type: "ReLU"
+ bottom: "stage2_unit5_plus"
+ top: "stage2_unit5_plus"
+}
+
+layer {
+ name: "stage2_unit6_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit5_plus"
+ top: "stage2_unit6_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit6_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit6_conv1"
+ top: "stage2_unit6_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit6_bn1"
+ bottom: "stage2_unit6_conv1"
+ top: "stage2_unit6_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit6_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit6_conv1"
+ top: "stage2_unit6_conv1"
+}
+
+layer {
+ name: "stage2_unit6_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit6_conv1"
+ top: "stage2_unit6_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit6_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit6_conv2"
+ top: "stage2_unit6_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit6_bn2"
+ bottom: "stage2_unit6_conv2"
+ top: "stage2_unit6_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit6_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit6_conv2"
+ top: "stage2_unit6_conv2"
+}
+
+layer {
+ name: "stage2_unit6_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit6_conv2"
+ top: "stage2_unit6_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit6_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit6_conv3"
+ top: "stage2_unit6_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit6_bn3"
+ bottom: "stage2_unit6_conv3"
+ top: "stage2_unit6_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit6_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit5_plus"
+ bottom: "stage2_unit6_conv3"
+ top: "stage2_unit6_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit6_relu"
+ type: "ReLU"
+ bottom: "stage2_unit6_plus"
+ top: "stage2_unit6_plus"
+}
+
+layer {
+ name: "stage2_unit7_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit6_plus"
+ top: "stage2_unit7_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit7_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit7_conv1"
+ top: "stage2_unit7_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit7_bn1"
+ bottom: "stage2_unit7_conv1"
+ top: "stage2_unit7_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit7_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit7_conv1"
+ top: "stage2_unit7_conv1"
+}
+
+layer {
+ name: "stage2_unit7_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit7_conv1"
+ top: "stage2_unit7_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit7_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit7_conv2"
+ top: "stage2_unit7_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit7_bn2"
+ bottom: "stage2_unit7_conv2"
+ top: "stage2_unit7_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit7_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit7_conv2"
+ top: "stage2_unit7_conv2"
+}
+
+layer {
+ name: "stage2_unit7_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit7_conv2"
+ top: "stage2_unit7_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit7_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit7_conv3"
+ top: "stage2_unit7_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit7_bn3"
+ bottom: "stage2_unit7_conv3"
+ top: "stage2_unit7_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit7_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit6_plus"
+ bottom: "stage2_unit7_conv3"
+ top: "stage2_unit7_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit7_relu"
+ type: "ReLU"
+ bottom: "stage2_unit7_plus"
+ top: "stage2_unit7_plus"
+}
+
+layer {
+ name: "stage2_unit8_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit7_plus"
+ top: "stage2_unit8_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit8_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit8_conv1"
+ top: "stage2_unit8_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit8_bn1"
+ bottom: "stage2_unit8_conv1"
+ top: "stage2_unit8_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit8_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit8_conv1"
+ top: "stage2_unit8_conv1"
+}
+
+layer {
+ name: "stage2_unit8_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit8_conv1"
+ top: "stage2_unit8_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit8_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit8_conv2"
+ top: "stage2_unit8_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit8_bn2"
+ bottom: "stage2_unit8_conv2"
+ top: "stage2_unit8_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit8_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit8_conv2"
+ top: "stage2_unit8_conv2"
+}
+
+layer {
+ name: "stage2_unit8_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit8_conv2"
+ top: "stage2_unit8_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit8_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit8_conv3"
+ top: "stage2_unit8_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit8_bn3"
+ bottom: "stage2_unit8_conv3"
+ top: "stage2_unit8_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit8_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit7_plus"
+ bottom: "stage2_unit8_conv3"
+ top: "stage2_unit8_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit8_relu"
+ type: "ReLU"
+ bottom: "stage2_unit8_plus"
+ top: "stage2_unit8_plus"
+}
+
+layer {
+ name: "stage3_unit1_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit8_plus"
+ top: "stage3_unit1_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_bn1"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv1"
+}
+
+layer {
+ name: "stage3_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 2
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_bn2"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv2"
+}
+
+layer {
+ name: "stage3_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_conv3"
+ top: "stage3_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_bn3"
+ bottom: "stage3_unit1_conv3"
+ top: "stage3_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_sc"
+ type: "Convolution"
+ bottom: "stage2_unit8_plus"
+ top: "stage3_unit1_sc"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 2
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_sc"
+ top: "stage3_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_sc_bn"
+ bottom: "stage3_unit1_sc"
+ top: "stage3_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit1_sc"
+ bottom: "stage3_unit1_conv3"
+ top: "stage3_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit1_relu"
+ type: "ReLU"
+ bottom: "stage3_unit1_plus"
+ top: "stage3_unit1_plus"
+}
+
+layer {
+ name: "stage3_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit1_plus"
+ top: "stage3_unit2_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit2_bn1"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv1"
+}
+
+layer {
+ name: "stage3_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit2_bn2"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv2"
+}
+
+layer {
+ name: "stage3_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit2_conv3"
+ top: "stage3_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit2_bn3"
+ bottom: "stage3_unit2_conv3"
+ top: "stage3_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit1_plus"
+ bottom: "stage3_unit2_conv3"
+ top: "stage3_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit2_relu"
+ type: "ReLU"
+ bottom: "stage3_unit2_plus"
+ top: "stage3_unit2_plus"
+}
+
+layer {
+ name: "stage3_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit2_plus"
+ top: "stage3_unit3_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit3_bn1"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv1"
+}
+
+layer {
+ name: "stage3_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit3_bn2"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv2"
+}
+
+layer {
+ name: "stage3_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit3_conv3"
+ top: "stage3_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit3_bn3"
+ bottom: "stage3_unit3_conv3"
+ top: "stage3_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit2_plus"
+ bottom: "stage3_unit3_conv3"
+ top: "stage3_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit3_relu"
+ type: "ReLU"
+ bottom: "stage3_unit3_plus"
+ top: "stage3_unit3_plus"
+}
+
+layer {
+ name: "stage3_unit4_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit3_plus"
+ top: "stage3_unit4_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit4_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit4_bn1"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit4_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv1"
+}
+
+layer {
+ name: "stage3_unit4_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit4_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit4_bn2"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit4_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv2"
+}
+
+layer {
+ name: "stage3_unit4_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit4_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit4_conv3"
+ top: "stage3_unit4_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit4_bn3"
+ bottom: "stage3_unit4_conv3"
+ top: "stage3_unit4_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit4_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit3_plus"
+ bottom: "stage3_unit4_conv3"
+ top: "stage3_unit4_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit4_relu"
+ type: "ReLU"
+ bottom: "stage3_unit4_plus"
+ top: "stage3_unit4_plus"
+}
+
+layer {
+ name: "stage3_unit5_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit4_plus"
+ top: "stage3_unit5_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit5_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit5_bn1"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit5_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv1"
+}
+
+layer {
+ name: "stage3_unit5_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit5_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit5_bn2"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit5_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv2"
+}
+
+layer {
+ name: "stage3_unit5_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit5_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit5_conv3"
+ top: "stage3_unit5_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit5_bn3"
+ bottom: "stage3_unit5_conv3"
+ top: "stage3_unit5_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit5_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit4_plus"
+ bottom: "stage3_unit5_conv3"
+ top: "stage3_unit5_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit5_relu"
+ type: "ReLU"
+ bottom: "stage3_unit5_plus"
+ top: "stage3_unit5_plus"
+}
+
+layer {
+ name: "stage3_unit6_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit5_plus"
+ top: "stage3_unit6_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit6_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit6_bn1"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit6_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv1"
+}
+
+layer {
+ name: "stage3_unit6_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit6_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit6_bn2"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit6_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv2"
+}
+
+layer {
+ name: "stage3_unit6_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit6_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit6_conv3"
+ top: "stage3_unit6_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit6_bn3"
+ bottom: "stage3_unit6_conv3"
+ top: "stage3_unit6_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit6_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit5_plus"
+ bottom: "stage3_unit6_conv3"
+ top: "stage3_unit6_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit6_relu"
+ type: "ReLU"
+ bottom: "stage3_unit6_plus"
+ top: "stage3_unit6_plus"
+}
+
+layer {
+ name: "stage3_unit7_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit6_plus"
+ top: "stage3_unit7_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit7_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit7_conv1"
+ top: "stage3_unit7_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit7_bn1"
+ bottom: "stage3_unit7_conv1"
+ top: "stage3_unit7_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit7_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit7_conv1"
+ top: "stage3_unit7_conv1"
+}
+
+layer {
+ name: "stage3_unit7_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit7_conv1"
+ top: "stage3_unit7_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit7_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit7_conv2"
+ top: "stage3_unit7_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit7_bn2"
+ bottom: "stage3_unit7_conv2"
+ top: "stage3_unit7_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit7_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit7_conv2"
+ top: "stage3_unit7_conv2"
+}
+
+layer {
+ name: "stage3_unit7_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit7_conv2"
+ top: "stage3_unit7_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit7_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit7_conv3"
+ top: "stage3_unit7_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit7_bn3"
+ bottom: "stage3_unit7_conv3"
+ top: "stage3_unit7_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit7_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit6_plus"
+ bottom: "stage3_unit7_conv3"
+ top: "stage3_unit7_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit7_relu"
+ type: "ReLU"
+ bottom: "stage3_unit7_plus"
+ top: "stage3_unit7_plus"
+}
+
+layer {
+ name: "stage3_unit8_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit7_plus"
+ top: "stage3_unit8_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit8_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit8_conv1"
+ top: "stage3_unit8_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit8_bn1"
+ bottom: "stage3_unit8_conv1"
+ top: "stage3_unit8_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit8_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit8_conv1"
+ top: "stage3_unit8_conv1"
+}
+
+layer {
+ name: "stage3_unit8_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit8_conv1"
+ top: "stage3_unit8_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit8_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit8_conv2"
+ top: "stage3_unit8_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit8_bn2"
+ bottom: "stage3_unit8_conv2"
+ top: "stage3_unit8_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit8_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit8_conv2"
+ top: "stage3_unit8_conv2"
+}
+
+layer {
+ name: "stage3_unit8_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit8_conv2"
+ top: "stage3_unit8_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit8_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit8_conv3"
+ top: "stage3_unit8_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit8_bn3"
+ bottom: "stage3_unit8_conv3"
+ top: "stage3_unit8_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit8_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit7_plus"
+ bottom: "stage3_unit8_conv3"
+ top: "stage3_unit8_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit8_relu"
+ type: "ReLU"
+ bottom: "stage3_unit8_plus"
+ top: "stage3_unit8_plus"
+}
+
+layer {
+ name: "stage3_unit9_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit8_plus"
+ top: "stage3_unit9_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit9_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit9_conv1"
+ top: "stage3_unit9_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit9_bn1"
+ bottom: "stage3_unit9_conv1"
+ top: "stage3_unit9_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit9_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit9_conv1"
+ top: "stage3_unit9_conv1"
+}
+
+layer {
+ name: "stage3_unit9_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit9_conv1"
+ top: "stage3_unit9_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit9_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit9_conv2"
+ top: "stage3_unit9_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit9_bn2"
+ bottom: "stage3_unit9_conv2"
+ top: "stage3_unit9_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit9_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit9_conv2"
+ top: "stage3_unit9_conv2"
+}
+
+layer {
+ name: "stage3_unit9_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit9_conv2"
+ top: "stage3_unit9_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit9_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit9_conv3"
+ top: "stage3_unit9_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit9_bn3"
+ bottom: "stage3_unit9_conv3"
+ top: "stage3_unit9_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit9_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit8_plus"
+ bottom: "stage3_unit9_conv3"
+ top: "stage3_unit9_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit9_relu"
+ type: "ReLU"
+ bottom: "stage3_unit9_plus"
+ top: "stage3_unit9_plus"
+}
+
+layer {
+ name: "stage3_unit10_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit9_plus"
+ top: "stage3_unit10_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit10_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit10_conv1"
+ top: "stage3_unit10_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit10_bn1"
+ bottom: "stage3_unit10_conv1"
+ top: "stage3_unit10_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit10_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit10_conv1"
+ top: "stage3_unit10_conv1"
+}
+
+layer {
+ name: "stage3_unit10_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit10_conv1"
+ top: "stage3_unit10_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit10_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit10_conv2"
+ top: "stage3_unit10_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit10_bn2"
+ bottom: "stage3_unit10_conv2"
+ top: "stage3_unit10_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit10_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit10_conv2"
+ top: "stage3_unit10_conv2"
+}
+
+layer {
+ name: "stage3_unit10_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit10_conv2"
+ top: "stage3_unit10_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit10_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit10_conv3"
+ top: "stage3_unit10_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit10_bn3"
+ bottom: "stage3_unit10_conv3"
+ top: "stage3_unit10_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit10_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit9_plus"
+ bottom: "stage3_unit10_conv3"
+ top: "stage3_unit10_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit10_relu"
+ type: "ReLU"
+ bottom: "stage3_unit10_plus"
+ top: "stage3_unit10_plus"
+}
+
+layer {
+ name: "stage3_unit11_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit10_plus"
+ top: "stage3_unit11_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit11_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit11_conv1"
+ top: "stage3_unit11_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit11_bn1"
+ bottom: "stage3_unit11_conv1"
+ top: "stage3_unit11_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit11_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit11_conv1"
+ top: "stage3_unit11_conv1"
+}
+
+layer {
+ name: "stage3_unit11_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit11_conv1"
+ top: "stage3_unit11_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit11_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit11_conv2"
+ top: "stage3_unit11_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit11_bn2"
+ bottom: "stage3_unit11_conv2"
+ top: "stage3_unit11_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit11_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit11_conv2"
+ top: "stage3_unit11_conv2"
+}
+
+layer {
+ name: "stage3_unit11_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit11_conv2"
+ top: "stage3_unit11_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit11_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit11_conv3"
+ top: "stage3_unit11_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit11_bn3"
+ bottom: "stage3_unit11_conv3"
+ top: "stage3_unit11_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit11_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit10_plus"
+ bottom: "stage3_unit11_conv3"
+ top: "stage3_unit11_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit11_relu"
+ type: "ReLU"
+ bottom: "stage3_unit11_plus"
+ top: "stage3_unit11_plus"
+}
+
+layer {
+ name: "stage3_unit12_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit11_plus"
+ top: "stage3_unit12_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit12_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit12_conv1"
+ top: "stage3_unit12_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit12_bn1"
+ bottom: "stage3_unit12_conv1"
+ top: "stage3_unit12_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit12_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit12_conv1"
+ top: "stage3_unit12_conv1"
+}
+
+layer {
+ name: "stage3_unit12_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit12_conv1"
+ top: "stage3_unit12_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit12_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit12_conv2"
+ top: "stage3_unit12_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit12_bn2"
+ bottom: "stage3_unit12_conv2"
+ top: "stage3_unit12_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit12_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit12_conv2"
+ top: "stage3_unit12_conv2"
+}
+
+layer {
+ name: "stage3_unit12_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit12_conv2"
+ top: "stage3_unit12_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit12_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit12_conv3"
+ top: "stage3_unit12_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit12_bn3"
+ bottom: "stage3_unit12_conv3"
+ top: "stage3_unit12_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit12_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit11_plus"
+ bottom: "stage3_unit12_conv3"
+ top: "stage3_unit12_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit12_relu"
+ type: "ReLU"
+ bottom: "stage3_unit12_plus"
+ top: "stage3_unit12_plus"
+}
+
+layer {
+ name: "stage3_unit13_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit12_plus"
+ top: "stage3_unit13_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit13_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit13_conv1"
+ top: "stage3_unit13_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit13_bn1"
+ bottom: "stage3_unit13_conv1"
+ top: "stage3_unit13_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit13_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit13_conv1"
+ top: "stage3_unit13_conv1"
+}
+
+layer {
+ name: "stage3_unit13_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit13_conv1"
+ top: "stage3_unit13_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit13_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit13_conv2"
+ top: "stage3_unit13_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit13_bn2"
+ bottom: "stage3_unit13_conv2"
+ top: "stage3_unit13_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit13_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit13_conv2"
+ top: "stage3_unit13_conv2"
+}
+
+layer {
+ name: "stage3_unit13_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit13_conv2"
+ top: "stage3_unit13_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit13_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit13_conv3"
+ top: "stage3_unit13_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit13_bn3"
+ bottom: "stage3_unit13_conv3"
+ top: "stage3_unit13_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit13_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit12_plus"
+ bottom: "stage3_unit13_conv3"
+ top: "stage3_unit13_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit13_relu"
+ type: "ReLU"
+ bottom: "stage3_unit13_plus"
+ top: "stage3_unit13_plus"
+}
+
+layer {
+ name: "stage3_unit14_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit13_plus"
+ top: "stage3_unit14_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit14_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit14_conv1"
+ top: "stage3_unit14_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit14_bn1"
+ bottom: "stage3_unit14_conv1"
+ top: "stage3_unit14_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit14_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit14_conv1"
+ top: "stage3_unit14_conv1"
+}
+
+layer {
+ name: "stage3_unit14_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit14_conv1"
+ top: "stage3_unit14_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit14_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit14_conv2"
+ top: "stage3_unit14_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit14_bn2"
+ bottom: "stage3_unit14_conv2"
+ top: "stage3_unit14_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit14_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit14_conv2"
+ top: "stage3_unit14_conv2"
+}
+
+layer {
+ name: "stage3_unit14_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit14_conv2"
+ top: "stage3_unit14_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit14_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit14_conv3"
+ top: "stage3_unit14_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit14_bn3"
+ bottom: "stage3_unit14_conv3"
+ top: "stage3_unit14_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit14_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit13_plus"
+ bottom: "stage3_unit14_conv3"
+ top: "stage3_unit14_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit14_relu"
+ type: "ReLU"
+ bottom: "stage3_unit14_plus"
+ top: "stage3_unit14_plus"
+}
+
+layer {
+ name: "stage3_unit15_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit14_plus"
+ top: "stage3_unit15_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit15_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit15_conv1"
+ top: "stage3_unit15_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit15_bn1"
+ bottom: "stage3_unit15_conv1"
+ top: "stage3_unit15_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit15_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit15_conv1"
+ top: "stage3_unit15_conv1"
+}
+
+layer {
+ name: "stage3_unit15_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit15_conv1"
+ top: "stage3_unit15_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit15_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit15_conv2"
+ top: "stage3_unit15_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit15_bn2"
+ bottom: "stage3_unit15_conv2"
+ top: "stage3_unit15_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit15_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit15_conv2"
+ top: "stage3_unit15_conv2"
+}
+
+layer {
+ name: "stage3_unit15_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit15_conv2"
+ top: "stage3_unit15_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit15_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit15_conv3"
+ top: "stage3_unit15_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit15_bn3"
+ bottom: "stage3_unit15_conv3"
+ top: "stage3_unit15_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit15_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit14_plus"
+ bottom: "stage3_unit15_conv3"
+ top: "stage3_unit15_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit15_relu"
+ type: "ReLU"
+ bottom: "stage3_unit15_plus"
+ top: "stage3_unit15_plus"
+}
+
+layer {
+ name: "stage3_unit16_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit15_plus"
+ top: "stage3_unit16_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit16_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit16_conv1"
+ top: "stage3_unit16_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit16_bn1"
+ bottom: "stage3_unit16_conv1"
+ top: "stage3_unit16_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit16_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit16_conv1"
+ top: "stage3_unit16_conv1"
+}
+
+layer {
+ name: "stage3_unit16_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit16_conv1"
+ top: "stage3_unit16_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit16_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit16_conv2"
+ top: "stage3_unit16_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit16_bn2"
+ bottom: "stage3_unit16_conv2"
+ top: "stage3_unit16_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit16_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit16_conv2"
+ top: "stage3_unit16_conv2"
+}
+
+layer {
+ name: "stage3_unit16_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit16_conv2"
+ top: "stage3_unit16_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit16_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit16_conv3"
+ top: "stage3_unit16_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit16_bn3"
+ bottom: "stage3_unit16_conv3"
+ top: "stage3_unit16_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit16_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit15_plus"
+ bottom: "stage3_unit16_conv3"
+ top: "stage3_unit16_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit16_relu"
+ type: "ReLU"
+ bottom: "stage3_unit16_plus"
+ top: "stage3_unit16_plus"
+}
+
+layer {
+ name: "stage3_unit17_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit16_plus"
+ top: "stage3_unit17_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit17_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit17_conv1"
+ top: "stage3_unit17_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit17_bn1"
+ bottom: "stage3_unit17_conv1"
+ top: "stage3_unit17_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit17_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit17_conv1"
+ top: "stage3_unit17_conv1"
+}
+
+layer {
+ name: "stage3_unit17_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit17_conv1"
+ top: "stage3_unit17_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit17_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit17_conv2"
+ top: "stage3_unit17_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit17_bn2"
+ bottom: "stage3_unit17_conv2"
+ top: "stage3_unit17_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit17_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit17_conv2"
+ top: "stage3_unit17_conv2"
+}
+
+layer {
+ name: "stage3_unit17_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit17_conv2"
+ top: "stage3_unit17_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit17_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit17_conv3"
+ top: "stage3_unit17_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit17_bn3"
+ bottom: "stage3_unit17_conv3"
+ top: "stage3_unit17_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit17_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit16_plus"
+ bottom: "stage3_unit17_conv3"
+ top: "stage3_unit17_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit17_relu"
+ type: "ReLU"
+ bottom: "stage3_unit17_plus"
+ top: "stage3_unit17_plus"
+}
+
+layer {
+ name: "stage3_unit18_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit17_plus"
+ top: "stage3_unit18_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit18_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit18_conv1"
+ top: "stage3_unit18_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit18_bn1"
+ bottom: "stage3_unit18_conv1"
+ top: "stage3_unit18_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit18_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit18_conv1"
+ top: "stage3_unit18_conv1"
+}
+
+layer {
+ name: "stage3_unit18_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit18_conv1"
+ top: "stage3_unit18_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit18_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit18_conv2"
+ top: "stage3_unit18_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit18_bn2"
+ bottom: "stage3_unit18_conv2"
+ top: "stage3_unit18_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit18_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit18_conv2"
+ top: "stage3_unit18_conv2"
+}
+
+layer {
+ name: "stage3_unit18_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit18_conv2"
+ top: "stage3_unit18_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit18_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit18_conv3"
+ top: "stage3_unit18_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit18_bn3"
+ bottom: "stage3_unit18_conv3"
+ top: "stage3_unit18_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit18_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit17_plus"
+ bottom: "stage3_unit18_conv3"
+ top: "stage3_unit18_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit18_relu"
+ type: "ReLU"
+ bottom: "stage3_unit18_plus"
+ top: "stage3_unit18_plus"
+}
+
+layer {
+ name: "stage3_unit19_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit18_plus"
+ top: "stage3_unit19_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit19_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit19_conv1"
+ top: "stage3_unit19_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit19_bn1"
+ bottom: "stage3_unit19_conv1"
+ top: "stage3_unit19_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit19_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit19_conv1"
+ top: "stage3_unit19_conv1"
+}
+
+layer {
+ name: "stage3_unit19_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit19_conv1"
+ top: "stage3_unit19_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit19_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit19_conv2"
+ top: "stage3_unit19_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit19_bn2"
+ bottom: "stage3_unit19_conv2"
+ top: "stage3_unit19_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit19_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit19_conv2"
+ top: "stage3_unit19_conv2"
+}
+
+layer {
+ name: "stage3_unit19_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit19_conv2"
+ top: "stage3_unit19_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit19_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit19_conv3"
+ top: "stage3_unit19_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit19_bn3"
+ bottom: "stage3_unit19_conv3"
+ top: "stage3_unit19_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit19_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit18_plus"
+ bottom: "stage3_unit19_conv3"
+ top: "stage3_unit19_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit19_relu"
+ type: "ReLU"
+ bottom: "stage3_unit19_plus"
+ top: "stage3_unit19_plus"
+}
+
+layer {
+ name: "stage3_unit20_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit19_plus"
+ top: "stage3_unit20_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit20_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit20_conv1"
+ top: "stage3_unit20_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit20_bn1"
+ bottom: "stage3_unit20_conv1"
+ top: "stage3_unit20_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit20_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit20_conv1"
+ top: "stage3_unit20_conv1"
+}
+
+layer {
+ name: "stage3_unit20_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit20_conv1"
+ top: "stage3_unit20_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit20_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit20_conv2"
+ top: "stage3_unit20_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit20_bn2"
+ bottom: "stage3_unit20_conv2"
+ top: "stage3_unit20_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit20_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit20_conv2"
+ top: "stage3_unit20_conv2"
+}
+
+layer {
+ name: "stage3_unit20_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit20_conv2"
+ top: "stage3_unit20_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit20_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit20_conv3"
+ top: "stage3_unit20_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit20_bn3"
+ bottom: "stage3_unit20_conv3"
+ top: "stage3_unit20_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit20_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit19_plus"
+ bottom: "stage3_unit20_conv3"
+ top: "stage3_unit20_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit20_relu"
+ type: "ReLU"
+ bottom: "stage3_unit20_plus"
+ top: "stage3_unit20_plus"
+}
+
+layer {
+ name: "stage3_unit21_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit20_plus"
+ top: "stage3_unit21_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit21_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit21_conv1"
+ top: "stage3_unit21_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit21_bn1"
+ bottom: "stage3_unit21_conv1"
+ top: "stage3_unit21_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit21_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit21_conv1"
+ top: "stage3_unit21_conv1"
+}
+
+layer {
+ name: "stage3_unit21_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit21_conv1"
+ top: "stage3_unit21_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit21_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit21_conv2"
+ top: "stage3_unit21_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit21_bn2"
+ bottom: "stage3_unit21_conv2"
+ top: "stage3_unit21_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit21_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit21_conv2"
+ top: "stage3_unit21_conv2"
+}
+
+layer {
+ name: "stage3_unit21_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit21_conv2"
+ top: "stage3_unit21_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit21_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit21_conv3"
+ top: "stage3_unit21_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit21_bn3"
+ bottom: "stage3_unit21_conv3"
+ top: "stage3_unit21_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit21_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit20_plus"
+ bottom: "stage3_unit21_conv3"
+ top: "stage3_unit21_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit21_relu"
+ type: "ReLU"
+ bottom: "stage3_unit21_plus"
+ top: "stage3_unit21_plus"
+}
+
+layer {
+ name: "stage3_unit22_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit21_plus"
+ top: "stage3_unit22_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit22_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit22_conv1"
+ top: "stage3_unit22_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit22_bn1"
+ bottom: "stage3_unit22_conv1"
+ top: "stage3_unit22_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit22_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit22_conv1"
+ top: "stage3_unit22_conv1"
+}
+
+layer {
+ name: "stage3_unit22_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit22_conv1"
+ top: "stage3_unit22_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit22_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit22_conv2"
+ top: "stage3_unit22_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit22_bn2"
+ bottom: "stage3_unit22_conv2"
+ top: "stage3_unit22_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit22_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit22_conv2"
+ top: "stage3_unit22_conv2"
+}
+
+layer {
+ name: "stage3_unit22_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit22_conv2"
+ top: "stage3_unit22_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit22_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit22_conv3"
+ top: "stage3_unit22_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit22_bn3"
+ bottom: "stage3_unit22_conv3"
+ top: "stage3_unit22_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit22_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit21_plus"
+ bottom: "stage3_unit22_conv3"
+ top: "stage3_unit22_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit22_relu"
+ type: "ReLU"
+ bottom: "stage3_unit22_plus"
+ top: "stage3_unit22_plus"
+}
+
+layer {
+ name: "stage3_unit23_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit22_plus"
+ top: "stage3_unit23_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit23_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit23_conv1"
+ top: "stage3_unit23_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit23_bn1"
+ bottom: "stage3_unit23_conv1"
+ top: "stage3_unit23_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit23_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit23_conv1"
+ top: "stage3_unit23_conv1"
+}
+
+layer {
+ name: "stage3_unit23_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit23_conv1"
+ top: "stage3_unit23_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit23_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit23_conv2"
+ top: "stage3_unit23_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit23_bn2"
+ bottom: "stage3_unit23_conv2"
+ top: "stage3_unit23_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit23_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit23_conv2"
+ top: "stage3_unit23_conv2"
+}
+
+layer {
+ name: "stage3_unit23_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit23_conv2"
+ top: "stage3_unit23_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit23_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit23_conv3"
+ top: "stage3_unit23_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit23_bn3"
+ bottom: "stage3_unit23_conv3"
+ top: "stage3_unit23_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit23_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit22_plus"
+ bottom: "stage3_unit23_conv3"
+ top: "stage3_unit23_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit23_relu"
+ type: "ReLU"
+ bottom: "stage3_unit23_plus"
+ top: "stage3_unit23_plus"
+}
+
+layer {
+ name: "stage3_unit24_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit23_plus"
+ top: "stage3_unit24_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit24_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit24_conv1"
+ top: "stage3_unit24_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit24_bn1"
+ bottom: "stage3_unit24_conv1"
+ top: "stage3_unit24_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit24_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit24_conv1"
+ top: "stage3_unit24_conv1"
+}
+
+layer {
+ name: "stage3_unit24_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit24_conv1"
+ top: "stage3_unit24_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit24_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit24_conv2"
+ top: "stage3_unit24_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit24_bn2"
+ bottom: "stage3_unit24_conv2"
+ top: "stage3_unit24_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit24_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit24_conv2"
+ top: "stage3_unit24_conv2"
+}
+
+layer {
+ name: "stage3_unit24_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit24_conv2"
+ top: "stage3_unit24_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit24_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit24_conv3"
+ top: "stage3_unit24_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit24_bn3"
+ bottom: "stage3_unit24_conv3"
+ top: "stage3_unit24_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit24_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit23_plus"
+ bottom: "stage3_unit24_conv3"
+ top: "stage3_unit24_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit24_relu"
+ type: "ReLU"
+ bottom: "stage3_unit24_plus"
+ top: "stage3_unit24_plus"
+}
+
+layer {
+ name: "stage3_unit25_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit24_plus"
+ top: "stage3_unit25_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit25_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit25_conv1"
+ top: "stage3_unit25_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit25_bn1"
+ bottom: "stage3_unit25_conv1"
+ top: "stage3_unit25_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit25_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit25_conv1"
+ top: "stage3_unit25_conv1"
+}
+
+layer {
+ name: "stage3_unit25_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit25_conv1"
+ top: "stage3_unit25_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit25_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit25_conv2"
+ top: "stage3_unit25_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit25_bn2"
+ bottom: "stage3_unit25_conv2"
+ top: "stage3_unit25_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit25_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit25_conv2"
+ top: "stage3_unit25_conv2"
+}
+
+layer {
+ name: "stage3_unit25_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit25_conv2"
+ top: "stage3_unit25_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit25_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit25_conv3"
+ top: "stage3_unit25_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit25_bn3"
+ bottom: "stage3_unit25_conv3"
+ top: "stage3_unit25_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit25_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit24_plus"
+ bottom: "stage3_unit25_conv3"
+ top: "stage3_unit25_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit25_relu"
+ type: "ReLU"
+ bottom: "stage3_unit25_plus"
+ top: "stage3_unit25_plus"
+}
+
+layer {
+ name: "stage3_unit26_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit25_plus"
+ top: "stage3_unit26_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit26_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit26_conv1"
+ top: "stage3_unit26_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit26_bn1"
+ bottom: "stage3_unit26_conv1"
+ top: "stage3_unit26_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit26_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit26_conv1"
+ top: "stage3_unit26_conv1"
+}
+
+layer {
+ name: "stage3_unit26_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit26_conv1"
+ top: "stage3_unit26_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit26_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit26_conv2"
+ top: "stage3_unit26_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit26_bn2"
+ bottom: "stage3_unit26_conv2"
+ top: "stage3_unit26_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit26_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit26_conv2"
+ top: "stage3_unit26_conv2"
+}
+
+layer {
+ name: "stage3_unit26_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit26_conv2"
+ top: "stage3_unit26_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit26_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit26_conv3"
+ top: "stage3_unit26_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit26_bn3"
+ bottom: "stage3_unit26_conv3"
+ top: "stage3_unit26_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit26_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit25_plus"
+ bottom: "stage3_unit26_conv3"
+ top: "stage3_unit26_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit26_relu"
+ type: "ReLU"
+ bottom: "stage3_unit26_plus"
+ top: "stage3_unit26_plus"
+}
+
+layer {
+ name: "stage3_unit27_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit26_plus"
+ top: "stage3_unit27_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit27_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit27_conv1"
+ top: "stage3_unit27_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit27_bn1"
+ bottom: "stage3_unit27_conv1"
+ top: "stage3_unit27_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit27_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit27_conv1"
+ top: "stage3_unit27_conv1"
+}
+
+layer {
+ name: "stage3_unit27_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit27_conv1"
+ top: "stage3_unit27_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit27_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit27_conv2"
+ top: "stage3_unit27_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit27_bn2"
+ bottom: "stage3_unit27_conv2"
+ top: "stage3_unit27_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit27_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit27_conv2"
+ top: "stage3_unit27_conv2"
+}
+
+layer {
+ name: "stage3_unit27_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit27_conv2"
+ top: "stage3_unit27_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit27_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit27_conv3"
+ top: "stage3_unit27_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit27_bn3"
+ bottom: "stage3_unit27_conv3"
+ top: "stage3_unit27_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit27_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit26_plus"
+ bottom: "stage3_unit27_conv3"
+ top: "stage3_unit27_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit27_relu"
+ type: "ReLU"
+ bottom: "stage3_unit27_plus"
+ top: "stage3_unit27_plus"
+}
+
+layer {
+ name: "stage3_unit28_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit27_plus"
+ top: "stage3_unit28_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit28_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit28_conv1"
+ top: "stage3_unit28_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit28_bn1"
+ bottom: "stage3_unit28_conv1"
+ top: "stage3_unit28_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit28_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit28_conv1"
+ top: "stage3_unit28_conv1"
+}
+
+layer {
+ name: "stage3_unit28_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit28_conv1"
+ top: "stage3_unit28_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit28_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit28_conv2"
+ top: "stage3_unit28_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit28_bn2"
+ bottom: "stage3_unit28_conv2"
+ top: "stage3_unit28_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit28_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit28_conv2"
+ top: "stage3_unit28_conv2"
+}
+
+layer {
+ name: "stage3_unit28_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit28_conv2"
+ top: "stage3_unit28_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit28_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit28_conv3"
+ top: "stage3_unit28_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit28_bn3"
+ bottom: "stage3_unit28_conv3"
+ top: "stage3_unit28_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit28_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit27_plus"
+ bottom: "stage3_unit28_conv3"
+ top: "stage3_unit28_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit28_relu"
+ type: "ReLU"
+ bottom: "stage3_unit28_plus"
+ top: "stage3_unit28_plus"
+}
+
+layer {
+ name: "stage3_unit29_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit28_plus"
+ top: "stage3_unit29_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit29_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit29_conv1"
+ top: "stage3_unit29_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit29_bn1"
+ bottom: "stage3_unit29_conv1"
+ top: "stage3_unit29_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit29_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit29_conv1"
+ top: "stage3_unit29_conv1"
+}
+
+layer {
+ name: "stage3_unit29_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit29_conv1"
+ top: "stage3_unit29_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit29_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit29_conv2"
+ top: "stage3_unit29_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit29_bn2"
+ bottom: "stage3_unit29_conv2"
+ top: "stage3_unit29_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit29_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit29_conv2"
+ top: "stage3_unit29_conv2"
+}
+
+layer {
+ name: "stage3_unit29_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit29_conv2"
+ top: "stage3_unit29_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit29_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit29_conv3"
+ top: "stage3_unit29_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit29_bn3"
+ bottom: "stage3_unit29_conv3"
+ top: "stage3_unit29_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit29_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit28_plus"
+ bottom: "stage3_unit29_conv3"
+ top: "stage3_unit29_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit29_relu"
+ type: "ReLU"
+ bottom: "stage3_unit29_plus"
+ top: "stage3_unit29_plus"
+}
+
+layer {
+ name: "stage3_unit30_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit29_plus"
+ top: "stage3_unit30_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit30_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit30_conv1"
+ top: "stage3_unit30_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit30_bn1"
+ bottom: "stage3_unit30_conv1"
+ top: "stage3_unit30_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit30_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit30_conv1"
+ top: "stage3_unit30_conv1"
+}
+
+layer {
+ name: "stage3_unit30_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit30_conv1"
+ top: "stage3_unit30_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit30_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit30_conv2"
+ top: "stage3_unit30_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit30_bn2"
+ bottom: "stage3_unit30_conv2"
+ top: "stage3_unit30_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit30_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit30_conv2"
+ top: "stage3_unit30_conv2"
+}
+
+layer {
+ name: "stage3_unit30_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit30_conv2"
+ top: "stage3_unit30_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit30_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit30_conv3"
+ top: "stage3_unit30_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit30_bn3"
+ bottom: "stage3_unit30_conv3"
+ top: "stage3_unit30_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit30_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit29_plus"
+ bottom: "stage3_unit30_conv3"
+ top: "stage3_unit30_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit30_relu"
+ type: "ReLU"
+ bottom: "stage3_unit30_plus"
+ top: "stage3_unit30_plus"
+}
+
+layer {
+ name: "stage3_unit31_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit30_plus"
+ top: "stage3_unit31_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit31_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit31_conv1"
+ top: "stage3_unit31_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit31_bn1"
+ bottom: "stage3_unit31_conv1"
+ top: "stage3_unit31_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit31_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit31_conv1"
+ top: "stage3_unit31_conv1"
+}
+
+layer {
+ name: "stage3_unit31_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit31_conv1"
+ top: "stage3_unit31_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit31_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit31_conv2"
+ top: "stage3_unit31_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit31_bn2"
+ bottom: "stage3_unit31_conv2"
+ top: "stage3_unit31_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit31_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit31_conv2"
+ top: "stage3_unit31_conv2"
+}
+
+layer {
+ name: "stage3_unit31_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit31_conv2"
+ top: "stage3_unit31_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit31_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit31_conv3"
+ top: "stage3_unit31_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit31_bn3"
+ bottom: "stage3_unit31_conv3"
+ top: "stage3_unit31_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit31_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit30_plus"
+ bottom: "stage3_unit31_conv3"
+ top: "stage3_unit31_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit31_relu"
+ type: "ReLU"
+ bottom: "stage3_unit31_plus"
+ top: "stage3_unit31_plus"
+}
+
+layer {
+ name: "stage3_unit32_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit31_plus"
+ top: "stage3_unit32_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit32_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit32_conv1"
+ top: "stage3_unit32_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit32_bn1"
+ bottom: "stage3_unit32_conv1"
+ top: "stage3_unit32_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit32_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit32_conv1"
+ top: "stage3_unit32_conv1"
+}
+
+layer {
+ name: "stage3_unit32_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit32_conv1"
+ top: "stage3_unit32_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit32_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit32_conv2"
+ top: "stage3_unit32_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit32_bn2"
+ bottom: "stage3_unit32_conv2"
+ top: "stage3_unit32_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit32_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit32_conv2"
+ top: "stage3_unit32_conv2"
+}
+
+layer {
+ name: "stage3_unit32_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit32_conv2"
+ top: "stage3_unit32_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit32_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit32_conv3"
+ top: "stage3_unit32_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit32_bn3"
+ bottom: "stage3_unit32_conv3"
+ top: "stage3_unit32_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit32_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit31_plus"
+ bottom: "stage3_unit32_conv3"
+ top: "stage3_unit32_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit32_relu"
+ type: "ReLU"
+ bottom: "stage3_unit32_plus"
+ top: "stage3_unit32_plus"
+}
+
+layer {
+ name: "stage3_unit33_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit32_plus"
+ top: "stage3_unit33_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit33_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit33_conv1"
+ top: "stage3_unit33_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit33_bn1"
+ bottom: "stage3_unit33_conv1"
+ top: "stage3_unit33_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit33_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit33_conv1"
+ top: "stage3_unit33_conv1"
+}
+
+layer {
+ name: "stage3_unit33_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit33_conv1"
+ top: "stage3_unit33_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit33_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit33_conv2"
+ top: "stage3_unit33_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit33_bn2"
+ bottom: "stage3_unit33_conv2"
+ top: "stage3_unit33_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit33_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit33_conv2"
+ top: "stage3_unit33_conv2"
+}
+
+layer {
+ name: "stage3_unit33_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit33_conv2"
+ top: "stage3_unit33_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit33_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit33_conv3"
+ top: "stage3_unit33_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit33_bn3"
+ bottom: "stage3_unit33_conv3"
+ top: "stage3_unit33_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit33_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit32_plus"
+ bottom: "stage3_unit33_conv3"
+ top: "stage3_unit33_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit33_relu"
+ type: "ReLU"
+ bottom: "stage3_unit33_plus"
+ top: "stage3_unit33_plus"
+}
+
+layer {
+ name: "stage3_unit34_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit33_plus"
+ top: "stage3_unit34_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit34_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit34_conv1"
+ top: "stage3_unit34_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit34_bn1"
+ bottom: "stage3_unit34_conv1"
+ top: "stage3_unit34_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit34_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit34_conv1"
+ top: "stage3_unit34_conv1"
+}
+
+layer {
+ name: "stage3_unit34_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit34_conv1"
+ top: "stage3_unit34_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit34_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit34_conv2"
+ top: "stage3_unit34_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit34_bn2"
+ bottom: "stage3_unit34_conv2"
+ top: "stage3_unit34_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit34_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit34_conv2"
+ top: "stage3_unit34_conv2"
+}
+
+layer {
+ name: "stage3_unit34_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit34_conv2"
+ top: "stage3_unit34_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit34_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit34_conv3"
+ top: "stage3_unit34_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit34_bn3"
+ bottom: "stage3_unit34_conv3"
+ top: "stage3_unit34_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit34_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit33_plus"
+ bottom: "stage3_unit34_conv3"
+ top: "stage3_unit34_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit34_relu"
+ type: "ReLU"
+ bottom: "stage3_unit34_plus"
+ top: "stage3_unit34_plus"
+}
+
+layer {
+ name: "stage3_unit35_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit34_plus"
+ top: "stage3_unit35_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit35_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit35_conv1"
+ top: "stage3_unit35_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit35_bn1"
+ bottom: "stage3_unit35_conv1"
+ top: "stage3_unit35_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit35_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit35_conv1"
+ top: "stage3_unit35_conv1"
+}
+
+layer {
+ name: "stage3_unit35_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit35_conv1"
+ top: "stage3_unit35_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit35_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit35_conv2"
+ top: "stage3_unit35_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit35_bn2"
+ bottom: "stage3_unit35_conv2"
+ top: "stage3_unit35_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit35_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit35_conv2"
+ top: "stage3_unit35_conv2"
+}
+
+layer {
+ name: "stage3_unit35_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit35_conv2"
+ top: "stage3_unit35_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit35_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit35_conv3"
+ top: "stage3_unit35_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit35_bn3"
+ bottom: "stage3_unit35_conv3"
+ top: "stage3_unit35_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit35_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit34_plus"
+ bottom: "stage3_unit35_conv3"
+ top: "stage3_unit35_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit35_relu"
+ type: "ReLU"
+ bottom: "stage3_unit35_plus"
+ top: "stage3_unit35_plus"
+}
+
+layer {
+ name: "stage3_unit36_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit35_plus"
+ top: "stage3_unit36_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit36_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit36_conv1"
+ top: "stage3_unit36_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit36_bn1"
+ bottom: "stage3_unit36_conv1"
+ top: "stage3_unit36_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit36_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit36_conv1"
+ top: "stage3_unit36_conv1"
+}
+
+layer {
+ name: "stage3_unit36_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit36_conv1"
+ top: "stage3_unit36_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit36_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit36_conv2"
+ top: "stage3_unit36_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit36_bn2"
+ bottom: "stage3_unit36_conv2"
+ top: "stage3_unit36_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit36_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit36_conv2"
+ top: "stage3_unit36_conv2"
+}
+
+layer {
+ name: "stage3_unit36_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit36_conv2"
+ top: "stage3_unit36_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit36_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit36_conv3"
+ top: "stage3_unit36_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit36_bn3"
+ bottom: "stage3_unit36_conv3"
+ top: "stage3_unit36_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit36_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit35_plus"
+ bottom: "stage3_unit36_conv3"
+ top: "stage3_unit36_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit36_relu"
+ type: "ReLU"
+ bottom: "stage3_unit36_plus"
+ top: "stage3_unit36_plus"
+}
+
+layer {
+ name: "stage4_unit1_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit36_plus"
+ top: "stage4_unit1_conv1"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_bn1"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv1"
+}
+
+layer {
+ name: "stage4_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv2"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 3
+ stride: 2
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_bn2"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv2"
+}
+
+layer {
+ name: "stage4_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv3"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_conv3"
+ top: "stage4_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_bn3"
+ bottom: "stage4_unit1_conv3"
+ top: "stage4_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_sc"
+ type: "Convolution"
+ bottom: "stage3_unit36_plus"
+ top: "stage4_unit1_sc"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 2
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_sc"
+ top: "stage4_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_sc_bn"
+ bottom: "stage4_unit1_sc"
+ top: "stage4_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage4_unit1_sc"
+ bottom: "stage4_unit1_conv3"
+ top: "stage4_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage4_unit1_relu"
+ type: "ReLU"
+ bottom: "stage4_unit1_plus"
+ top: "stage4_unit1_plus"
+}
+
+layer {
+ name: "stage4_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage4_unit1_plus"
+ top: "stage4_unit2_conv1"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit2_bn1"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv1"
+}
+
+layer {
+ name: "stage4_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv2"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit2_bn2"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv2"
+}
+
+layer {
+ name: "stage4_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv3"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage4_unit2_conv3"
+ top: "stage4_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit2_bn3"
+ bottom: "stage4_unit2_conv3"
+ top: "stage4_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage4_unit1_plus"
+ bottom: "stage4_unit2_conv3"
+ top: "stage4_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage4_unit2_relu"
+ type: "ReLU"
+ bottom: "stage4_unit2_plus"
+ top: "stage4_unit2_plus"
+}
+
+layer {
+ name: "stage4_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage4_unit2_plus"
+ top: "stage4_unit3_conv1"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit3_bn1"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv1"
+}
+
+layer {
+ name: "stage4_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv2"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit3_bn2"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv2"
+}
+
+layer {
+ name: "stage4_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv3"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage4_unit3_conv3"
+ top: "stage4_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit3_bn3"
+ bottom: "stage4_unit3_conv3"
+ top: "stage4_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage4_unit2_plus"
+ bottom: "stage4_unit3_conv3"
+ top: "stage4_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage4_unit3_relu"
+ type: "ReLU"
+ bottom: "stage4_unit3_plus"
+ top: "stage4_unit3_plus"
+}
+
+layer {
+ name: "pool1"
+ type: "Pooling"
+ bottom: "stage4_unit3_plus"
+ top: "pool1"
+ pooling_param {
+ global_pooling : true
+ pool: AVE
+ }
+}
+
+layer {
+ name: "fc1"
+ type: "InnerProduct"
+ bottom: "pool1"
+ top: "fc1"
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
+ inner_product_param {
+ num_output: 1000
+ weight_filler {
+ type: "xavier"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0
+ }
+ }
+}
+
+layer {
+ name: "prob"
+ type: "Softmax"
+ bottom: "fc1"
+ top: "prob"
+}
+
diff --git a/example/caffe/resnext50.prototxt b/example/caffe/resnext50.prototxt
new file mode 100644
index 000000000..3bfd3e760
--- /dev/null
+++ b/example/caffe/resnext50.prototxt
@@ -0,0 +1,2474 @@
+name: "ResNeXt-50"
+layer {
+ name: "data"
+ type: "Input"
+ top: "data"
+ input_param { shape: { dim: 1 dim: 3 dim: 224 dim: 224 } }
+}
+
+layer {
+ name: "bn_data"
+ type: "BatchNorm"
+ bottom: "data"
+ top: "data"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_bn_data"
+ bottom: "data"
+ top: "data"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "conv0"
+ type: "Convolution"
+ bottom: "data"
+ top: "conv0"
+ convolution_param {
+ num_output: 64
+ kernel_size: 7
+ stride: 2
+ pad: 3
+ bias_term: false
+ }
+}
+
+layer {
+ name: "bn0"
+ type: "BatchNorm"
+ bottom: "conv0"
+ top: "conv0"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_bn0"
+ bottom: "conv0"
+ top: "conv0"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "relu0"
+ type: "ReLU"
+ bottom: "conv0"
+ top: "conv0"
+}
+
+layer {
+ name: "pooling0"
+ type: "Pooling"
+ bottom: "conv0"
+ top: "pooling0"
+ pooling_param {
+ pool: MAX
+ kernel_size: 3
+ stride: 2
+ }
+}
+
+layer {
+ name: "stage1_unit1_conv1"
+ type: "Convolution"
+ bottom: "pooling0"
+ top: "stage1_unit1_conv1"
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_bn1"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv1"
+}
+
+layer {
+ name: "stage1_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage1_unit1_conv1"
+ top: "stage1_unit1_conv2"
+ convolution_param {
+ num_output: 128
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_bn2"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv2"
+}
+
+layer {
+ name: "stage1_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage1_unit1_conv2"
+ top: "stage1_unit1_conv3"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_conv3"
+ top: "stage1_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_bn3"
+ bottom: "stage1_unit1_conv3"
+ top: "stage1_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_sc"
+ type: "Convolution"
+ bottom: "pooling0"
+ top: "stage1_unit1_sc"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage1_unit1_sc"
+ top: "stage1_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit1_sc_bn"
+ bottom: "stage1_unit1_sc"
+ top: "stage1_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage1_unit1_sc"
+ bottom: "stage1_unit1_conv3"
+ top: "stage1_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage1_unit1_relu"
+ type: "ReLU"
+ bottom: "stage1_unit1_plus"
+ top: "stage1_unit1_plus"
+}
+
+layer {
+ name: "stage1_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage1_unit1_plus"
+ top: "stage1_unit2_conv1"
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit2_bn1"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv1"
+}
+
+layer {
+ name: "stage1_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage1_unit2_conv1"
+ top: "stage1_unit2_conv2"
+ convolution_param {
+ num_output: 128
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit2_bn2"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv2"
+}
+
+layer {
+ name: "stage1_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage1_unit2_conv2"
+ top: "stage1_unit2_conv3"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage1_unit2_conv3"
+ top: "stage1_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit2_bn3"
+ bottom: "stage1_unit2_conv3"
+ top: "stage1_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage1_unit1_plus"
+ bottom: "stage1_unit2_conv3"
+ top: "stage1_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage1_unit2_relu"
+ type: "ReLU"
+ bottom: "stage1_unit2_plus"
+ top: "stage1_unit2_plus"
+}
+
+layer {
+ name: "stage1_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage1_unit2_plus"
+ top: "stage1_unit3_conv1"
+ convolution_param {
+ num_output: 128
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit3_bn1"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv1"
+}
+
+layer {
+ name: "stage1_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage1_unit3_conv1"
+ top: "stage1_unit3_conv2"
+ convolution_param {
+ num_output: 128
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit3_bn2"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv2"
+}
+
+layer {
+ name: "stage1_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage1_unit3_conv2"
+ top: "stage1_unit3_conv3"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage1_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage1_unit3_conv3"
+ top: "stage1_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage1_unit3_bn3"
+ bottom: "stage1_unit3_conv3"
+ top: "stage1_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage1_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage1_unit2_plus"
+ bottom: "stage1_unit3_conv3"
+ top: "stage1_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage1_unit3_relu"
+ type: "ReLU"
+ bottom: "stage1_unit3_plus"
+ top: "stage1_unit3_plus"
+}
+
+layer {
+ name: "stage2_unit1_conv1"
+ type: "Convolution"
+ bottom: "stage1_unit3_plus"
+ top: "stage2_unit1_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_bn1"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv1"
+}
+
+layer {
+ name: "stage2_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit1_conv1"
+ top: "stage2_unit1_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 2
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_bn2"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv2"
+}
+
+layer {
+ name: "stage2_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit1_conv2"
+ top: "stage2_unit1_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_conv3"
+ top: "stage2_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_bn3"
+ bottom: "stage2_unit1_conv3"
+ top: "stage2_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_sc"
+ type: "Convolution"
+ bottom: "stage1_unit3_plus"
+ top: "stage2_unit1_sc"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 2
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage2_unit1_sc"
+ top: "stage2_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit1_sc_bn"
+ bottom: "stage2_unit1_sc"
+ top: "stage2_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit1_sc"
+ bottom: "stage2_unit1_conv3"
+ top: "stage2_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit1_relu"
+ type: "ReLU"
+ bottom: "stage2_unit1_plus"
+ top: "stage2_unit1_plus"
+}
+
+layer {
+ name: "stage2_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit1_plus"
+ top: "stage2_unit2_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit2_bn1"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv1"
+}
+
+layer {
+ name: "stage2_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit2_conv1"
+ top: "stage2_unit2_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit2_bn2"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv2"
+}
+
+layer {
+ name: "stage2_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit2_conv2"
+ top: "stage2_unit2_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit2_conv3"
+ top: "stage2_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit2_bn3"
+ bottom: "stage2_unit2_conv3"
+ top: "stage2_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit1_plus"
+ bottom: "stage2_unit2_conv3"
+ top: "stage2_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit2_relu"
+ type: "ReLU"
+ bottom: "stage2_unit2_plus"
+ top: "stage2_unit2_plus"
+}
+
+layer {
+ name: "stage2_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit2_plus"
+ top: "stage2_unit3_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit3_bn1"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv1"
+}
+
+layer {
+ name: "stage2_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit3_conv1"
+ top: "stage2_unit3_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit3_bn2"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv2"
+}
+
+layer {
+ name: "stage2_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit3_conv2"
+ top: "stage2_unit3_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit3_conv3"
+ top: "stage2_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit3_bn3"
+ bottom: "stage2_unit3_conv3"
+ top: "stage2_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit2_plus"
+ bottom: "stage2_unit3_conv3"
+ top: "stage2_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit3_relu"
+ type: "ReLU"
+ bottom: "stage2_unit3_plus"
+ top: "stage2_unit3_plus"
+}
+
+layer {
+ name: "stage2_unit4_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit3_plus"
+ top: "stage2_unit4_conv1"
+ convolution_param {
+ num_output: 256
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit4_bn1"
+ type: "BatchNorm"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit4_bn1"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit4_relu1"
+ type: "ReLU"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv1"
+}
+
+layer {
+ name: "stage2_unit4_conv2"
+ type: "Convolution"
+ bottom: "stage2_unit4_conv1"
+ top: "stage2_unit4_conv2"
+ convolution_param {
+ num_output: 256
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit4_bn2"
+ type: "BatchNorm"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit4_bn2"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit4_relu2"
+ type: "ReLU"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv2"
+}
+
+layer {
+ name: "stage2_unit4_conv3"
+ type: "Convolution"
+ bottom: "stage2_unit4_conv2"
+ top: "stage2_unit4_conv3"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage2_unit4_bn3"
+ type: "BatchNorm"
+ bottom: "stage2_unit4_conv3"
+ top: "stage2_unit4_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage2_unit4_bn3"
+ bottom: "stage2_unit4_conv3"
+ top: "stage2_unit4_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage2_unit4_plus"
+ type: "Eltwise"
+ bottom: "stage2_unit3_plus"
+ bottom: "stage2_unit4_conv3"
+ top: "stage2_unit4_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage2_unit4_relu"
+ type: "ReLU"
+ bottom: "stage2_unit4_plus"
+ top: "stage2_unit4_plus"
+}
+
+layer {
+ name: "stage3_unit1_conv1"
+ type: "Convolution"
+ bottom: "stage2_unit4_plus"
+ top: "stage3_unit1_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_bn1"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv1"
+}
+
+layer {
+ name: "stage3_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit1_conv1"
+ top: "stage3_unit1_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 2
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_bn2"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv2"
+}
+
+layer {
+ name: "stage3_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit1_conv2"
+ top: "stage3_unit1_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_conv3"
+ top: "stage3_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_bn3"
+ bottom: "stage3_unit1_conv3"
+ top: "stage3_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_sc"
+ type: "Convolution"
+ bottom: "stage2_unit4_plus"
+ top: "stage3_unit1_sc"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 2
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage3_unit1_sc"
+ top: "stage3_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit1_sc_bn"
+ bottom: "stage3_unit1_sc"
+ top: "stage3_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit1_sc"
+ bottom: "stage3_unit1_conv3"
+ top: "stage3_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit1_relu"
+ type: "ReLU"
+ bottom: "stage3_unit1_plus"
+ top: "stage3_unit1_plus"
+}
+
+layer {
+ name: "stage3_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit1_plus"
+ top: "stage3_unit2_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit2_bn1"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv1"
+}
+
+layer {
+ name: "stage3_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit2_conv1"
+ top: "stage3_unit2_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit2_bn2"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv2"
+}
+
+layer {
+ name: "stage3_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit2_conv2"
+ top: "stage3_unit2_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit2_conv3"
+ top: "stage3_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit2_bn3"
+ bottom: "stage3_unit2_conv3"
+ top: "stage3_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit1_plus"
+ bottom: "stage3_unit2_conv3"
+ top: "stage3_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit2_relu"
+ type: "ReLU"
+ bottom: "stage3_unit2_plus"
+ top: "stage3_unit2_plus"
+}
+
+layer {
+ name: "stage3_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit2_plus"
+ top: "stage3_unit3_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit3_bn1"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv1"
+}
+
+layer {
+ name: "stage3_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit3_conv1"
+ top: "stage3_unit3_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit3_bn2"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv2"
+}
+
+layer {
+ name: "stage3_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit3_conv2"
+ top: "stage3_unit3_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit3_conv3"
+ top: "stage3_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit3_bn3"
+ bottom: "stage3_unit3_conv3"
+ top: "stage3_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit2_plus"
+ bottom: "stage3_unit3_conv3"
+ top: "stage3_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit3_relu"
+ type: "ReLU"
+ bottom: "stage3_unit3_plus"
+ top: "stage3_unit3_plus"
+}
+
+layer {
+ name: "stage3_unit4_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit3_plus"
+ top: "stage3_unit4_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit4_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit4_bn1"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit4_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv1"
+}
+
+layer {
+ name: "stage3_unit4_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit4_conv1"
+ top: "stage3_unit4_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit4_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit4_bn2"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit4_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv2"
+}
+
+layer {
+ name: "stage3_unit4_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit4_conv2"
+ top: "stage3_unit4_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit4_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit4_conv3"
+ top: "stage3_unit4_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit4_bn3"
+ bottom: "stage3_unit4_conv3"
+ top: "stage3_unit4_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit4_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit3_plus"
+ bottom: "stage3_unit4_conv3"
+ top: "stage3_unit4_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit4_relu"
+ type: "ReLU"
+ bottom: "stage3_unit4_plus"
+ top: "stage3_unit4_plus"
+}
+
+layer {
+ name: "stage3_unit5_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit4_plus"
+ top: "stage3_unit5_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit5_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit5_bn1"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit5_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv1"
+}
+
+layer {
+ name: "stage3_unit5_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit5_conv1"
+ top: "stage3_unit5_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit5_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit5_bn2"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit5_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv2"
+}
+
+layer {
+ name: "stage3_unit5_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit5_conv2"
+ top: "stage3_unit5_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit5_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit5_conv3"
+ top: "stage3_unit5_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit5_bn3"
+ bottom: "stage3_unit5_conv3"
+ top: "stage3_unit5_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit5_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit4_plus"
+ bottom: "stage3_unit5_conv3"
+ top: "stage3_unit5_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit5_relu"
+ type: "ReLU"
+ bottom: "stage3_unit5_plus"
+ top: "stage3_unit5_plus"
+}
+
+layer {
+ name: "stage3_unit6_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit5_plus"
+ top: "stage3_unit6_conv1"
+ convolution_param {
+ num_output: 512
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit6_bn1"
+ type: "BatchNorm"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit6_bn1"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit6_relu1"
+ type: "ReLU"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv1"
+}
+
+layer {
+ name: "stage3_unit6_conv2"
+ type: "Convolution"
+ bottom: "stage3_unit6_conv1"
+ top: "stage3_unit6_conv2"
+ convolution_param {
+ num_output: 512
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit6_bn2"
+ type: "BatchNorm"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit6_bn2"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit6_relu2"
+ type: "ReLU"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv2"
+}
+
+layer {
+ name: "stage3_unit6_conv3"
+ type: "Convolution"
+ bottom: "stage3_unit6_conv2"
+ top: "stage3_unit6_conv3"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage3_unit6_bn3"
+ type: "BatchNorm"
+ bottom: "stage3_unit6_conv3"
+ top: "stage3_unit6_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage3_unit6_bn3"
+ bottom: "stage3_unit6_conv3"
+ top: "stage3_unit6_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage3_unit6_plus"
+ type: "Eltwise"
+ bottom: "stage3_unit5_plus"
+ bottom: "stage3_unit6_conv3"
+ top: "stage3_unit6_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage3_unit6_relu"
+ type: "ReLU"
+ bottom: "stage3_unit6_plus"
+ top: "stage3_unit6_plus"
+}
+
+layer {
+ name: "stage4_unit1_conv1"
+ type: "Convolution"
+ bottom: "stage3_unit6_plus"
+ top: "stage4_unit1_conv1"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_bn1"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_bn1"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_relu1"
+ type: "ReLU"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv1"
+}
+
+layer {
+ name: "stage4_unit1_conv2"
+ type: "Convolution"
+ bottom: "stage4_unit1_conv1"
+ top: "stage4_unit1_conv2"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 3
+ stride: 2
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_bn2"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_bn2"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_relu2"
+ type: "ReLU"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv2"
+}
+
+layer {
+ name: "stage4_unit1_conv3"
+ type: "Convolution"
+ bottom: "stage4_unit1_conv2"
+ top: "stage4_unit1_conv3"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_bn3"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_conv3"
+ top: "stage4_unit1_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_bn3"
+ bottom: "stage4_unit1_conv3"
+ top: "stage4_unit1_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_sc"
+ type: "Convolution"
+ bottom: "stage3_unit6_plus"
+ top: "stage4_unit1_sc"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 2
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit1_sc_bn"
+ type: "BatchNorm"
+ bottom: "stage4_unit1_sc"
+ top: "stage4_unit1_sc"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit1_sc_bn"
+ bottom: "stage4_unit1_sc"
+ top: "stage4_unit1_sc"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit1_plus"
+ type: "Eltwise"
+ bottom: "stage4_unit1_sc"
+ bottom: "stage4_unit1_conv3"
+ top: "stage4_unit1_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage4_unit1_relu"
+ type: "ReLU"
+ bottom: "stage4_unit1_plus"
+ top: "stage4_unit1_plus"
+}
+
+layer {
+ name: "stage4_unit2_conv1"
+ type: "Convolution"
+ bottom: "stage4_unit1_plus"
+ top: "stage4_unit2_conv1"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit2_bn1"
+ type: "BatchNorm"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit2_bn1"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit2_relu1"
+ type: "ReLU"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv1"
+}
+
+layer {
+ name: "stage4_unit2_conv2"
+ type: "Convolution"
+ bottom: "stage4_unit2_conv1"
+ top: "stage4_unit2_conv2"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit2_bn2"
+ type: "BatchNorm"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit2_bn2"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit2_relu2"
+ type: "ReLU"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv2"
+}
+
+layer {
+ name: "stage4_unit2_conv3"
+ type: "Convolution"
+ bottom: "stage4_unit2_conv2"
+ top: "stage4_unit2_conv3"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit2_bn3"
+ type: "BatchNorm"
+ bottom: "stage4_unit2_conv3"
+ top: "stage4_unit2_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit2_bn3"
+ bottom: "stage4_unit2_conv3"
+ top: "stage4_unit2_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit2_plus"
+ type: "Eltwise"
+ bottom: "stage4_unit1_plus"
+ bottom: "stage4_unit2_conv3"
+ top: "stage4_unit2_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage4_unit2_relu"
+ type: "ReLU"
+ bottom: "stage4_unit2_plus"
+ top: "stage4_unit2_plus"
+}
+
+layer {
+ name: "stage4_unit3_conv1"
+ type: "Convolution"
+ bottom: "stage4_unit2_plus"
+ top: "stage4_unit3_conv1"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit3_bn1"
+ type: "BatchNorm"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv1"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit3_bn1"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv1"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit3_relu1"
+ type: "ReLU"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv1"
+}
+
+layer {
+ name: "stage4_unit3_conv2"
+ type: "Convolution"
+ bottom: "stage4_unit3_conv1"
+ top: "stage4_unit3_conv2"
+ convolution_param {
+ num_output: 1024
+ kernel_size: 3
+ stride: 1
+ group: 32
+ pad: 1
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit3_bn2"
+ type: "BatchNorm"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv2"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit3_bn2"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv2"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit3_relu2"
+ type: "ReLU"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv2"
+}
+
+layer {
+ name: "stage4_unit3_conv3"
+ type: "Convolution"
+ bottom: "stage4_unit3_conv2"
+ top: "stage4_unit3_conv3"
+ convolution_param {
+ num_output: 2048
+ kernel_size: 1
+ stride: 1
+ pad: 0
+ bias_term: false
+ }
+}
+
+layer {
+ name: "stage4_unit3_bn3"
+ type: "BatchNorm"
+ bottom: "stage4_unit3_conv3"
+ top: "stage4_unit3_conv3"
+ batch_norm_param {
+ use_global_stats: true
+ eps: 2e-5
+ }
+}
+
+layer {
+ name: "scale_stage4_unit3_bn3"
+ bottom: "stage4_unit3_conv3"
+ top: "stage4_unit3_conv3"
+ type: "Scale"
+ scale_param {
+ bias_term: true
+ }
+}
+
+layer {
+ name: "stage4_unit3_plus"
+ type: "Eltwise"
+ bottom: "stage4_unit2_plus"
+ bottom: "stage4_unit3_conv3"
+ top: "stage4_unit3_plus"
+ eltwise_param {
+ operation: SUM
+ }
+}
+
+layer {
+ name: "stage4_unit3_relu"
+ type: "ReLU"
+ bottom: "stage4_unit3_plus"
+ top: "stage4_unit3_plus"
+}
+
+layer {
+ name: "pool1"
+ type: "Pooling"
+ bottom: "stage4_unit3_plus"
+ top: "pool1"
+ pooling_param {
+ global_pooling : true
+ pool: AVE
+ }
+}
+
+layer {
+ name: "fc1"
+ type: "InnerProduct"
+ bottom: "pool1"
+ top: "fc1"
+ param {
+ lr_mult: 1
+ decay_mult: 1
+ }
+ param {
+ lr_mult: 2
+ decay_mult: 0
+ }
+ inner_product_param {
+ num_output: 1000
+ weight_filler {
+ type: "xavier"
+ }
+ bias_filler {
+ type: "constant"
+ value: 0
+ }
+ }
+}
+
+layer {
+ name: "prob"
+ type: "Softmax"
+ bottom: "fc1"
+ top: "prob"
+}
+
diff --git a/ide/static/js/modelZoo.js b/ide/static/js/modelZoo.js
index 4d614c1a2..805f452c9 100644
--- a/ide/static/js/modelZoo.js
+++ b/ide/static/js/modelZoo.js
@@ -24,6 +24,12 @@ class ModelZoo extends React.Component {
ResNet 101
+ ResNeXt 50
+
+ ResNeXt 101
+
+ ResNeXt 152
+
Inception V3
Squeezenet
diff --git a/tutorials/tested_models.md b/tutorials/tested_models.md
index a0ef24205..3af0d2be6 100644
--- a/tutorials/tested_models.md
+++ b/tutorials/tested_models.md
@@ -14,6 +14,9 @@
* InceptionV3 [\[Source\]](https://github.com/fchollet/keras/blob/master/keras/applications/inception_v3.py)[\[Visualise\]](http://fabrik.cloudcv.org/caffe/load?id=20171208113344mfgdw)
* Network in Network [\[Source\]](https://github.com/BVLC/caffe/wiki/Model-Zoo#network-in-network-model)[\[Visualise\]](http://fabrik.cloudcv.org/caffe/load?id=20171208121158kdgdf)
* ResNet-101 [\[Source\]](https://github.com/KaimingHe/deep-residual-networks)[\[Visualise\]](http://fabrik.cloudcv.org/caffe/load?id=20171208113311evllg)
+* ResNeXt-50 [\[Source\]](https://github.com/cypw/ResNeXt-1)
+* ResNeXt-101 [\[Source\]](https://github.com/cypw/ResNeXt-1)
+* ResNeXt-152 [\[Source\]](https://github.com/cypw/ResNeXt-1)
* SqueezeNet [\[Source\]](https://github.com/DeepScale/SqueezeNet)[\[Visualise\]](http://fabrik.cloudcv.org/caffe/load?id=20171208113403vkslv)
* VGG-16 [\[Source\]](https://gist.github.com/ksimonyan/211839e770f7b538e2d8#file-readme-md)[\[Visualise\]](http://fabrik.cloudcv.org/caffe/load?id=20171208113208hjcvb)
* DeepYeast [\[Source\]](http://kodu.ut.ee/~leopoldp/2016_DeepYeast/code/caffe_model/)[\[Visualise\]](http://fabrik.cloudcv.org/caffe/load?id=20180102135425bzkzy)