Skip to content

Instantly share code, notes, and snippets.

@zhanglaplace
Created October 16, 2017 03:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zhanglaplace/411b22c2697a4809d671964804077f54 to your computer and use it in GitHub Desktop.
Save zhanglaplace/411b22c2697a4809d671964804077f54 to your computer and use it in GitHub Desktop.
name: "DENSENET_201"
input: "data"
input_dim: 1
input_dim: 3
input_dim: 224
input_dim: 224
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
convolution_param {
num_output: 64
bias_term: false
pad: 3
kernel_size: 7
stride: 2
}
}
layer {
name: "conv1/bn"
type: "BatchNorm"
bottom: "conv1"
top: "conv1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv1/scale"
type: "Scale"
bottom: "conv1/bn"
top: "conv1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu1"
type: "ReLU"
bottom: "conv1/bn"
top: "conv1/bn"
}
layer {
name: "pool1"
type: "Pooling"
bottom: "conv1/bn"
top: "pool1"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
pad: 1
ceil_mode: false
}
}
layer {
name: "conv2_1/x1/bn"
type: "BatchNorm"
bottom: "pool1"
top: "conv2_1/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_1/x1/scale"
type: "Scale"
bottom: "conv2_1/x1/bn"
top: "conv2_1/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_1/x1"
type: "ReLU"
bottom: "conv2_1/x1/bn"
top: "conv2_1/x1/bn"
}
layer {
name: "conv2_1/x1"
type: "Convolution"
bottom: "conv2_1/x1/bn"
top: "conv2_1/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv2_1/x2/bn"
type: "BatchNorm"
bottom: "conv2_1/x1"
top: "conv2_1/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_1/x2/scale"
type: "Scale"
bottom: "conv2_1/x2/bn"
top: "conv2_1/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_1/x2"
type: "ReLU"
bottom: "conv2_1/x2/bn"
top: "conv2_1/x2/bn"
}
layer {
name: "conv2_1/x2"
type: "Convolution"
bottom: "conv2_1/x2/bn"
top: "conv2_1/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_2_1"
type: "Concat"
bottom: "pool1"
bottom: "conv2_1/x2"
top: "concat_2_1"
}
layer {
name: "conv2_2/x1/bn"
type: "BatchNorm"
bottom: "concat_2_1"
top: "conv2_2/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_2/x1/scale"
type: "Scale"
bottom: "conv2_2/x1/bn"
top: "conv2_2/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_2/x1"
type: "ReLU"
bottom: "conv2_2/x1/bn"
top: "conv2_2/x1/bn"
}
layer {
name: "conv2_2/x1"
type: "Convolution"
bottom: "conv2_2/x1/bn"
top: "conv2_2/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv2_2/x2/bn"
type: "BatchNorm"
bottom: "conv2_2/x1"
top: "conv2_2/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_2/x2/scale"
type: "Scale"
bottom: "conv2_2/x2/bn"
top: "conv2_2/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_2/x2"
type: "ReLU"
bottom: "conv2_2/x2/bn"
top: "conv2_2/x2/bn"
}
layer {
name: "conv2_2/x2"
type: "Convolution"
bottom: "conv2_2/x2/bn"
top: "conv2_2/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_2_2"
type: "Concat"
bottom: "concat_2_1"
bottom: "conv2_2/x2"
top: "concat_2_2"
}
layer {
name: "conv2_3/x1/bn"
type: "BatchNorm"
bottom: "concat_2_2"
top: "conv2_3/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_3/x1/scale"
type: "Scale"
bottom: "conv2_3/x1/bn"
top: "conv2_3/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_3/x1"
type: "ReLU"
bottom: "conv2_3/x1/bn"
top: "conv2_3/x1/bn"
}
layer {
name: "conv2_3/x1"
type: "Convolution"
bottom: "conv2_3/x1/bn"
top: "conv2_3/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv2_3/x2/bn"
type: "BatchNorm"
bottom: "conv2_3/x1"
top: "conv2_3/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_3/x2/scale"
type: "Scale"
bottom: "conv2_3/x2/bn"
top: "conv2_3/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_3/x2"
type: "ReLU"
bottom: "conv2_3/x2/bn"
top: "conv2_3/x2/bn"
}
layer {
name: "conv2_3/x2"
type: "Convolution"
bottom: "conv2_3/x2/bn"
top: "conv2_3/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_2_3"
type: "Concat"
bottom: "concat_2_2"
bottom: "conv2_3/x2"
top: "concat_2_3"
}
layer {
name: "conv2_4/x1/bn"
type: "BatchNorm"
bottom: "concat_2_3"
top: "conv2_4/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_4/x1/scale"
type: "Scale"
bottom: "conv2_4/x1/bn"
top: "conv2_4/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_4/x1"
type: "ReLU"
bottom: "conv2_4/x1/bn"
top: "conv2_4/x1/bn"
}
layer {
name: "conv2_4/x1"
type: "Convolution"
bottom: "conv2_4/x1/bn"
top: "conv2_4/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv2_4/x2/bn"
type: "BatchNorm"
bottom: "conv2_4/x1"
top: "conv2_4/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_4/x2/scale"
type: "Scale"
bottom: "conv2_4/x2/bn"
top: "conv2_4/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_4/x2"
type: "ReLU"
bottom: "conv2_4/x2/bn"
top: "conv2_4/x2/bn"
}
layer {
name: "conv2_4/x2"
type: "Convolution"
bottom: "conv2_4/x2/bn"
top: "conv2_4/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_2_4"
type: "Concat"
bottom: "concat_2_3"
bottom: "conv2_4/x2"
top: "concat_2_4"
}
layer {
name: "conv2_5/x1/bn"
type: "BatchNorm"
bottom: "concat_2_4"
top: "conv2_5/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_5/x1/scale"
type: "Scale"
bottom: "conv2_5/x1/bn"
top: "conv2_5/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_5/x1"
type: "ReLU"
bottom: "conv2_5/x1/bn"
top: "conv2_5/x1/bn"
}
layer {
name: "conv2_5/x1"
type: "Convolution"
bottom: "conv2_5/x1/bn"
top: "conv2_5/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv2_5/x2/bn"
type: "BatchNorm"
bottom: "conv2_5/x1"
top: "conv2_5/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_5/x2/scale"
type: "Scale"
bottom: "conv2_5/x2/bn"
top: "conv2_5/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_5/x2"
type: "ReLU"
bottom: "conv2_5/x2/bn"
top: "conv2_5/x2/bn"
}
layer {
name: "conv2_5/x2"
type: "Convolution"
bottom: "conv2_5/x2/bn"
top: "conv2_5/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_2_5"
type: "Concat"
bottom: "concat_2_4"
bottom: "conv2_5/x2"
top: "concat_2_5"
}
layer {
name: "conv2_6/x1/bn"
type: "BatchNorm"
bottom: "concat_2_5"
top: "conv2_6/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_6/x1/scale"
type: "Scale"
bottom: "conv2_6/x1/bn"
top: "conv2_6/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_6/x1"
type: "ReLU"
bottom: "conv2_6/x1/bn"
top: "conv2_6/x1/bn"
}
layer {
name: "conv2_6/x1"
type: "Convolution"
bottom: "conv2_6/x1/bn"
top: "conv2_6/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv2_6/x2/bn"
type: "BatchNorm"
bottom: "conv2_6/x1"
top: "conv2_6/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_6/x2/scale"
type: "Scale"
bottom: "conv2_6/x2/bn"
top: "conv2_6/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_6/x2"
type: "ReLU"
bottom: "conv2_6/x2/bn"
top: "conv2_6/x2/bn"
}
layer {
name: "conv2_6/x2"
type: "Convolution"
bottom: "conv2_6/x2/bn"
top: "conv2_6/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_2_6"
type: "Concat"
bottom: "concat_2_5"
bottom: "conv2_6/x2"
top: "concat_2_6"
}
layer {
name: "conv2_6/blk/bn"
type: "BatchNorm"
bottom: "concat_2_6"
top: "conv2_6/blk/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv2_6/blk/scale"
type: "Scale"
bottom: "conv2_6/blk/bn"
top: "conv2_6/blk/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu2_6/blk"
type: "ReLU"
bottom: "conv2_6/blk/bn"
top: "conv2_6/blk/bn"
}
layer {
name: "conv2_6/blk"
type: "Convolution"
bottom: "conv2_6/blk/bn"
top: "conv2_6/blk"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "pool2_6"
type: "Pooling"
bottom: "conv2_6/blk"
top: "pool2_6"
pooling_param {
pool: AVE
kernel_size: 2
stride: 2
}
}
layer {
name: "conv3_1/x1/bn"
type: "BatchNorm"
bottom: "pool2_6"
top: "conv3_1/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_1/x1/scale"
type: "Scale"
bottom: "conv3_1/x1/bn"
top: "conv3_1/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_1/x1"
type: "ReLU"
bottom: "conv3_1/x1/bn"
top: "conv3_1/x1/bn"
}
layer {
name: "conv3_1/x1"
type: "Convolution"
bottom: "conv3_1/x1/bn"
top: "conv3_1/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_1/x2/bn"
type: "BatchNorm"
bottom: "conv3_1/x1"
top: "conv3_1/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_1/x2/scale"
type: "Scale"
bottom: "conv3_1/x2/bn"
top: "conv3_1/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_1/x2"
type: "ReLU"
bottom: "conv3_1/x2/bn"
top: "conv3_1/x2/bn"
}
layer {
name: "conv3_1/x2"
type: "Convolution"
bottom: "conv3_1/x2/bn"
top: "conv3_1/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_1"
type: "Concat"
bottom: "pool2_6"
bottom: "conv3_1/x2"
top: "concat_3_1"
}
layer {
name: "conv3_2/x1/bn"
type: "BatchNorm"
bottom: "concat_3_1"
top: "conv3_2/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_2/x1/scale"
type: "Scale"
bottom: "conv3_2/x1/bn"
top: "conv3_2/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_2/x1"
type: "ReLU"
bottom: "conv3_2/x1/bn"
top: "conv3_2/x1/bn"
}
layer {
name: "conv3_2/x1"
type: "Convolution"
bottom: "conv3_2/x1/bn"
top: "conv3_2/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_2/x2/bn"
type: "BatchNorm"
bottom: "conv3_2/x1"
top: "conv3_2/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_2/x2/scale"
type: "Scale"
bottom: "conv3_2/x2/bn"
top: "conv3_2/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_2/x2"
type: "ReLU"
bottom: "conv3_2/x2/bn"
top: "conv3_2/x2/bn"
}
layer {
name: "conv3_2/x2"
type: "Convolution"
bottom: "conv3_2/x2/bn"
top: "conv3_2/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_2"
type: "Concat"
bottom: "concat_3_1"
bottom: "conv3_2/x2"
top: "concat_3_2"
}
layer {
name: "conv3_3/x1/bn"
type: "BatchNorm"
bottom: "concat_3_2"
top: "conv3_3/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_3/x1/scale"
type: "Scale"
bottom: "conv3_3/x1/bn"
top: "conv3_3/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_3/x1"
type: "ReLU"
bottom: "conv3_3/x1/bn"
top: "conv3_3/x1/bn"
}
layer {
name: "conv3_3/x1"
type: "Convolution"
bottom: "conv3_3/x1/bn"
top: "conv3_3/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_3/x2/bn"
type: "BatchNorm"
bottom: "conv3_3/x1"
top: "conv3_3/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_3/x2/scale"
type: "Scale"
bottom: "conv3_3/x2/bn"
top: "conv3_3/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_3/x2"
type: "ReLU"
bottom: "conv3_3/x2/bn"
top: "conv3_3/x2/bn"
}
layer {
name: "conv3_3/x2"
type: "Convolution"
bottom: "conv3_3/x2/bn"
top: "conv3_3/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_3"
type: "Concat"
bottom: "concat_3_2"
bottom: "conv3_3/x2"
top: "concat_3_3"
}
layer {
name: "conv3_4/x1/bn"
type: "BatchNorm"
bottom: "concat_3_3"
top: "conv3_4/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_4/x1/scale"
type: "Scale"
bottom: "conv3_4/x1/bn"
top: "conv3_4/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_4/x1"
type: "ReLU"
bottom: "conv3_4/x1/bn"
top: "conv3_4/x1/bn"
}
layer {
name: "conv3_4/x1"
type: "Convolution"
bottom: "conv3_4/x1/bn"
top: "conv3_4/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_4/x2/bn"
type: "BatchNorm"
bottom: "conv3_4/x1"
top: "conv3_4/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_4/x2/scale"
type: "Scale"
bottom: "conv3_4/x2/bn"
top: "conv3_4/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_4/x2"
type: "ReLU"
bottom: "conv3_4/x2/bn"
top: "conv3_4/x2/bn"
}
layer {
name: "conv3_4/x2"
type: "Convolution"
bottom: "conv3_4/x2/bn"
top: "conv3_4/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_4"
type: "Concat"
bottom: "concat_3_3"
bottom: "conv3_4/x2"
top: "concat_3_4"
}
layer {
name: "conv3_5/x1/bn"
type: "BatchNorm"
bottom: "concat_3_4"
top: "conv3_5/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_5/x1/scale"
type: "Scale"
bottom: "conv3_5/x1/bn"
top: "conv3_5/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_5/x1"
type: "ReLU"
bottom: "conv3_5/x1/bn"
top: "conv3_5/x1/bn"
}
layer {
name: "conv3_5/x1"
type: "Convolution"
bottom: "conv3_5/x1/bn"
top: "conv3_5/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_5/x2/bn"
type: "BatchNorm"
bottom: "conv3_5/x1"
top: "conv3_5/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_5/x2/scale"
type: "Scale"
bottom: "conv3_5/x2/bn"
top: "conv3_5/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_5/x2"
type: "ReLU"
bottom: "conv3_5/x2/bn"
top: "conv3_5/x2/bn"
}
layer {
name: "conv3_5/x2"
type: "Convolution"
bottom: "conv3_5/x2/bn"
top: "conv3_5/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_5"
type: "Concat"
bottom: "concat_3_4"
bottom: "conv3_5/x2"
top: "concat_3_5"
}
layer {
name: "conv3_6/x1/bn"
type: "BatchNorm"
bottom: "concat_3_5"
top: "conv3_6/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_6/x1/scale"
type: "Scale"
bottom: "conv3_6/x1/bn"
top: "conv3_6/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_6/x1"
type: "ReLU"
bottom: "conv3_6/x1/bn"
top: "conv3_6/x1/bn"
}
layer {
name: "conv3_6/x1"
type: "Convolution"
bottom: "conv3_6/x1/bn"
top: "conv3_6/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_6/x2/bn"
type: "BatchNorm"
bottom: "conv3_6/x1"
top: "conv3_6/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_6/x2/scale"
type: "Scale"
bottom: "conv3_6/x2/bn"
top: "conv3_6/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_6/x2"
type: "ReLU"
bottom: "conv3_6/x2/bn"
top: "conv3_6/x2/bn"
}
layer {
name: "conv3_6/x2"
type: "Convolution"
bottom: "conv3_6/x2/bn"
top: "conv3_6/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_6"
type: "Concat"
bottom: "concat_3_5"
bottom: "conv3_6/x2"
top: "concat_3_6"
}
layer {
name: "conv3_7/x1/bn"
type: "BatchNorm"
bottom: "concat_3_6"
top: "conv3_7/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_7/x1/scale"
type: "Scale"
bottom: "conv3_7/x1/bn"
top: "conv3_7/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_7/x1"
type: "ReLU"
bottom: "conv3_7/x1/bn"
top: "conv3_7/x1/bn"
}
layer {
name: "conv3_7/x1"
type: "Convolution"
bottom: "conv3_7/x1/bn"
top: "conv3_7/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_7/x2/bn"
type: "BatchNorm"
bottom: "conv3_7/x1"
top: "conv3_7/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_7/x2/scale"
type: "Scale"
bottom: "conv3_7/x2/bn"
top: "conv3_7/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_7/x2"
type: "ReLU"
bottom: "conv3_7/x2/bn"
top: "conv3_7/x2/bn"
}
layer {
name: "conv3_7/x2"
type: "Convolution"
bottom: "conv3_7/x2/bn"
top: "conv3_7/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_7"
type: "Concat"
bottom: "concat_3_6"
bottom: "conv3_7/x2"
top: "concat_3_7"
}
layer {
name: "conv3_8/x1/bn"
type: "BatchNorm"
bottom: "concat_3_7"
top: "conv3_8/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_8/x1/scale"
type: "Scale"
bottom: "conv3_8/x1/bn"
top: "conv3_8/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_8/x1"
type: "ReLU"
bottom: "conv3_8/x1/bn"
top: "conv3_8/x1/bn"
}
layer {
name: "conv3_8/x1"
type: "Convolution"
bottom: "conv3_8/x1/bn"
top: "conv3_8/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_8/x2/bn"
type: "BatchNorm"
bottom: "conv3_8/x1"
top: "conv3_8/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_8/x2/scale"
type: "Scale"
bottom: "conv3_8/x2/bn"
top: "conv3_8/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_8/x2"
type: "ReLU"
bottom: "conv3_8/x2/bn"
top: "conv3_8/x2/bn"
}
layer {
name: "conv3_8/x2"
type: "Convolution"
bottom: "conv3_8/x2/bn"
top: "conv3_8/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_8"
type: "Concat"
bottom: "concat_3_7"
bottom: "conv3_8/x2"
top: "concat_3_8"
}
layer {
name: "conv3_9/x1/bn"
type: "BatchNorm"
bottom: "concat_3_8"
top: "conv3_9/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_9/x1/scale"
type: "Scale"
bottom: "conv3_9/x1/bn"
top: "conv3_9/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_9/x1"
type: "ReLU"
bottom: "conv3_9/x1/bn"
top: "conv3_9/x1/bn"
}
layer {
name: "conv3_9/x1"
type: "Convolution"
bottom: "conv3_9/x1/bn"
top: "conv3_9/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_9/x2/bn"
type: "BatchNorm"
bottom: "conv3_9/x1"
top: "conv3_9/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_9/x2/scale"
type: "Scale"
bottom: "conv3_9/x2/bn"
top: "conv3_9/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_9/x2"
type: "ReLU"
bottom: "conv3_9/x2/bn"
top: "conv3_9/x2/bn"
}
layer {
name: "conv3_9/x2"
type: "Convolution"
bottom: "conv3_9/x2/bn"
top: "conv3_9/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_9"
type: "Concat"
bottom: "concat_3_8"
bottom: "conv3_9/x2"
top: "concat_3_9"
}
layer {
name: "conv3_10/x1/bn"
type: "BatchNorm"
bottom: "concat_3_9"
top: "conv3_10/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_10/x1/scale"
type: "Scale"
bottom: "conv3_10/x1/bn"
top: "conv3_10/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_10/x1"
type: "ReLU"
bottom: "conv3_10/x1/bn"
top: "conv3_10/x1/bn"
}
layer {
name: "conv3_10/x1"
type: "Convolution"
bottom: "conv3_10/x1/bn"
top: "conv3_10/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_10/x2/bn"
type: "BatchNorm"
bottom: "conv3_10/x1"
top: "conv3_10/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_10/x2/scale"
type: "Scale"
bottom: "conv3_10/x2/bn"
top: "conv3_10/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_10/x2"
type: "ReLU"
bottom: "conv3_10/x2/bn"
top: "conv3_10/x2/bn"
}
layer {
name: "conv3_10/x2"
type: "Convolution"
bottom: "conv3_10/x2/bn"
top: "conv3_10/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_10"
type: "Concat"
bottom: "concat_3_9"
bottom: "conv3_10/x2"
top: "concat_3_10"
}
layer {
name: "conv3_11/x1/bn"
type: "BatchNorm"
bottom: "concat_3_10"
top: "conv3_11/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_11/x1/scale"
type: "Scale"
bottom: "conv3_11/x1/bn"
top: "conv3_11/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_11/x1"
type: "ReLU"
bottom: "conv3_11/x1/bn"
top: "conv3_11/x1/bn"
}
layer {
name: "conv3_11/x1"
type: "Convolution"
bottom: "conv3_11/x1/bn"
top: "conv3_11/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_11/x2/bn"
type: "BatchNorm"
bottom: "conv3_11/x1"
top: "conv3_11/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_11/x2/scale"
type: "Scale"
bottom: "conv3_11/x2/bn"
top: "conv3_11/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_11/x2"
type: "ReLU"
bottom: "conv3_11/x2/bn"
top: "conv3_11/x2/bn"
}
layer {
name: "conv3_11/x2"
type: "Convolution"
bottom: "conv3_11/x2/bn"
top: "conv3_11/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_11"
type: "Concat"
bottom: "concat_3_10"
bottom: "conv3_11/x2"
top: "concat_3_11"
}
layer {
name: "conv3_12/x1/bn"
type: "BatchNorm"
bottom: "concat_3_11"
top: "conv3_12/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_12/x1/scale"
type: "Scale"
bottom: "conv3_12/x1/bn"
top: "conv3_12/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_12/x1"
type: "ReLU"
bottom: "conv3_12/x1/bn"
top: "conv3_12/x1/bn"
}
layer {
name: "conv3_12/x1"
type: "Convolution"
bottom: "conv3_12/x1/bn"
top: "conv3_12/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv3_12/x2/bn"
type: "BatchNorm"
bottom: "conv3_12/x1"
top: "conv3_12/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_12/x2/scale"
type: "Scale"
bottom: "conv3_12/x2/bn"
top: "conv3_12/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_12/x2"
type: "ReLU"
bottom: "conv3_12/x2/bn"
top: "conv3_12/x2/bn"
}
layer {
name: "conv3_12/x2"
type: "Convolution"
bottom: "conv3_12/x2/bn"
top: "conv3_12/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_3_12"
type: "Concat"
bottom: "concat_3_11"
bottom: "conv3_12/x2"
top: "concat_3_12"
}
layer {
name: "conv3_12/blk/bn"
type: "BatchNorm"
bottom: "concat_3_12"
top: "conv3_12/blk/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv3_12/blk/scale"
type: "Scale"
bottom: "conv3_12/blk/bn"
top: "conv3_12/blk/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu3_12/blk"
type: "ReLU"
bottom: "conv3_12/blk/bn"
top: "conv3_12/blk/bn"
}
layer {
name: "conv3_12/blk"
type: "Convolution"
bottom: "conv3_12/blk/bn"
top: "conv3_12/blk"
convolution_param {
num_output: 256
bias_term: false
kernel_size: 1
}
}
layer {
name: "pool3_12"
type: "Pooling"
bottom: "conv3_12/blk"
top: "pool3_12"
pooling_param {
pool: AVE
kernel_size: 2
stride: 2
}
}
layer {
name: "conv4_1/x1/bn"
type: "BatchNorm"
bottom: "pool3_12"
top: "conv4_1/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_1/x1/scale"
type: "Scale"
bottom: "conv4_1/x1/bn"
top: "conv4_1/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_1/x1"
type: "ReLU"
bottom: "conv4_1/x1/bn"
top: "conv4_1/x1/bn"
}
layer {
name: "conv4_1/x1"
type: "Convolution"
bottom: "conv4_1/x1/bn"
top: "conv4_1/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_1/x2/bn"
type: "BatchNorm"
bottom: "conv4_1/x1"
top: "conv4_1/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_1/x2/scale"
type: "Scale"
bottom: "conv4_1/x2/bn"
top: "conv4_1/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_1/x2"
type: "ReLU"
bottom: "conv4_1/x2/bn"
top: "conv4_1/x2/bn"
}
layer {
name: "conv4_1/x2"
type: "Convolution"
bottom: "conv4_1/x2/bn"
top: "conv4_1/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_1"
type: "Concat"
bottom: "pool3_12"
bottom: "conv4_1/x2"
top: "concat_4_1"
}
layer {
name: "conv4_2/x1/bn"
type: "BatchNorm"
bottom: "concat_4_1"
top: "conv4_2/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_2/x1/scale"
type: "Scale"
bottom: "conv4_2/x1/bn"
top: "conv4_2/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_2/x1"
type: "ReLU"
bottom: "conv4_2/x1/bn"
top: "conv4_2/x1/bn"
}
layer {
name: "conv4_2/x1"
type: "Convolution"
bottom: "conv4_2/x1/bn"
top: "conv4_2/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_2/x2/bn"
type: "BatchNorm"
bottom: "conv4_2/x1"
top: "conv4_2/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_2/x2/scale"
type: "Scale"
bottom: "conv4_2/x2/bn"
top: "conv4_2/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_2/x2"
type: "ReLU"
bottom: "conv4_2/x2/bn"
top: "conv4_2/x2/bn"
}
layer {
name: "conv4_2/x2"
type: "Convolution"
bottom: "conv4_2/x2/bn"
top: "conv4_2/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_2"
type: "Concat"
bottom: "concat_4_1"
bottom: "conv4_2/x2"
top: "concat_4_2"
}
layer {
name: "conv4_3/x1/bn"
type: "BatchNorm"
bottom: "concat_4_2"
top: "conv4_3/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_3/x1/scale"
type: "Scale"
bottom: "conv4_3/x1/bn"
top: "conv4_3/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_3/x1"
type: "ReLU"
bottom: "conv4_3/x1/bn"
top: "conv4_3/x1/bn"
}
layer {
name: "conv4_3/x1"
type: "Convolution"
bottom: "conv4_3/x1/bn"
top: "conv4_3/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_3/x2/bn"
type: "BatchNorm"
bottom: "conv4_3/x1"
top: "conv4_3/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_3/x2/scale"
type: "Scale"
bottom: "conv4_3/x2/bn"
top: "conv4_3/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_3/x2"
type: "ReLU"
bottom: "conv4_3/x2/bn"
top: "conv4_3/x2/bn"
}
layer {
name: "conv4_3/x2"
type: "Convolution"
bottom: "conv4_3/x2/bn"
top: "conv4_3/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_3"
type: "Concat"
bottom: "concat_4_2"
bottom: "conv4_3/x2"
top: "concat_4_3"
}
layer {
name: "conv4_4/x1/bn"
type: "BatchNorm"
bottom: "concat_4_3"
top: "conv4_4/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_4/x1/scale"
type: "Scale"
bottom: "conv4_4/x1/bn"
top: "conv4_4/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_4/x1"
type: "ReLU"
bottom: "conv4_4/x1/bn"
top: "conv4_4/x1/bn"
}
layer {
name: "conv4_4/x1"
type: "Convolution"
bottom: "conv4_4/x1/bn"
top: "conv4_4/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_4/x2/bn"
type: "BatchNorm"
bottom: "conv4_4/x1"
top: "conv4_4/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_4/x2/scale"
type: "Scale"
bottom: "conv4_4/x2/bn"
top: "conv4_4/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_4/x2"
type: "ReLU"
bottom: "conv4_4/x2/bn"
top: "conv4_4/x2/bn"
}
layer {
name: "conv4_4/x2"
type: "Convolution"
bottom: "conv4_4/x2/bn"
top: "conv4_4/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_4"
type: "Concat"
bottom: "concat_4_3"
bottom: "conv4_4/x2"
top: "concat_4_4"
}
layer {
name: "conv4_5/x1/bn"
type: "BatchNorm"
bottom: "concat_4_4"
top: "conv4_5/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_5/x1/scale"
type: "Scale"
bottom: "conv4_5/x1/bn"
top: "conv4_5/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_5/x1"
type: "ReLU"
bottom: "conv4_5/x1/bn"
top: "conv4_5/x1/bn"
}
layer {
name: "conv4_5/x1"
type: "Convolution"
bottom: "conv4_5/x1/bn"
top: "conv4_5/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_5/x2/bn"
type: "BatchNorm"
bottom: "conv4_5/x1"
top: "conv4_5/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_5/x2/scale"
type: "Scale"
bottom: "conv4_5/x2/bn"
top: "conv4_5/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_5/x2"
type: "ReLU"
bottom: "conv4_5/x2/bn"
top: "conv4_5/x2/bn"
}
layer {
name: "conv4_5/x2"
type: "Convolution"
bottom: "conv4_5/x2/bn"
top: "conv4_5/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_5"
type: "Concat"
bottom: "concat_4_4"
bottom: "conv4_5/x2"
top: "concat_4_5"
}
layer {
name: "conv4_6/x1/bn"
type: "BatchNorm"
bottom: "concat_4_5"
top: "conv4_6/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_6/x1/scale"
type: "Scale"
bottom: "conv4_6/x1/bn"
top: "conv4_6/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_6/x1"
type: "ReLU"
bottom: "conv4_6/x1/bn"
top: "conv4_6/x1/bn"
}
layer {
name: "conv4_6/x1"
type: "Convolution"
bottom: "conv4_6/x1/bn"
top: "conv4_6/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_6/x2/bn"
type: "BatchNorm"
bottom: "conv4_6/x1"
top: "conv4_6/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_6/x2/scale"
type: "Scale"
bottom: "conv4_6/x2/bn"
top: "conv4_6/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_6/x2"
type: "ReLU"
bottom: "conv4_6/x2/bn"
top: "conv4_6/x2/bn"
}
layer {
name: "conv4_6/x2"
type: "Convolution"
bottom: "conv4_6/x2/bn"
top: "conv4_6/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_6"
type: "Concat"
bottom: "concat_4_5"
bottom: "conv4_6/x2"
top: "concat_4_6"
}
layer {
name: "conv4_7/x1/bn"
type: "BatchNorm"
bottom: "concat_4_6"
top: "conv4_7/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_7/x1/scale"
type: "Scale"
bottom: "conv4_7/x1/bn"
top: "conv4_7/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_7/x1"
type: "ReLU"
bottom: "conv4_7/x1/bn"
top: "conv4_7/x1/bn"
}
layer {
name: "conv4_7/x1"
type: "Convolution"
bottom: "conv4_7/x1/bn"
top: "conv4_7/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_7/x2/bn"
type: "BatchNorm"
bottom: "conv4_7/x1"
top: "conv4_7/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_7/x2/scale"
type: "Scale"
bottom: "conv4_7/x2/bn"
top: "conv4_7/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_7/x2"
type: "ReLU"
bottom: "conv4_7/x2/bn"
top: "conv4_7/x2/bn"
}
layer {
name: "conv4_7/x2"
type: "Convolution"
bottom: "conv4_7/x2/bn"
top: "conv4_7/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_7"
type: "Concat"
bottom: "concat_4_6"
bottom: "conv4_7/x2"
top: "concat_4_7"
}
layer {
name: "conv4_8/x1/bn"
type: "BatchNorm"
bottom: "concat_4_7"
top: "conv4_8/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_8/x1/scale"
type: "Scale"
bottom: "conv4_8/x1/bn"
top: "conv4_8/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_8/x1"
type: "ReLU"
bottom: "conv4_8/x1/bn"
top: "conv4_8/x1/bn"
}
layer {
name: "conv4_8/x1"
type: "Convolution"
bottom: "conv4_8/x1/bn"
top: "conv4_8/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_8/x2/bn"
type: "BatchNorm"
bottom: "conv4_8/x1"
top: "conv4_8/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_8/x2/scale"
type: "Scale"
bottom: "conv4_8/x2/bn"
top: "conv4_8/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_8/x2"
type: "ReLU"
bottom: "conv4_8/x2/bn"
top: "conv4_8/x2/bn"
}
layer {
name: "conv4_8/x2"
type: "Convolution"
bottom: "conv4_8/x2/bn"
top: "conv4_8/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_8"
type: "Concat"
bottom: "concat_4_7"
bottom: "conv4_8/x2"
top: "concat_4_8"
}
layer {
name: "conv4_9/x1/bn"
type: "BatchNorm"
bottom: "concat_4_8"
top: "conv4_9/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_9/x1/scale"
type: "Scale"
bottom: "conv4_9/x1/bn"
top: "conv4_9/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_9/x1"
type: "ReLU"
bottom: "conv4_9/x1/bn"
top: "conv4_9/x1/bn"
}
layer {
name: "conv4_9/x1"
type: "Convolution"
bottom: "conv4_9/x1/bn"
top: "conv4_9/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_9/x2/bn"
type: "BatchNorm"
bottom: "conv4_9/x1"
top: "conv4_9/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_9/x2/scale"
type: "Scale"
bottom: "conv4_9/x2/bn"
top: "conv4_9/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_9/x2"
type: "ReLU"
bottom: "conv4_9/x2/bn"
top: "conv4_9/x2/bn"
}
layer {
name: "conv4_9/x2"
type: "Convolution"
bottom: "conv4_9/x2/bn"
top: "conv4_9/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_9"
type: "Concat"
bottom: "concat_4_8"
bottom: "conv4_9/x2"
top: "concat_4_9"
}
layer {
name: "conv4_10/x1/bn"
type: "BatchNorm"
bottom: "concat_4_9"
top: "conv4_10/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_10/x1/scale"
type: "Scale"
bottom: "conv4_10/x1/bn"
top: "conv4_10/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_10/x1"
type: "ReLU"
bottom: "conv4_10/x1/bn"
top: "conv4_10/x1/bn"
}
layer {
name: "conv4_10/x1"
type: "Convolution"
bottom: "conv4_10/x1/bn"
top: "conv4_10/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_10/x2/bn"
type: "BatchNorm"
bottom: "conv4_10/x1"
top: "conv4_10/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_10/x2/scale"
type: "Scale"
bottom: "conv4_10/x2/bn"
top: "conv4_10/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_10/x2"
type: "ReLU"
bottom: "conv4_10/x2/bn"
top: "conv4_10/x2/bn"
}
layer {
name: "conv4_10/x2"
type: "Convolution"
bottom: "conv4_10/x2/bn"
top: "conv4_10/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_10"
type: "Concat"
bottom: "concat_4_9"
bottom: "conv4_10/x2"
top: "concat_4_10"
}
layer {
name: "conv4_11/x1/bn"
type: "BatchNorm"
bottom: "concat_4_10"
top: "conv4_11/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_11/x1/scale"
type: "Scale"
bottom: "conv4_11/x1/bn"
top: "conv4_11/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_11/x1"
type: "ReLU"
bottom: "conv4_11/x1/bn"
top: "conv4_11/x1/bn"
}
layer {
name: "conv4_11/x1"
type: "Convolution"
bottom: "conv4_11/x1/bn"
top: "conv4_11/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_11/x2/bn"
type: "BatchNorm"
bottom: "conv4_11/x1"
top: "conv4_11/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_11/x2/scale"
type: "Scale"
bottom: "conv4_11/x2/bn"
top: "conv4_11/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_11/x2"
type: "ReLU"
bottom: "conv4_11/x2/bn"
top: "conv4_11/x2/bn"
}
layer {
name: "conv4_11/x2"
type: "Convolution"
bottom: "conv4_11/x2/bn"
top: "conv4_11/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_11"
type: "Concat"
bottom: "concat_4_10"
bottom: "conv4_11/x2"
top: "concat_4_11"
}
layer {
name: "conv4_12/x1/bn"
type: "BatchNorm"
bottom: "concat_4_11"
top: "conv4_12/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_12/x1/scale"
type: "Scale"
bottom: "conv4_12/x1/bn"
top: "conv4_12/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_12/x1"
type: "ReLU"
bottom: "conv4_12/x1/bn"
top: "conv4_12/x1/bn"
}
layer {
name: "conv4_12/x1"
type: "Convolution"
bottom: "conv4_12/x1/bn"
top: "conv4_12/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_12/x2/bn"
type: "BatchNorm"
bottom: "conv4_12/x1"
top: "conv4_12/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_12/x2/scale"
type: "Scale"
bottom: "conv4_12/x2/bn"
top: "conv4_12/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_12/x2"
type: "ReLU"
bottom: "conv4_12/x2/bn"
top: "conv4_12/x2/bn"
}
layer {
name: "conv4_12/x2"
type: "Convolution"
bottom: "conv4_12/x2/bn"
top: "conv4_12/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_12"
type: "Concat"
bottom: "concat_4_11"
bottom: "conv4_12/x2"
top: "concat_4_12"
}
layer {
name: "conv4_13/x1/bn"
type: "BatchNorm"
bottom: "concat_4_12"
top: "conv4_13/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_13/x1/scale"
type: "Scale"
bottom: "conv4_13/x1/bn"
top: "conv4_13/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_13/x1"
type: "ReLU"
bottom: "conv4_13/x1/bn"
top: "conv4_13/x1/bn"
}
layer {
name: "conv4_13/x1"
type: "Convolution"
bottom: "conv4_13/x1/bn"
top: "conv4_13/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_13/x2/bn"
type: "BatchNorm"
bottom: "conv4_13/x1"
top: "conv4_13/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_13/x2/scale"
type: "Scale"
bottom: "conv4_13/x2/bn"
top: "conv4_13/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_13/x2"
type: "ReLU"
bottom: "conv4_13/x2/bn"
top: "conv4_13/x2/bn"
}
layer {
name: "conv4_13/x2"
type: "Convolution"
bottom: "conv4_13/x2/bn"
top: "conv4_13/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_13"
type: "Concat"
bottom: "concat_4_12"
bottom: "conv4_13/x2"
top: "concat_4_13"
}
layer {
name: "conv4_14/x1/bn"
type: "BatchNorm"
bottom: "concat_4_13"
top: "conv4_14/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_14/x1/scale"
type: "Scale"
bottom: "conv4_14/x1/bn"
top: "conv4_14/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_14/x1"
type: "ReLU"
bottom: "conv4_14/x1/bn"
top: "conv4_14/x1/bn"
}
layer {
name: "conv4_14/x1"
type: "Convolution"
bottom: "conv4_14/x1/bn"
top: "conv4_14/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_14/x2/bn"
type: "BatchNorm"
bottom: "conv4_14/x1"
top: "conv4_14/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_14/x2/scale"
type: "Scale"
bottom: "conv4_14/x2/bn"
top: "conv4_14/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_14/x2"
type: "ReLU"
bottom: "conv4_14/x2/bn"
top: "conv4_14/x2/bn"
}
layer {
name: "conv4_14/x2"
type: "Convolution"
bottom: "conv4_14/x2/bn"
top: "conv4_14/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_14"
type: "Concat"
bottom: "concat_4_13"
bottom: "conv4_14/x2"
top: "concat_4_14"
}
layer {
name: "conv4_15/x1/bn"
type: "BatchNorm"
bottom: "concat_4_14"
top: "conv4_15/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_15/x1/scale"
type: "Scale"
bottom: "conv4_15/x1/bn"
top: "conv4_15/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_15/x1"
type: "ReLU"
bottom: "conv4_15/x1/bn"
top: "conv4_15/x1/bn"
}
layer {
name: "conv4_15/x1"
type: "Convolution"
bottom: "conv4_15/x1/bn"
top: "conv4_15/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_15/x2/bn"
type: "BatchNorm"
bottom: "conv4_15/x1"
top: "conv4_15/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_15/x2/scale"
type: "Scale"
bottom: "conv4_15/x2/bn"
top: "conv4_15/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_15/x2"
type: "ReLU"
bottom: "conv4_15/x2/bn"
top: "conv4_15/x2/bn"
}
layer {
name: "conv4_15/x2"
type: "Convolution"
bottom: "conv4_15/x2/bn"
top: "conv4_15/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_15"
type: "Concat"
bottom: "concat_4_14"
bottom: "conv4_15/x2"
top: "concat_4_15"
}
layer {
name: "conv4_16/x1/bn"
type: "BatchNorm"
bottom: "concat_4_15"
top: "conv4_16/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_16/x1/scale"
type: "Scale"
bottom: "conv4_16/x1/bn"
top: "conv4_16/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_16/x1"
type: "ReLU"
bottom: "conv4_16/x1/bn"
top: "conv4_16/x1/bn"
}
layer {
name: "conv4_16/x1"
type: "Convolution"
bottom: "conv4_16/x1/bn"
top: "conv4_16/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_16/x2/bn"
type: "BatchNorm"
bottom: "conv4_16/x1"
top: "conv4_16/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_16/x2/scale"
type: "Scale"
bottom: "conv4_16/x2/bn"
top: "conv4_16/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_16/x2"
type: "ReLU"
bottom: "conv4_16/x2/bn"
top: "conv4_16/x2/bn"
}
layer {
name: "conv4_16/x2"
type: "Convolution"
bottom: "conv4_16/x2/bn"
top: "conv4_16/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_16"
type: "Concat"
bottom: "concat_4_15"
bottom: "conv4_16/x2"
top: "concat_4_16"
}
layer {
name: "conv4_17/x1/bn"
type: "BatchNorm"
bottom: "concat_4_16"
top: "conv4_17/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_17/x1/scale"
type: "Scale"
bottom: "conv4_17/x1/bn"
top: "conv4_17/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_17/x1"
type: "ReLU"
bottom: "conv4_17/x1/bn"
top: "conv4_17/x1/bn"
}
layer {
name: "conv4_17/x1"
type: "Convolution"
bottom: "conv4_17/x1/bn"
top: "conv4_17/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_17/x2/bn"
type: "BatchNorm"
bottom: "conv4_17/x1"
top: "conv4_17/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_17/x2/scale"
type: "Scale"
bottom: "conv4_17/x2/bn"
top: "conv4_17/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_17/x2"
type: "ReLU"
bottom: "conv4_17/x2/bn"
top: "conv4_17/x2/bn"
}
layer {
name: "conv4_17/x2"
type: "Convolution"
bottom: "conv4_17/x2/bn"
top: "conv4_17/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_17"
type: "Concat"
bottom: "concat_4_16"
bottom: "conv4_17/x2"
top: "concat_4_17"
}
layer {
name: "conv4_18/x1/bn"
type: "BatchNorm"
bottom: "concat_4_17"
top: "conv4_18/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_18/x1/scale"
type: "Scale"
bottom: "conv4_18/x1/bn"
top: "conv4_18/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_18/x1"
type: "ReLU"
bottom: "conv4_18/x1/bn"
top: "conv4_18/x1/bn"
}
layer {
name: "conv4_18/x1"
type: "Convolution"
bottom: "conv4_18/x1/bn"
top: "conv4_18/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_18/x2/bn"
type: "BatchNorm"
bottom: "conv4_18/x1"
top: "conv4_18/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_18/x2/scale"
type: "Scale"
bottom: "conv4_18/x2/bn"
top: "conv4_18/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_18/x2"
type: "ReLU"
bottom: "conv4_18/x2/bn"
top: "conv4_18/x2/bn"
}
layer {
name: "conv4_18/x2"
type: "Convolution"
bottom: "conv4_18/x2/bn"
top: "conv4_18/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_18"
type: "Concat"
bottom: "concat_4_17"
bottom: "conv4_18/x2"
top: "concat_4_18"
}
layer {
name: "conv4_19/x1/bn"
type: "BatchNorm"
bottom: "concat_4_18"
top: "conv4_19/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_19/x1/scale"
type: "Scale"
bottom: "conv4_19/x1/bn"
top: "conv4_19/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_19/x1"
type: "ReLU"
bottom: "conv4_19/x1/bn"
top: "conv4_19/x1/bn"
}
layer {
name: "conv4_19/x1"
type: "Convolution"
bottom: "conv4_19/x1/bn"
top: "conv4_19/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_19/x2/bn"
type: "BatchNorm"
bottom: "conv4_19/x1"
top: "conv4_19/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_19/x2/scale"
type: "Scale"
bottom: "conv4_19/x2/bn"
top: "conv4_19/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_19/x2"
type: "ReLU"
bottom: "conv4_19/x2/bn"
top: "conv4_19/x2/bn"
}
layer {
name: "conv4_19/x2"
type: "Convolution"
bottom: "conv4_19/x2/bn"
top: "conv4_19/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_19"
type: "Concat"
bottom: "concat_4_18"
bottom: "conv4_19/x2"
top: "concat_4_19"
}
layer {
name: "conv4_20/x1/bn"
type: "BatchNorm"
bottom: "concat_4_19"
top: "conv4_20/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_20/x1/scale"
type: "Scale"
bottom: "conv4_20/x1/bn"
top: "conv4_20/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_20/x1"
type: "ReLU"
bottom: "conv4_20/x1/bn"
top: "conv4_20/x1/bn"
}
layer {
name: "conv4_20/x1"
type: "Convolution"
bottom: "conv4_20/x1/bn"
top: "conv4_20/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_20/x2/bn"
type: "BatchNorm"
bottom: "conv4_20/x1"
top: "conv4_20/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_20/x2/scale"
type: "Scale"
bottom: "conv4_20/x2/bn"
top: "conv4_20/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_20/x2"
type: "ReLU"
bottom: "conv4_20/x2/bn"
top: "conv4_20/x2/bn"
}
layer {
name: "conv4_20/x2"
type: "Convolution"
bottom: "conv4_20/x2/bn"
top: "conv4_20/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_20"
type: "Concat"
bottom: "concat_4_19"
bottom: "conv4_20/x2"
top: "concat_4_20"
}
layer {
name: "conv4_21/x1/bn"
type: "BatchNorm"
bottom: "concat_4_20"
top: "conv4_21/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_21/x1/scale"
type: "Scale"
bottom: "conv4_21/x1/bn"
top: "conv4_21/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_21/x1"
type: "ReLU"
bottom: "conv4_21/x1/bn"
top: "conv4_21/x1/bn"
}
layer {
name: "conv4_21/x1"
type: "Convolution"
bottom: "conv4_21/x1/bn"
top: "conv4_21/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_21/x2/bn"
type: "BatchNorm"
bottom: "conv4_21/x1"
top: "conv4_21/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_21/x2/scale"
type: "Scale"
bottom: "conv4_21/x2/bn"
top: "conv4_21/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_21/x2"
type: "ReLU"
bottom: "conv4_21/x2/bn"
top: "conv4_21/x2/bn"
}
layer {
name: "conv4_21/x2"
type: "Convolution"
bottom: "conv4_21/x2/bn"
top: "conv4_21/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_21"
type: "Concat"
bottom: "concat_4_20"
bottom: "conv4_21/x2"
top: "concat_4_21"
}
layer {
name: "conv4_22/x1/bn"
type: "BatchNorm"
bottom: "concat_4_21"
top: "conv4_22/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_22/x1/scale"
type: "Scale"
bottom: "conv4_22/x1/bn"
top: "conv4_22/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_22/x1"
type: "ReLU"
bottom: "conv4_22/x1/bn"
top: "conv4_22/x1/bn"
}
layer {
name: "conv4_22/x1"
type: "Convolution"
bottom: "conv4_22/x1/bn"
top: "conv4_22/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_22/x2/bn"
type: "BatchNorm"
bottom: "conv4_22/x1"
top: "conv4_22/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_22/x2/scale"
type: "Scale"
bottom: "conv4_22/x2/bn"
top: "conv4_22/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_22/x2"
type: "ReLU"
bottom: "conv4_22/x2/bn"
top: "conv4_22/x2/bn"
}
layer {
name: "conv4_22/x2"
type: "Convolution"
bottom: "conv4_22/x2/bn"
top: "conv4_22/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_22"
type: "Concat"
bottom: "concat_4_21"
bottom: "conv4_22/x2"
top: "concat_4_22"
}
layer {
name: "conv4_23/x1/bn"
type: "BatchNorm"
bottom: "concat_4_22"
top: "conv4_23/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_23/x1/scale"
type: "Scale"
bottom: "conv4_23/x1/bn"
top: "conv4_23/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_23/x1"
type: "ReLU"
bottom: "conv4_23/x1/bn"
top: "conv4_23/x1/bn"
}
layer {
name: "conv4_23/x1"
type: "Convolution"
bottom: "conv4_23/x1/bn"
top: "conv4_23/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_23/x2/bn"
type: "BatchNorm"
bottom: "conv4_23/x1"
top: "conv4_23/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_23/x2/scale"
type: "Scale"
bottom: "conv4_23/x2/bn"
top: "conv4_23/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_23/x2"
type: "ReLU"
bottom: "conv4_23/x2/bn"
top: "conv4_23/x2/bn"
}
layer {
name: "conv4_23/x2"
type: "Convolution"
bottom: "conv4_23/x2/bn"
top: "conv4_23/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_23"
type: "Concat"
bottom: "concat_4_22"
bottom: "conv4_23/x2"
top: "concat_4_23"
}
layer {
name: "conv4_24/x1/bn"
type: "BatchNorm"
bottom: "concat_4_23"
top: "conv4_24/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_24/x1/scale"
type: "Scale"
bottom: "conv4_24/x1/bn"
top: "conv4_24/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_24/x1"
type: "ReLU"
bottom: "conv4_24/x1/bn"
top: "conv4_24/x1/bn"
}
layer {
name: "conv4_24/x1"
type: "Convolution"
bottom: "conv4_24/x1/bn"
top: "conv4_24/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_24/x2/bn"
type: "BatchNorm"
bottom: "conv4_24/x1"
top: "conv4_24/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_24/x2/scale"
type: "Scale"
bottom: "conv4_24/x2/bn"
top: "conv4_24/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_24/x2"
type: "ReLU"
bottom: "conv4_24/x2/bn"
top: "conv4_24/x2/bn"
}
layer {
name: "conv4_24/x2"
type: "Convolution"
bottom: "conv4_24/x2/bn"
top: "conv4_24/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_24"
type: "Concat"
bottom: "concat_4_23"
bottom: "conv4_24/x2"
top: "concat_4_24"
}
layer {
name: "conv4_25/x1/bn"
type: "BatchNorm"
bottom: "concat_4_24"
top: "conv4_25/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_25/x1/scale"
type: "Scale"
bottom: "conv4_25/x1/bn"
top: "conv4_25/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_25/x1"
type: "ReLU"
bottom: "conv4_25/x1/bn"
top: "conv4_25/x1/bn"
}
layer {
name: "conv4_25/x1"
type: "Convolution"
bottom: "conv4_25/x1/bn"
top: "conv4_25/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_25/x2/bn"
type: "BatchNorm"
bottom: "conv4_25/x1"
top: "conv4_25/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_25/x2/scale"
type: "Scale"
bottom: "conv4_25/x2/bn"
top: "conv4_25/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_25/x2"
type: "ReLU"
bottom: "conv4_25/x2/bn"
top: "conv4_25/x2/bn"
}
layer {
name: "conv4_25/x2"
type: "Convolution"
bottom: "conv4_25/x2/bn"
top: "conv4_25/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_25"
type: "Concat"
bottom: "concat_4_24"
bottom: "conv4_25/x2"
top: "concat_4_25"
}
layer {
name: "conv4_26/x1/bn"
type: "BatchNorm"
bottom: "concat_4_25"
top: "conv4_26/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_26/x1/scale"
type: "Scale"
bottom: "conv4_26/x1/bn"
top: "conv4_26/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_26/x1"
type: "ReLU"
bottom: "conv4_26/x1/bn"
top: "conv4_26/x1/bn"
}
layer {
name: "conv4_26/x1"
type: "Convolution"
bottom: "conv4_26/x1/bn"
top: "conv4_26/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_26/x2/bn"
type: "BatchNorm"
bottom: "conv4_26/x1"
top: "conv4_26/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_26/x2/scale"
type: "Scale"
bottom: "conv4_26/x2/bn"
top: "conv4_26/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_26/x2"
type: "ReLU"
bottom: "conv4_26/x2/bn"
top: "conv4_26/x2/bn"
}
layer {
name: "conv4_26/x2"
type: "Convolution"
bottom: "conv4_26/x2/bn"
top: "conv4_26/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_26"
type: "Concat"
bottom: "concat_4_25"
bottom: "conv4_26/x2"
top: "concat_4_26"
}
layer {
name: "conv4_27/x1/bn"
type: "BatchNorm"
bottom: "concat_4_26"
top: "conv4_27/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_27/x1/scale"
type: "Scale"
bottom: "conv4_27/x1/bn"
top: "conv4_27/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_27/x1"
type: "ReLU"
bottom: "conv4_27/x1/bn"
top: "conv4_27/x1/bn"
}
layer {
name: "conv4_27/x1"
type: "Convolution"
bottom: "conv4_27/x1/bn"
top: "conv4_27/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_27/x2/bn"
type: "BatchNorm"
bottom: "conv4_27/x1"
top: "conv4_27/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_27/x2/scale"
type: "Scale"
bottom: "conv4_27/x2/bn"
top: "conv4_27/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_27/x2"
type: "ReLU"
bottom: "conv4_27/x2/bn"
top: "conv4_27/x2/bn"
}
layer {
name: "conv4_27/x2"
type: "Convolution"
bottom: "conv4_27/x2/bn"
top: "conv4_27/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_27"
type: "Concat"
bottom: "concat_4_26"
bottom: "conv4_27/x2"
top: "concat_4_27"
}
layer {
name: "conv4_28/x1/bn"
type: "BatchNorm"
bottom: "concat_4_27"
top: "conv4_28/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_28/x1/scale"
type: "Scale"
bottom: "conv4_28/x1/bn"
top: "conv4_28/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_28/x1"
type: "ReLU"
bottom: "conv4_28/x1/bn"
top: "conv4_28/x1/bn"
}
layer {
name: "conv4_28/x1"
type: "Convolution"
bottom: "conv4_28/x1/bn"
top: "conv4_28/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_28/x2/bn"
type: "BatchNorm"
bottom: "conv4_28/x1"
top: "conv4_28/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_28/x2/scale"
type: "Scale"
bottom: "conv4_28/x2/bn"
top: "conv4_28/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_28/x2"
type: "ReLU"
bottom: "conv4_28/x2/bn"
top: "conv4_28/x2/bn"
}
layer {
name: "conv4_28/x2"
type: "Convolution"
bottom: "conv4_28/x2/bn"
top: "conv4_28/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_28"
type: "Concat"
bottom: "concat_4_27"
bottom: "conv4_28/x2"
top: "concat_4_28"
}
layer {
name: "conv4_29/x1/bn"
type: "BatchNorm"
bottom: "concat_4_28"
top: "conv4_29/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_29/x1/scale"
type: "Scale"
bottom: "conv4_29/x1/bn"
top: "conv4_29/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_29/x1"
type: "ReLU"
bottom: "conv4_29/x1/bn"
top: "conv4_29/x1/bn"
}
layer {
name: "conv4_29/x1"
type: "Convolution"
bottom: "conv4_29/x1/bn"
top: "conv4_29/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_29/x2/bn"
type: "BatchNorm"
bottom: "conv4_29/x1"
top: "conv4_29/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_29/x2/scale"
type: "Scale"
bottom: "conv4_29/x2/bn"
top: "conv4_29/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_29/x2"
type: "ReLU"
bottom: "conv4_29/x2/bn"
top: "conv4_29/x2/bn"
}
layer {
name: "conv4_29/x2"
type: "Convolution"
bottom: "conv4_29/x2/bn"
top: "conv4_29/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_29"
type: "Concat"
bottom: "concat_4_28"
bottom: "conv4_29/x2"
top: "concat_4_29"
}
layer {
name: "conv4_30/x1/bn"
type: "BatchNorm"
bottom: "concat_4_29"
top: "conv4_30/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_30/x1/scale"
type: "Scale"
bottom: "conv4_30/x1/bn"
top: "conv4_30/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_30/x1"
type: "ReLU"
bottom: "conv4_30/x1/bn"
top: "conv4_30/x1/bn"
}
layer {
name: "conv4_30/x1"
type: "Convolution"
bottom: "conv4_30/x1/bn"
top: "conv4_30/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_30/x2/bn"
type: "BatchNorm"
bottom: "conv4_30/x1"
top: "conv4_30/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_30/x2/scale"
type: "Scale"
bottom: "conv4_30/x2/bn"
top: "conv4_30/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_30/x2"
type: "ReLU"
bottom: "conv4_30/x2/bn"
top: "conv4_30/x2/bn"
}
layer {
name: "conv4_30/x2"
type: "Convolution"
bottom: "conv4_30/x2/bn"
top: "conv4_30/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_30"
type: "Concat"
bottom: "concat_4_29"
bottom: "conv4_30/x2"
top: "concat_4_30"
}
layer {
name: "conv4_31/x1/bn"
type: "BatchNorm"
bottom: "concat_4_30"
top: "conv4_31/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_31/x1/scale"
type: "Scale"
bottom: "conv4_31/x1/bn"
top: "conv4_31/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_31/x1"
type: "ReLU"
bottom: "conv4_31/x1/bn"
top: "conv4_31/x1/bn"
}
layer {
name: "conv4_31/x1"
type: "Convolution"
bottom: "conv4_31/x1/bn"
top: "conv4_31/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_31/x2/bn"
type: "BatchNorm"
bottom: "conv4_31/x1"
top: "conv4_31/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_31/x2/scale"
type: "Scale"
bottom: "conv4_31/x2/bn"
top: "conv4_31/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_31/x2"
type: "ReLU"
bottom: "conv4_31/x2/bn"
top: "conv4_31/x2/bn"
}
layer {
name: "conv4_31/x2"
type: "Convolution"
bottom: "conv4_31/x2/bn"
top: "conv4_31/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_31"
type: "Concat"
bottom: "concat_4_30"
bottom: "conv4_31/x2"
top: "concat_4_31"
}
layer {
name: "conv4_32/x1/bn"
type: "BatchNorm"
bottom: "concat_4_31"
top: "conv4_32/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_32/x1/scale"
type: "Scale"
bottom: "conv4_32/x1/bn"
top: "conv4_32/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_32/x1"
type: "ReLU"
bottom: "conv4_32/x1/bn"
top: "conv4_32/x1/bn"
}
layer {
name: "conv4_32/x1"
type: "Convolution"
bottom: "conv4_32/x1/bn"
top: "conv4_32/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_32/x2/bn"
type: "BatchNorm"
bottom: "conv4_32/x1"
top: "conv4_32/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_32/x2/scale"
type: "Scale"
bottom: "conv4_32/x2/bn"
top: "conv4_32/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_32/x2"
type: "ReLU"
bottom: "conv4_32/x2/bn"
top: "conv4_32/x2/bn"
}
layer {
name: "conv4_32/x2"
type: "Convolution"
bottom: "conv4_32/x2/bn"
top: "conv4_32/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_32"
type: "Concat"
bottom: "concat_4_31"
bottom: "conv4_32/x2"
top: "concat_4_32"
}
layer {
name: "conv4_33/x1/bn"
type: "BatchNorm"
bottom: "concat_4_32"
top: "conv4_33/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_33/x1/scale"
type: "Scale"
bottom: "conv4_33/x1/bn"
top: "conv4_33/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_33/x1"
type: "ReLU"
bottom: "conv4_33/x1/bn"
top: "conv4_33/x1/bn"
}
layer {
name: "conv4_33/x1"
type: "Convolution"
bottom: "conv4_33/x1/bn"
top: "conv4_33/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_33/x2/bn"
type: "BatchNorm"
bottom: "conv4_33/x1"
top: "conv4_33/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_33/x2/scale"
type: "Scale"
bottom: "conv4_33/x2/bn"
top: "conv4_33/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_33/x2"
type: "ReLU"
bottom: "conv4_33/x2/bn"
top: "conv4_33/x2/bn"
}
layer {
name: "conv4_33/x2"
type: "Convolution"
bottom: "conv4_33/x2/bn"
top: "conv4_33/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_33"
type: "Concat"
bottom: "concat_4_32"
bottom: "conv4_33/x2"
top: "concat_4_33"
}
layer {
name: "conv4_34/x1/bn"
type: "BatchNorm"
bottom: "concat_4_33"
top: "conv4_34/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_34/x1/scale"
type: "Scale"
bottom: "conv4_34/x1/bn"
top: "conv4_34/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_34/x1"
type: "ReLU"
bottom: "conv4_34/x1/bn"
top: "conv4_34/x1/bn"
}
layer {
name: "conv4_34/x1"
type: "Convolution"
bottom: "conv4_34/x1/bn"
top: "conv4_34/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_34/x2/bn"
type: "BatchNorm"
bottom: "conv4_34/x1"
top: "conv4_34/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_34/x2/scale"
type: "Scale"
bottom: "conv4_34/x2/bn"
top: "conv4_34/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_34/x2"
type: "ReLU"
bottom: "conv4_34/x2/bn"
top: "conv4_34/x2/bn"
}
layer {
name: "conv4_34/x2"
type: "Convolution"
bottom: "conv4_34/x2/bn"
top: "conv4_34/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_34"
type: "Concat"
bottom: "concat_4_33"
bottom: "conv4_34/x2"
top: "concat_4_34"
}
layer {
name: "conv4_35/x1/bn"
type: "BatchNorm"
bottom: "concat_4_34"
top: "conv4_35/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_35/x1/scale"
type: "Scale"
bottom: "conv4_35/x1/bn"
top: "conv4_35/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_35/x1"
type: "ReLU"
bottom: "conv4_35/x1/bn"
top: "conv4_35/x1/bn"
}
layer {
name: "conv4_35/x1"
type: "Convolution"
bottom: "conv4_35/x1/bn"
top: "conv4_35/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_35/x2/bn"
type: "BatchNorm"
bottom: "conv4_35/x1"
top: "conv4_35/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_35/x2/scale"
type: "Scale"
bottom: "conv4_35/x2/bn"
top: "conv4_35/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_35/x2"
type: "ReLU"
bottom: "conv4_35/x2/bn"
top: "conv4_35/x2/bn"
}
layer {
name: "conv4_35/x2"
type: "Convolution"
bottom: "conv4_35/x2/bn"
top: "conv4_35/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_35"
type: "Concat"
bottom: "concat_4_34"
bottom: "conv4_35/x2"
top: "concat_4_35"
}
layer {
name: "conv4_36/x1/bn"
type: "BatchNorm"
bottom: "concat_4_35"
top: "conv4_36/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_36/x1/scale"
type: "Scale"
bottom: "conv4_36/x1/bn"
top: "conv4_36/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_36/x1"
type: "ReLU"
bottom: "conv4_36/x1/bn"
top: "conv4_36/x1/bn"
}
layer {
name: "conv4_36/x1"
type: "Convolution"
bottom: "conv4_36/x1/bn"
top: "conv4_36/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_36/x2/bn"
type: "BatchNorm"
bottom: "conv4_36/x1"
top: "conv4_36/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_36/x2/scale"
type: "Scale"
bottom: "conv4_36/x2/bn"
top: "conv4_36/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_36/x2"
type: "ReLU"
bottom: "conv4_36/x2/bn"
top: "conv4_36/x2/bn"
}
layer {
name: "conv4_36/x2"
type: "Convolution"
bottom: "conv4_36/x2/bn"
top: "conv4_36/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_36"
type: "Concat"
bottom: "concat_4_35"
bottom: "conv4_36/x2"
top: "concat_4_36"
}
layer {
name: "conv4_37/x1/bn"
type: "BatchNorm"
bottom: "concat_4_36"
top: "conv4_37/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_37/x1/scale"
type: "Scale"
bottom: "conv4_37/x1/bn"
top: "conv4_37/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_37/x1"
type: "ReLU"
bottom: "conv4_37/x1/bn"
top: "conv4_37/x1/bn"
}
layer {
name: "conv4_37/x1"
type: "Convolution"
bottom: "conv4_37/x1/bn"
top: "conv4_37/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_37/x2/bn"
type: "BatchNorm"
bottom: "conv4_37/x1"
top: "conv4_37/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_37/x2/scale"
type: "Scale"
bottom: "conv4_37/x2/bn"
top: "conv4_37/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_37/x2"
type: "ReLU"
bottom: "conv4_37/x2/bn"
top: "conv4_37/x2/bn"
}
layer {
name: "conv4_37/x2"
type: "Convolution"
bottom: "conv4_37/x2/bn"
top: "conv4_37/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_37"
type: "Concat"
bottom: "concat_4_36"
bottom: "conv4_37/x2"
top: "concat_4_37"
}
layer {
name: "conv4_38/x1/bn"
type: "BatchNorm"
bottom: "concat_4_37"
top: "conv4_38/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_38/x1/scale"
type: "Scale"
bottom: "conv4_38/x1/bn"
top: "conv4_38/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_38/x1"
type: "ReLU"
bottom: "conv4_38/x1/bn"
top: "conv4_38/x1/bn"
}
layer {
name: "conv4_38/x1"
type: "Convolution"
bottom: "conv4_38/x1/bn"
top: "conv4_38/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_38/x2/bn"
type: "BatchNorm"
bottom: "conv4_38/x1"
top: "conv4_38/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_38/x2/scale"
type: "Scale"
bottom: "conv4_38/x2/bn"
top: "conv4_38/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_38/x2"
type: "ReLU"
bottom: "conv4_38/x2/bn"
top: "conv4_38/x2/bn"
}
layer {
name: "conv4_38/x2"
type: "Convolution"
bottom: "conv4_38/x2/bn"
top: "conv4_38/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_38"
type: "Concat"
bottom: "concat_4_37"
bottom: "conv4_38/x2"
top: "concat_4_38"
}
layer {
name: "conv4_39/x1/bn"
type: "BatchNorm"
bottom: "concat_4_38"
top: "conv4_39/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_39/x1/scale"
type: "Scale"
bottom: "conv4_39/x1/bn"
top: "conv4_39/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_39/x1"
type: "ReLU"
bottom: "conv4_39/x1/bn"
top: "conv4_39/x1/bn"
}
layer {
name: "conv4_39/x1"
type: "Convolution"
bottom: "conv4_39/x1/bn"
top: "conv4_39/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_39/x2/bn"
type: "BatchNorm"
bottom: "conv4_39/x1"
top: "conv4_39/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_39/x2/scale"
type: "Scale"
bottom: "conv4_39/x2/bn"
top: "conv4_39/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_39/x2"
type: "ReLU"
bottom: "conv4_39/x2/bn"
top: "conv4_39/x2/bn"
}
layer {
name: "conv4_39/x2"
type: "Convolution"
bottom: "conv4_39/x2/bn"
top: "conv4_39/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_39"
type: "Concat"
bottom: "concat_4_38"
bottom: "conv4_39/x2"
top: "concat_4_39"
}
layer {
name: "conv4_40/x1/bn"
type: "BatchNorm"
bottom: "concat_4_39"
top: "conv4_40/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_40/x1/scale"
type: "Scale"
bottom: "conv4_40/x1/bn"
top: "conv4_40/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_40/x1"
type: "ReLU"
bottom: "conv4_40/x1/bn"
top: "conv4_40/x1/bn"
}
layer {
name: "conv4_40/x1"
type: "Convolution"
bottom: "conv4_40/x1/bn"
top: "conv4_40/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_40/x2/bn"
type: "BatchNorm"
bottom: "conv4_40/x1"
top: "conv4_40/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_40/x2/scale"
type: "Scale"
bottom: "conv4_40/x2/bn"
top: "conv4_40/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_40/x2"
type: "ReLU"
bottom: "conv4_40/x2/bn"
top: "conv4_40/x2/bn"
}
layer {
name: "conv4_40/x2"
type: "Convolution"
bottom: "conv4_40/x2/bn"
top: "conv4_40/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_40"
type: "Concat"
bottom: "concat_4_39"
bottom: "conv4_40/x2"
top: "concat_4_40"
}
layer {
name: "conv4_41/x1/bn"
type: "BatchNorm"
bottom: "concat_4_40"
top: "conv4_41/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_41/x1/scale"
type: "Scale"
bottom: "conv4_41/x1/bn"
top: "conv4_41/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_41/x1"
type: "ReLU"
bottom: "conv4_41/x1/bn"
top: "conv4_41/x1/bn"
}
layer {
name: "conv4_41/x1"
type: "Convolution"
bottom: "conv4_41/x1/bn"
top: "conv4_41/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_41/x2/bn"
type: "BatchNorm"
bottom: "conv4_41/x1"
top: "conv4_41/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_41/x2/scale"
type: "Scale"
bottom: "conv4_41/x2/bn"
top: "conv4_41/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_41/x2"
type: "ReLU"
bottom: "conv4_41/x2/bn"
top: "conv4_41/x2/bn"
}
layer {
name: "conv4_41/x2"
type: "Convolution"
bottom: "conv4_41/x2/bn"
top: "conv4_41/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_41"
type: "Concat"
bottom: "concat_4_40"
bottom: "conv4_41/x2"
top: "concat_4_41"
}
layer {
name: "conv4_42/x1/bn"
type: "BatchNorm"
bottom: "concat_4_41"
top: "conv4_42/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_42/x1/scale"
type: "Scale"
bottom: "conv4_42/x1/bn"
top: "conv4_42/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_42/x1"
type: "ReLU"
bottom: "conv4_42/x1/bn"
top: "conv4_42/x1/bn"
}
layer {
name: "conv4_42/x1"
type: "Convolution"
bottom: "conv4_42/x1/bn"
top: "conv4_42/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_42/x2/bn"
type: "BatchNorm"
bottom: "conv4_42/x1"
top: "conv4_42/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_42/x2/scale"
type: "Scale"
bottom: "conv4_42/x2/bn"
top: "conv4_42/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_42/x2"
type: "ReLU"
bottom: "conv4_42/x2/bn"
top: "conv4_42/x2/bn"
}
layer {
name: "conv4_42/x2"
type: "Convolution"
bottom: "conv4_42/x2/bn"
top: "conv4_42/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_42"
type: "Concat"
bottom: "concat_4_41"
bottom: "conv4_42/x2"
top: "concat_4_42"
}
layer {
name: "conv4_43/x1/bn"
type: "BatchNorm"
bottom: "concat_4_42"
top: "conv4_43/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_43/x1/scale"
type: "Scale"
bottom: "conv4_43/x1/bn"
top: "conv4_43/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_43/x1"
type: "ReLU"
bottom: "conv4_43/x1/bn"
top: "conv4_43/x1/bn"
}
layer {
name: "conv4_43/x1"
type: "Convolution"
bottom: "conv4_43/x1/bn"
top: "conv4_43/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_43/x2/bn"
type: "BatchNorm"
bottom: "conv4_43/x1"
top: "conv4_43/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_43/x2/scale"
type: "Scale"
bottom: "conv4_43/x2/bn"
top: "conv4_43/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_43/x2"
type: "ReLU"
bottom: "conv4_43/x2/bn"
top: "conv4_43/x2/bn"
}
layer {
name: "conv4_43/x2"
type: "Convolution"
bottom: "conv4_43/x2/bn"
top: "conv4_43/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_43"
type: "Concat"
bottom: "concat_4_42"
bottom: "conv4_43/x2"
top: "concat_4_43"
}
layer {
name: "conv4_44/x1/bn"
type: "BatchNorm"
bottom: "concat_4_43"
top: "conv4_44/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_44/x1/scale"
type: "Scale"
bottom: "conv4_44/x1/bn"
top: "conv4_44/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_44/x1"
type: "ReLU"
bottom: "conv4_44/x1/bn"
top: "conv4_44/x1/bn"
}
layer {
name: "conv4_44/x1"
type: "Convolution"
bottom: "conv4_44/x1/bn"
top: "conv4_44/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_44/x2/bn"
type: "BatchNorm"
bottom: "conv4_44/x1"
top: "conv4_44/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_44/x2/scale"
type: "Scale"
bottom: "conv4_44/x2/bn"
top: "conv4_44/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_44/x2"
type: "ReLU"
bottom: "conv4_44/x2/bn"
top: "conv4_44/x2/bn"
}
layer {
name: "conv4_44/x2"
type: "Convolution"
bottom: "conv4_44/x2/bn"
top: "conv4_44/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_44"
type: "Concat"
bottom: "concat_4_43"
bottom: "conv4_44/x2"
top: "concat_4_44"
}
layer {
name: "conv4_45/x1/bn"
type: "BatchNorm"
bottom: "concat_4_44"
top: "conv4_45/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_45/x1/scale"
type: "Scale"
bottom: "conv4_45/x1/bn"
top: "conv4_45/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_45/x1"
type: "ReLU"
bottom: "conv4_45/x1/bn"
top: "conv4_45/x1/bn"
}
layer {
name: "conv4_45/x1"
type: "Convolution"
bottom: "conv4_45/x1/bn"
top: "conv4_45/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_45/x2/bn"
type: "BatchNorm"
bottom: "conv4_45/x1"
top: "conv4_45/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_45/x2/scale"
type: "Scale"
bottom: "conv4_45/x2/bn"
top: "conv4_45/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_45/x2"
type: "ReLU"
bottom: "conv4_45/x2/bn"
top: "conv4_45/x2/bn"
}
layer {
name: "conv4_45/x2"
type: "Convolution"
bottom: "conv4_45/x2/bn"
top: "conv4_45/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_45"
type: "Concat"
bottom: "concat_4_44"
bottom: "conv4_45/x2"
top: "concat_4_45"
}
layer {
name: "conv4_46/x1/bn"
type: "BatchNorm"
bottom: "concat_4_45"
top: "conv4_46/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_46/x1/scale"
type: "Scale"
bottom: "conv4_46/x1/bn"
top: "conv4_46/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_46/x1"
type: "ReLU"
bottom: "conv4_46/x1/bn"
top: "conv4_46/x1/bn"
}
layer {
name: "conv4_46/x1"
type: "Convolution"
bottom: "conv4_46/x1/bn"
top: "conv4_46/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_46/x2/bn"
type: "BatchNorm"
bottom: "conv4_46/x1"
top: "conv4_46/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_46/x2/scale"
type: "Scale"
bottom: "conv4_46/x2/bn"
top: "conv4_46/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_46/x2"
type: "ReLU"
bottom: "conv4_46/x2/bn"
top: "conv4_46/x2/bn"
}
layer {
name: "conv4_46/x2"
type: "Convolution"
bottom: "conv4_46/x2/bn"
top: "conv4_46/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_46"
type: "Concat"
bottom: "concat_4_45"
bottom: "conv4_46/x2"
top: "concat_4_46"
}
layer {
name: "conv4_47/x1/bn"
type: "BatchNorm"
bottom: "concat_4_46"
top: "conv4_47/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_47/x1/scale"
type: "Scale"
bottom: "conv4_47/x1/bn"
top: "conv4_47/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_47/x1"
type: "ReLU"
bottom: "conv4_47/x1/bn"
top: "conv4_47/x1/bn"
}
layer {
name: "conv4_47/x1"
type: "Convolution"
bottom: "conv4_47/x1/bn"
top: "conv4_47/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_47/x2/bn"
type: "BatchNorm"
bottom: "conv4_47/x1"
top: "conv4_47/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_47/x2/scale"
type: "Scale"
bottom: "conv4_47/x2/bn"
top: "conv4_47/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_47/x2"
type: "ReLU"
bottom: "conv4_47/x2/bn"
top: "conv4_47/x2/bn"
}
layer {
name: "conv4_47/x2"
type: "Convolution"
bottom: "conv4_47/x2/bn"
top: "conv4_47/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_47"
type: "Concat"
bottom: "concat_4_46"
bottom: "conv4_47/x2"
top: "concat_4_47"
}
layer {
name: "conv4_48/x1/bn"
type: "BatchNorm"
bottom: "concat_4_47"
top: "conv4_48/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_48/x1/scale"
type: "Scale"
bottom: "conv4_48/x1/bn"
top: "conv4_48/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_48/x1"
type: "ReLU"
bottom: "conv4_48/x1/bn"
top: "conv4_48/x1/bn"
}
layer {
name: "conv4_48/x1"
type: "Convolution"
bottom: "conv4_48/x1/bn"
top: "conv4_48/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv4_48/x2/bn"
type: "BatchNorm"
bottom: "conv4_48/x1"
top: "conv4_48/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_48/x2/scale"
type: "Scale"
bottom: "conv4_48/x2/bn"
top: "conv4_48/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_48/x2"
type: "ReLU"
bottom: "conv4_48/x2/bn"
top: "conv4_48/x2/bn"
}
layer {
name: "conv4_48/x2"
type: "Convolution"
bottom: "conv4_48/x2/bn"
top: "conv4_48/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_4_48"
type: "Concat"
bottom: "concat_4_47"
bottom: "conv4_48/x2"
top: "concat_4_48"
}
layer {
name: "conv4_48/blk/bn"
type: "BatchNorm"
bottom: "concat_4_48"
top: "conv4_48/blk/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv4_48/blk/scale"
type: "Scale"
bottom: "conv4_48/blk/bn"
top: "conv4_48/blk/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu4_48/blk"
type: "ReLU"
bottom: "conv4_48/blk/bn"
top: "conv4_48/blk/bn"
}
layer {
name: "conv4_48/blk"
type: "Convolution"
bottom: "conv4_48/blk/bn"
top: "conv4_48/blk"
convolution_param {
num_output: 896
bias_term: false
kernel_size: 1
}
}
layer {
name: "pool4_48"
type: "Pooling"
bottom: "conv4_48/blk"
top: "pool4_48"
pooling_param {
pool: AVE
kernel_size: 2
stride: 2
}
}
layer {
name: "conv5_1/x1/bn"
type: "BatchNorm"
bottom: "pool4_48"
top: "conv5_1/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_1/x1/scale"
type: "Scale"
bottom: "conv5_1/x1/bn"
top: "conv5_1/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_1/x1"
type: "ReLU"
bottom: "conv5_1/x1/bn"
top: "conv5_1/x1/bn"
}
layer {
name: "conv5_1/x1"
type: "Convolution"
bottom: "conv5_1/x1/bn"
top: "conv5_1/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_1/x2/bn"
type: "BatchNorm"
bottom: "conv5_1/x1"
top: "conv5_1/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_1/x2/scale"
type: "Scale"
bottom: "conv5_1/x2/bn"
top: "conv5_1/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_1/x2"
type: "ReLU"
bottom: "conv5_1/x2/bn"
top: "conv5_1/x2/bn"
}
layer {
name: "conv5_1/x2"
type: "Convolution"
bottom: "conv5_1/x2/bn"
top: "conv5_1/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_1"
type: "Concat"
bottom: "pool4_48"
bottom: "conv5_1/x2"
top: "concat_5_1"
}
layer {
name: "conv5_2/x1/bn"
type: "BatchNorm"
bottom: "concat_5_1"
top: "conv5_2/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_2/x1/scale"
type: "Scale"
bottom: "conv5_2/x1/bn"
top: "conv5_2/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_2/x1"
type: "ReLU"
bottom: "conv5_2/x1/bn"
top: "conv5_2/x1/bn"
}
layer {
name: "conv5_2/x1"
type: "Convolution"
bottom: "conv5_2/x1/bn"
top: "conv5_2/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_2/x2/bn"
type: "BatchNorm"
bottom: "conv5_2/x1"
top: "conv5_2/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_2/x2/scale"
type: "Scale"
bottom: "conv5_2/x2/bn"
top: "conv5_2/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_2/x2"
type: "ReLU"
bottom: "conv5_2/x2/bn"
top: "conv5_2/x2/bn"
}
layer {
name: "conv5_2/x2"
type: "Convolution"
bottom: "conv5_2/x2/bn"
top: "conv5_2/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_2"
type: "Concat"
bottom: "concat_5_1"
bottom: "conv5_2/x2"
top: "concat_5_2"
}
layer {
name: "conv5_3/x1/bn"
type: "BatchNorm"
bottom: "concat_5_2"
top: "conv5_3/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_3/x1/scale"
type: "Scale"
bottom: "conv5_3/x1/bn"
top: "conv5_3/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_3/x1"
type: "ReLU"
bottom: "conv5_3/x1/bn"
top: "conv5_3/x1/bn"
}
layer {
name: "conv5_3/x1"
type: "Convolution"
bottom: "conv5_3/x1/bn"
top: "conv5_3/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_3/x2/bn"
type: "BatchNorm"
bottom: "conv5_3/x1"
top: "conv5_3/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_3/x2/scale"
type: "Scale"
bottom: "conv5_3/x2/bn"
top: "conv5_3/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_3/x2"
type: "ReLU"
bottom: "conv5_3/x2/bn"
top: "conv5_3/x2/bn"
}
layer {
name: "conv5_3/x2"
type: "Convolution"
bottom: "conv5_3/x2/bn"
top: "conv5_3/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_3"
type: "Concat"
bottom: "concat_5_2"
bottom: "conv5_3/x2"
top: "concat_5_3"
}
layer {
name: "conv5_4/x1/bn"
type: "BatchNorm"
bottom: "concat_5_3"
top: "conv5_4/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_4/x1/scale"
type: "Scale"
bottom: "conv5_4/x1/bn"
top: "conv5_4/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_4/x1"
type: "ReLU"
bottom: "conv5_4/x1/bn"
top: "conv5_4/x1/bn"
}
layer {
name: "conv5_4/x1"
type: "Convolution"
bottom: "conv5_4/x1/bn"
top: "conv5_4/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_4/x2/bn"
type: "BatchNorm"
bottom: "conv5_4/x1"
top: "conv5_4/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_4/x2/scale"
type: "Scale"
bottom: "conv5_4/x2/bn"
top: "conv5_4/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_4/x2"
type: "ReLU"
bottom: "conv5_4/x2/bn"
top: "conv5_4/x2/bn"
}
layer {
name: "conv5_4/x2"
type: "Convolution"
bottom: "conv5_4/x2/bn"
top: "conv5_4/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_4"
type: "Concat"
bottom: "concat_5_3"
bottom: "conv5_4/x2"
top: "concat_5_4"
}
layer {
name: "conv5_5/x1/bn"
type: "BatchNorm"
bottom: "concat_5_4"
top: "conv5_5/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_5/x1/scale"
type: "Scale"
bottom: "conv5_5/x1/bn"
top: "conv5_5/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_5/x1"
type: "ReLU"
bottom: "conv5_5/x1/bn"
top: "conv5_5/x1/bn"
}
layer {
name: "conv5_5/x1"
type: "Convolution"
bottom: "conv5_5/x1/bn"
top: "conv5_5/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_5/x2/bn"
type: "BatchNorm"
bottom: "conv5_5/x1"
top: "conv5_5/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_5/x2/scale"
type: "Scale"
bottom: "conv5_5/x2/bn"
top: "conv5_5/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_5/x2"
type: "ReLU"
bottom: "conv5_5/x2/bn"
top: "conv5_5/x2/bn"
}
layer {
name: "conv5_5/x2"
type: "Convolution"
bottom: "conv5_5/x2/bn"
top: "conv5_5/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_5"
type: "Concat"
bottom: "concat_5_4"
bottom: "conv5_5/x2"
top: "concat_5_5"
}
layer {
name: "conv5_6/x1/bn"
type: "BatchNorm"
bottom: "concat_5_5"
top: "conv5_6/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_6/x1/scale"
type: "Scale"
bottom: "conv5_6/x1/bn"
top: "conv5_6/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_6/x1"
type: "ReLU"
bottom: "conv5_6/x1/bn"
top: "conv5_6/x1/bn"
}
layer {
name: "conv5_6/x1"
type: "Convolution"
bottom: "conv5_6/x1/bn"
top: "conv5_6/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_6/x2/bn"
type: "BatchNorm"
bottom: "conv5_6/x1"
top: "conv5_6/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_6/x2/scale"
type: "Scale"
bottom: "conv5_6/x2/bn"
top: "conv5_6/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_6/x2"
type: "ReLU"
bottom: "conv5_6/x2/bn"
top: "conv5_6/x2/bn"
}
layer {
name: "conv5_6/x2"
type: "Convolution"
bottom: "conv5_6/x2/bn"
top: "conv5_6/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_6"
type: "Concat"
bottom: "concat_5_5"
bottom: "conv5_6/x2"
top: "concat_5_6"
}
layer {
name: "conv5_7/x1/bn"
type: "BatchNorm"
bottom: "concat_5_6"
top: "conv5_7/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_7/x1/scale"
type: "Scale"
bottom: "conv5_7/x1/bn"
top: "conv5_7/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_7/x1"
type: "ReLU"
bottom: "conv5_7/x1/bn"
top: "conv5_7/x1/bn"
}
layer {
name: "conv5_7/x1"
type: "Convolution"
bottom: "conv5_7/x1/bn"
top: "conv5_7/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_7/x2/bn"
type: "BatchNorm"
bottom: "conv5_7/x1"
top: "conv5_7/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_7/x2/scale"
type: "Scale"
bottom: "conv5_7/x2/bn"
top: "conv5_7/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_7/x2"
type: "ReLU"
bottom: "conv5_7/x2/bn"
top: "conv5_7/x2/bn"
}
layer {
name: "conv5_7/x2"
type: "Convolution"
bottom: "conv5_7/x2/bn"
top: "conv5_7/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_7"
type: "Concat"
bottom: "concat_5_6"
bottom: "conv5_7/x2"
top: "concat_5_7"
}
layer {
name: "conv5_8/x1/bn"
type: "BatchNorm"
bottom: "concat_5_7"
top: "conv5_8/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_8/x1/scale"
type: "Scale"
bottom: "conv5_8/x1/bn"
top: "conv5_8/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_8/x1"
type: "ReLU"
bottom: "conv5_8/x1/bn"
top: "conv5_8/x1/bn"
}
layer {
name: "conv5_8/x1"
type: "Convolution"
bottom: "conv5_8/x1/bn"
top: "conv5_8/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_8/x2/bn"
type: "BatchNorm"
bottom: "conv5_8/x1"
top: "conv5_8/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_8/x2/scale"
type: "Scale"
bottom: "conv5_8/x2/bn"
top: "conv5_8/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_8/x2"
type: "ReLU"
bottom: "conv5_8/x2/bn"
top: "conv5_8/x2/bn"
}
layer {
name: "conv5_8/x2"
type: "Convolution"
bottom: "conv5_8/x2/bn"
top: "conv5_8/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_8"
type: "Concat"
bottom: "concat_5_7"
bottom: "conv5_8/x2"
top: "concat_5_8"
}
layer {
name: "conv5_9/x1/bn"
type: "BatchNorm"
bottom: "concat_5_8"
top: "conv5_9/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_9/x1/scale"
type: "Scale"
bottom: "conv5_9/x1/bn"
top: "conv5_9/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_9/x1"
type: "ReLU"
bottom: "conv5_9/x1/bn"
top: "conv5_9/x1/bn"
}
layer {
name: "conv5_9/x1"
type: "Convolution"
bottom: "conv5_9/x1/bn"
top: "conv5_9/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_9/x2/bn"
type: "BatchNorm"
bottom: "conv5_9/x1"
top: "conv5_9/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_9/x2/scale"
type: "Scale"
bottom: "conv5_9/x2/bn"
top: "conv5_9/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_9/x2"
type: "ReLU"
bottom: "conv5_9/x2/bn"
top: "conv5_9/x2/bn"
}
layer {
name: "conv5_9/x2"
type: "Convolution"
bottom: "conv5_9/x2/bn"
top: "conv5_9/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_9"
type: "Concat"
bottom: "concat_5_8"
bottom: "conv5_9/x2"
top: "concat_5_9"
}
layer {
name: "conv5_10/x1/bn"
type: "BatchNorm"
bottom: "concat_5_9"
top: "conv5_10/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_10/x1/scale"
type: "Scale"
bottom: "conv5_10/x1/bn"
top: "conv5_10/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_10/x1"
type: "ReLU"
bottom: "conv5_10/x1/bn"
top: "conv5_10/x1/bn"
}
layer {
name: "conv5_10/x1"
type: "Convolution"
bottom: "conv5_10/x1/bn"
top: "conv5_10/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_10/x2/bn"
type: "BatchNorm"
bottom: "conv5_10/x1"
top: "conv5_10/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_10/x2/scale"
type: "Scale"
bottom: "conv5_10/x2/bn"
top: "conv5_10/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_10/x2"
type: "ReLU"
bottom: "conv5_10/x2/bn"
top: "conv5_10/x2/bn"
}
layer {
name: "conv5_10/x2"
type: "Convolution"
bottom: "conv5_10/x2/bn"
top: "conv5_10/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_10"
type: "Concat"
bottom: "concat_5_9"
bottom: "conv5_10/x2"
top: "concat_5_10"
}
layer {
name: "conv5_11/x1/bn"
type: "BatchNorm"
bottom: "concat_5_10"
top: "conv5_11/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_11/x1/scale"
type: "Scale"
bottom: "conv5_11/x1/bn"
top: "conv5_11/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_11/x1"
type: "ReLU"
bottom: "conv5_11/x1/bn"
top: "conv5_11/x1/bn"
}
layer {
name: "conv5_11/x1"
type: "Convolution"
bottom: "conv5_11/x1/bn"
top: "conv5_11/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_11/x2/bn"
type: "BatchNorm"
bottom: "conv5_11/x1"
top: "conv5_11/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_11/x2/scale"
type: "Scale"
bottom: "conv5_11/x2/bn"
top: "conv5_11/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_11/x2"
type: "ReLU"
bottom: "conv5_11/x2/bn"
top: "conv5_11/x2/bn"
}
layer {
name: "conv5_11/x2"
type: "Convolution"
bottom: "conv5_11/x2/bn"
top: "conv5_11/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_11"
type: "Concat"
bottom: "concat_5_10"
bottom: "conv5_11/x2"
top: "concat_5_11"
}
layer {
name: "conv5_12/x1/bn"
type: "BatchNorm"
bottom: "concat_5_11"
top: "conv5_12/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_12/x1/scale"
type: "Scale"
bottom: "conv5_12/x1/bn"
top: "conv5_12/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_12/x1"
type: "ReLU"
bottom: "conv5_12/x1/bn"
top: "conv5_12/x1/bn"
}
layer {
name: "conv5_12/x1"
type: "Convolution"
bottom: "conv5_12/x1/bn"
top: "conv5_12/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_12/x2/bn"
type: "BatchNorm"
bottom: "conv5_12/x1"
top: "conv5_12/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_12/x2/scale"
type: "Scale"
bottom: "conv5_12/x2/bn"
top: "conv5_12/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_12/x2"
type: "ReLU"
bottom: "conv5_12/x2/bn"
top: "conv5_12/x2/bn"
}
layer {
name: "conv5_12/x2"
type: "Convolution"
bottom: "conv5_12/x2/bn"
top: "conv5_12/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_12"
type: "Concat"
bottom: "concat_5_11"
bottom: "conv5_12/x2"
top: "concat_5_12"
}
layer {
name: "conv5_13/x1/bn"
type: "BatchNorm"
bottom: "concat_5_12"
top: "conv5_13/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_13/x1/scale"
type: "Scale"
bottom: "conv5_13/x1/bn"
top: "conv5_13/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_13/x1"
type: "ReLU"
bottom: "conv5_13/x1/bn"
top: "conv5_13/x1/bn"
}
layer {
name: "conv5_13/x1"
type: "Convolution"
bottom: "conv5_13/x1/bn"
top: "conv5_13/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_13/x2/bn"
type: "BatchNorm"
bottom: "conv5_13/x1"
top: "conv5_13/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_13/x2/scale"
type: "Scale"
bottom: "conv5_13/x2/bn"
top: "conv5_13/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_13/x2"
type: "ReLU"
bottom: "conv5_13/x2/bn"
top: "conv5_13/x2/bn"
}
layer {
name: "conv5_13/x2"
type: "Convolution"
bottom: "conv5_13/x2/bn"
top: "conv5_13/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_13"
type: "Concat"
bottom: "concat_5_12"
bottom: "conv5_13/x2"
top: "concat_5_13"
}
layer {
name: "conv5_14/x1/bn"
type: "BatchNorm"
bottom: "concat_5_13"
top: "conv5_14/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_14/x1/scale"
type: "Scale"
bottom: "conv5_14/x1/bn"
top: "conv5_14/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_14/x1"
type: "ReLU"
bottom: "conv5_14/x1/bn"
top: "conv5_14/x1/bn"
}
layer {
name: "conv5_14/x1"
type: "Convolution"
bottom: "conv5_14/x1/bn"
top: "conv5_14/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_14/x2/bn"
type: "BatchNorm"
bottom: "conv5_14/x1"
top: "conv5_14/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_14/x2/scale"
type: "Scale"
bottom: "conv5_14/x2/bn"
top: "conv5_14/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_14/x2"
type: "ReLU"
bottom: "conv5_14/x2/bn"
top: "conv5_14/x2/bn"
}
layer {
name: "conv5_14/x2"
type: "Convolution"
bottom: "conv5_14/x2/bn"
top: "conv5_14/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_14"
type: "Concat"
bottom: "concat_5_13"
bottom: "conv5_14/x2"
top: "concat_5_14"
}
layer {
name: "conv5_15/x1/bn"
type: "BatchNorm"
bottom: "concat_5_14"
top: "conv5_15/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_15/x1/scale"
type: "Scale"
bottom: "conv5_15/x1/bn"
top: "conv5_15/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_15/x1"
type: "ReLU"
bottom: "conv5_15/x1/bn"
top: "conv5_15/x1/bn"
}
layer {
name: "conv5_15/x1"
type: "Convolution"
bottom: "conv5_15/x1/bn"
top: "conv5_15/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_15/x2/bn"
type: "BatchNorm"
bottom: "conv5_15/x1"
top: "conv5_15/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_15/x2/scale"
type: "Scale"
bottom: "conv5_15/x2/bn"
top: "conv5_15/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_15/x2"
type: "ReLU"
bottom: "conv5_15/x2/bn"
top: "conv5_15/x2/bn"
}
layer {
name: "conv5_15/x2"
type: "Convolution"
bottom: "conv5_15/x2/bn"
top: "conv5_15/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_15"
type: "Concat"
bottom: "concat_5_14"
bottom: "conv5_15/x2"
top: "concat_5_15"
}
layer {
name: "conv5_16/x1/bn"
type: "BatchNorm"
bottom: "concat_5_15"
top: "conv5_16/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_16/x1/scale"
type: "Scale"
bottom: "conv5_16/x1/bn"
top: "conv5_16/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_16/x1"
type: "ReLU"
bottom: "conv5_16/x1/bn"
top: "conv5_16/x1/bn"
}
layer {
name: "conv5_16/x1"
type: "Convolution"
bottom: "conv5_16/x1/bn"
top: "conv5_16/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_16/x2/bn"
type: "BatchNorm"
bottom: "conv5_16/x1"
top: "conv5_16/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_16/x2/scale"
type: "Scale"
bottom: "conv5_16/x2/bn"
top: "conv5_16/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_16/x2"
type: "ReLU"
bottom: "conv5_16/x2/bn"
top: "conv5_16/x2/bn"
}
layer {
name: "conv5_16/x2"
type: "Convolution"
bottom: "conv5_16/x2/bn"
top: "conv5_16/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_16"
type: "Concat"
bottom: "concat_5_15"
bottom: "conv5_16/x2"
top: "concat_5_16"
}
layer {
name: "conv5_17/x1/bn"
type: "BatchNorm"
bottom: "concat_5_16"
top: "conv5_17/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_17/x1/scale"
type: "Scale"
bottom: "conv5_17/x1/bn"
top: "conv5_17/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_17/x1"
type: "ReLU"
bottom: "conv5_17/x1/bn"
top: "conv5_17/x1/bn"
}
layer {
name: "conv5_17/x1"
type: "Convolution"
bottom: "conv5_17/x1/bn"
top: "conv5_17/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_17/x2/bn"
type: "BatchNorm"
bottom: "conv5_17/x1"
top: "conv5_17/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_17/x2/scale"
type: "Scale"
bottom: "conv5_17/x2/bn"
top: "conv5_17/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_17/x2"
type: "ReLU"
bottom: "conv5_17/x2/bn"
top: "conv5_17/x2/bn"
}
layer {
name: "conv5_17/x2"
type: "Convolution"
bottom: "conv5_17/x2/bn"
top: "conv5_17/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_17"
type: "Concat"
bottom: "concat_5_16"
bottom: "conv5_17/x2"
top: "concat_5_17"
}
layer {
name: "conv5_18/x1/bn"
type: "BatchNorm"
bottom: "concat_5_17"
top: "conv5_18/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_18/x1/scale"
type: "Scale"
bottom: "conv5_18/x1/bn"
top: "conv5_18/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_18/x1"
type: "ReLU"
bottom: "conv5_18/x1/bn"
top: "conv5_18/x1/bn"
}
layer {
name: "conv5_18/x1"
type: "Convolution"
bottom: "conv5_18/x1/bn"
top: "conv5_18/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_18/x2/bn"
type: "BatchNorm"
bottom: "conv5_18/x1"
top: "conv5_18/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_18/x2/scale"
type: "Scale"
bottom: "conv5_18/x2/bn"
top: "conv5_18/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_18/x2"
type: "ReLU"
bottom: "conv5_18/x2/bn"
top: "conv5_18/x2/bn"
}
layer {
name: "conv5_18/x2"
type: "Convolution"
bottom: "conv5_18/x2/bn"
top: "conv5_18/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_18"
type: "Concat"
bottom: "concat_5_17"
bottom: "conv5_18/x2"
top: "concat_5_18"
}
layer {
name: "conv5_19/x1/bn"
type: "BatchNorm"
bottom: "concat_5_18"
top: "conv5_19/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_19/x1/scale"
type: "Scale"
bottom: "conv5_19/x1/bn"
top: "conv5_19/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_19/x1"
type: "ReLU"
bottom: "conv5_19/x1/bn"
top: "conv5_19/x1/bn"
}
layer {
name: "conv5_19/x1"
type: "Convolution"
bottom: "conv5_19/x1/bn"
top: "conv5_19/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_19/x2/bn"
type: "BatchNorm"
bottom: "conv5_19/x1"
top: "conv5_19/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_19/x2/scale"
type: "Scale"
bottom: "conv5_19/x2/bn"
top: "conv5_19/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_19/x2"
type: "ReLU"
bottom: "conv5_19/x2/bn"
top: "conv5_19/x2/bn"
}
layer {
name: "conv5_19/x2"
type: "Convolution"
bottom: "conv5_19/x2/bn"
top: "conv5_19/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_19"
type: "Concat"
bottom: "concat_5_18"
bottom: "conv5_19/x2"
top: "concat_5_19"
}
layer {
name: "conv5_20/x1/bn"
type: "BatchNorm"
bottom: "concat_5_19"
top: "conv5_20/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_20/x1/scale"
type: "Scale"
bottom: "conv5_20/x1/bn"
top: "conv5_20/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_20/x1"
type: "ReLU"
bottom: "conv5_20/x1/bn"
top: "conv5_20/x1/bn"
}
layer {
name: "conv5_20/x1"
type: "Convolution"
bottom: "conv5_20/x1/bn"
top: "conv5_20/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_20/x2/bn"
type: "BatchNorm"
bottom: "conv5_20/x1"
top: "conv5_20/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_20/x2/scale"
type: "Scale"
bottom: "conv5_20/x2/bn"
top: "conv5_20/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_20/x2"
type: "ReLU"
bottom: "conv5_20/x2/bn"
top: "conv5_20/x2/bn"
}
layer {
name: "conv5_20/x2"
type: "Convolution"
bottom: "conv5_20/x2/bn"
top: "conv5_20/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_20"
type: "Concat"
bottom: "concat_5_19"
bottom: "conv5_20/x2"
top: "concat_5_20"
}
layer {
name: "conv5_21/x1/bn"
type: "BatchNorm"
bottom: "concat_5_20"
top: "conv5_21/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_21/x1/scale"
type: "Scale"
bottom: "conv5_21/x1/bn"
top: "conv5_21/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_21/x1"
type: "ReLU"
bottom: "conv5_21/x1/bn"
top: "conv5_21/x1/bn"
}
layer {
name: "conv5_21/x1"
type: "Convolution"
bottom: "conv5_21/x1/bn"
top: "conv5_21/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_21/x2/bn"
type: "BatchNorm"
bottom: "conv5_21/x1"
top: "conv5_21/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_21/x2/scale"
type: "Scale"
bottom: "conv5_21/x2/bn"
top: "conv5_21/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_21/x2"
type: "ReLU"
bottom: "conv5_21/x2/bn"
top: "conv5_21/x2/bn"
}
layer {
name: "conv5_21/x2"
type: "Convolution"
bottom: "conv5_21/x2/bn"
top: "conv5_21/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_21"
type: "Concat"
bottom: "concat_5_20"
bottom: "conv5_21/x2"
top: "concat_5_21"
}
layer {
name: "conv5_22/x1/bn"
type: "BatchNorm"
bottom: "concat_5_21"
top: "conv5_22/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_22/x1/scale"
type: "Scale"
bottom: "conv5_22/x1/bn"
top: "conv5_22/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_22/x1"
type: "ReLU"
bottom: "conv5_22/x1/bn"
top: "conv5_22/x1/bn"
}
layer {
name: "conv5_22/x1"
type: "Convolution"
bottom: "conv5_22/x1/bn"
top: "conv5_22/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_22/x2/bn"
type: "BatchNorm"
bottom: "conv5_22/x1"
top: "conv5_22/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_22/x2/scale"
type: "Scale"
bottom: "conv5_22/x2/bn"
top: "conv5_22/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_22/x2"
type: "ReLU"
bottom: "conv5_22/x2/bn"
top: "conv5_22/x2/bn"
}
layer {
name: "conv5_22/x2"
type: "Convolution"
bottom: "conv5_22/x2/bn"
top: "conv5_22/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_22"
type: "Concat"
bottom: "concat_5_21"
bottom: "conv5_22/x2"
top: "concat_5_22"
}
layer {
name: "conv5_23/x1/bn"
type: "BatchNorm"
bottom: "concat_5_22"
top: "conv5_23/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_23/x1/scale"
type: "Scale"
bottom: "conv5_23/x1/bn"
top: "conv5_23/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_23/x1"
type: "ReLU"
bottom: "conv5_23/x1/bn"
top: "conv5_23/x1/bn"
}
layer {
name: "conv5_23/x1"
type: "Convolution"
bottom: "conv5_23/x1/bn"
top: "conv5_23/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_23/x2/bn"
type: "BatchNorm"
bottom: "conv5_23/x1"
top: "conv5_23/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_23/x2/scale"
type: "Scale"
bottom: "conv5_23/x2/bn"
top: "conv5_23/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_23/x2"
type: "ReLU"
bottom: "conv5_23/x2/bn"
top: "conv5_23/x2/bn"
}
layer {
name: "conv5_23/x2"
type: "Convolution"
bottom: "conv5_23/x2/bn"
top: "conv5_23/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_23"
type: "Concat"
bottom: "concat_5_22"
bottom: "conv5_23/x2"
top: "concat_5_23"
}
layer {
name: "conv5_24/x1/bn"
type: "BatchNorm"
bottom: "concat_5_23"
top: "conv5_24/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_24/x1/scale"
type: "Scale"
bottom: "conv5_24/x1/bn"
top: "conv5_24/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_24/x1"
type: "ReLU"
bottom: "conv5_24/x1/bn"
top: "conv5_24/x1/bn"
}
layer {
name: "conv5_24/x1"
type: "Convolution"
bottom: "conv5_24/x1/bn"
top: "conv5_24/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_24/x2/bn"
type: "BatchNorm"
bottom: "conv5_24/x1"
top: "conv5_24/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_24/x2/scale"
type: "Scale"
bottom: "conv5_24/x2/bn"
top: "conv5_24/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_24/x2"
type: "ReLU"
bottom: "conv5_24/x2/bn"
top: "conv5_24/x2/bn"
}
layer {
name: "conv5_24/x2"
type: "Convolution"
bottom: "conv5_24/x2/bn"
top: "conv5_24/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_24"
type: "Concat"
bottom: "concat_5_23"
bottom: "conv5_24/x2"
top: "concat_5_24"
}
layer {
name: "conv5_25/x1/bn"
type: "BatchNorm"
bottom: "concat_5_24"
top: "conv5_25/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_25/x1/scale"
type: "Scale"
bottom: "conv5_25/x1/bn"
top: "conv5_25/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_25/x1"
type: "ReLU"
bottom: "conv5_25/x1/bn"
top: "conv5_25/x1/bn"
}
layer {
name: "conv5_25/x1"
type: "Convolution"
bottom: "conv5_25/x1/bn"
top: "conv5_25/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_25/x2/bn"
type: "BatchNorm"
bottom: "conv5_25/x1"
top: "conv5_25/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_25/x2/scale"
type: "Scale"
bottom: "conv5_25/x2/bn"
top: "conv5_25/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_25/x2"
type: "ReLU"
bottom: "conv5_25/x2/bn"
top: "conv5_25/x2/bn"
}
layer {
name: "conv5_25/x2"
type: "Convolution"
bottom: "conv5_25/x2/bn"
top: "conv5_25/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_25"
type: "Concat"
bottom: "concat_5_24"
bottom: "conv5_25/x2"
top: "concat_5_25"
}
layer {
name: "conv5_26/x1/bn"
type: "BatchNorm"
bottom: "concat_5_25"
top: "conv5_26/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_26/x1/scale"
type: "Scale"
bottom: "conv5_26/x1/bn"
top: "conv5_26/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_26/x1"
type: "ReLU"
bottom: "conv5_26/x1/bn"
top: "conv5_26/x1/bn"
}
layer {
name: "conv5_26/x1"
type: "Convolution"
bottom: "conv5_26/x1/bn"
top: "conv5_26/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_26/x2/bn"
type: "BatchNorm"
bottom: "conv5_26/x1"
top: "conv5_26/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_26/x2/scale"
type: "Scale"
bottom: "conv5_26/x2/bn"
top: "conv5_26/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_26/x2"
type: "ReLU"
bottom: "conv5_26/x2/bn"
top: "conv5_26/x2/bn"
}
layer {
name: "conv5_26/x2"
type: "Convolution"
bottom: "conv5_26/x2/bn"
top: "conv5_26/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_26"
type: "Concat"
bottom: "concat_5_25"
bottom: "conv5_26/x2"
top: "concat_5_26"
}
layer {
name: "conv5_27/x1/bn"
type: "BatchNorm"
bottom: "concat_5_26"
top: "conv5_27/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_27/x1/scale"
type: "Scale"
bottom: "conv5_27/x1/bn"
top: "conv5_27/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_27/x1"
type: "ReLU"
bottom: "conv5_27/x1/bn"
top: "conv5_27/x1/bn"
}
layer {
name: "conv5_27/x1"
type: "Convolution"
bottom: "conv5_27/x1/bn"
top: "conv5_27/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_27/x2/bn"
type: "BatchNorm"
bottom: "conv5_27/x1"
top: "conv5_27/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_27/x2/scale"
type: "Scale"
bottom: "conv5_27/x2/bn"
top: "conv5_27/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_27/x2"
type: "ReLU"
bottom: "conv5_27/x2/bn"
top: "conv5_27/x2/bn"
}
layer {
name: "conv5_27/x2"
type: "Convolution"
bottom: "conv5_27/x2/bn"
top: "conv5_27/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_27"
type: "Concat"
bottom: "concat_5_26"
bottom: "conv5_27/x2"
top: "concat_5_27"
}
layer {
name: "conv5_28/x1/bn"
type: "BatchNorm"
bottom: "concat_5_27"
top: "conv5_28/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_28/x1/scale"
type: "Scale"
bottom: "conv5_28/x1/bn"
top: "conv5_28/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_28/x1"
type: "ReLU"
bottom: "conv5_28/x1/bn"
top: "conv5_28/x1/bn"
}
layer {
name: "conv5_28/x1"
type: "Convolution"
bottom: "conv5_28/x1/bn"
top: "conv5_28/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_28/x2/bn"
type: "BatchNorm"
bottom: "conv5_28/x1"
top: "conv5_28/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_28/x2/scale"
type: "Scale"
bottom: "conv5_28/x2/bn"
top: "conv5_28/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_28/x2"
type: "ReLU"
bottom: "conv5_28/x2/bn"
top: "conv5_28/x2/bn"
}
layer {
name: "conv5_28/x2"
type: "Convolution"
bottom: "conv5_28/x2/bn"
top: "conv5_28/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_28"
type: "Concat"
bottom: "concat_5_27"
bottom: "conv5_28/x2"
top: "concat_5_28"
}
layer {
name: "conv5_29/x1/bn"
type: "BatchNorm"
bottom: "concat_5_28"
top: "conv5_29/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_29/x1/scale"
type: "Scale"
bottom: "conv5_29/x1/bn"
top: "conv5_29/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_29/x1"
type: "ReLU"
bottom: "conv5_29/x1/bn"
top: "conv5_29/x1/bn"
}
layer {
name: "conv5_29/x1"
type: "Convolution"
bottom: "conv5_29/x1/bn"
top: "conv5_29/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_29/x2/bn"
type: "BatchNorm"
bottom: "conv5_29/x1"
top: "conv5_29/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_29/x2/scale"
type: "Scale"
bottom: "conv5_29/x2/bn"
top: "conv5_29/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_29/x2"
type: "ReLU"
bottom: "conv5_29/x2/bn"
top: "conv5_29/x2/bn"
}
layer {
name: "conv5_29/x2"
type: "Convolution"
bottom: "conv5_29/x2/bn"
top: "conv5_29/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_29"
type: "Concat"
bottom: "concat_5_28"
bottom: "conv5_29/x2"
top: "concat_5_29"
}
layer {
name: "conv5_30/x1/bn"
type: "BatchNorm"
bottom: "concat_5_29"
top: "conv5_30/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_30/x1/scale"
type: "Scale"
bottom: "conv5_30/x1/bn"
top: "conv5_30/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_30/x1"
type: "ReLU"
bottom: "conv5_30/x1/bn"
top: "conv5_30/x1/bn"
}
layer {
name: "conv5_30/x1"
type: "Convolution"
bottom: "conv5_30/x1/bn"
top: "conv5_30/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_30/x2/bn"
type: "BatchNorm"
bottom: "conv5_30/x1"
top: "conv5_30/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_30/x2/scale"
type: "Scale"
bottom: "conv5_30/x2/bn"
top: "conv5_30/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_30/x2"
type: "ReLU"
bottom: "conv5_30/x2/bn"
top: "conv5_30/x2/bn"
}
layer {
name: "conv5_30/x2"
type: "Convolution"
bottom: "conv5_30/x2/bn"
top: "conv5_30/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_30"
type: "Concat"
bottom: "concat_5_29"
bottom: "conv5_30/x2"
top: "concat_5_30"
}
layer {
name: "conv5_31/x1/bn"
type: "BatchNorm"
bottom: "concat_5_30"
top: "conv5_31/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_31/x1/scale"
type: "Scale"
bottom: "conv5_31/x1/bn"
top: "conv5_31/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_31/x1"
type: "ReLU"
bottom: "conv5_31/x1/bn"
top: "conv5_31/x1/bn"
}
layer {
name: "conv5_31/x1"
type: "Convolution"
bottom: "conv5_31/x1/bn"
top: "conv5_31/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_31/x2/bn"
type: "BatchNorm"
bottom: "conv5_31/x1"
top: "conv5_31/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_31/x2/scale"
type: "Scale"
bottom: "conv5_31/x2/bn"
top: "conv5_31/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_31/x2"
type: "ReLU"
bottom: "conv5_31/x2/bn"
top: "conv5_31/x2/bn"
}
layer {
name: "conv5_31/x2"
type: "Convolution"
bottom: "conv5_31/x2/bn"
top: "conv5_31/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_31"
type: "Concat"
bottom: "concat_5_30"
bottom: "conv5_31/x2"
top: "concat_5_31"
}
layer {
name: "conv5_32/x1/bn"
type: "BatchNorm"
bottom: "concat_5_31"
top: "conv5_32/x1/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_32/x1/scale"
type: "Scale"
bottom: "conv5_32/x1/bn"
top: "conv5_32/x1/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_32/x1"
type: "ReLU"
bottom: "conv5_32/x1/bn"
top: "conv5_32/x1/bn"
}
layer {
name: "conv5_32/x1"
type: "Convolution"
bottom: "conv5_32/x1/bn"
top: "conv5_32/x1"
convolution_param {
num_output: 128
bias_term: false
kernel_size: 1
}
}
layer {
name: "conv5_32/x2/bn"
type: "BatchNorm"
bottom: "conv5_32/x1"
top: "conv5_32/x2/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_32/x2/scale"
type: "Scale"
bottom: "conv5_32/x2/bn"
top: "conv5_32/x2/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_32/x2"
type: "ReLU"
bottom: "conv5_32/x2/bn"
top: "conv5_32/x2/bn"
}
layer {
name: "conv5_32/x2"
type: "Convolution"
bottom: "conv5_32/x2/bn"
top: "conv5_32/x2"
convolution_param {
num_output: 32
bias_term: false
pad: 1
kernel_size: 3
}
}
layer {
name: "concat_5_32"
type: "Concat"
bottom: "concat_5_31"
bottom: "conv5_32/x2"
top: "concat_5_32"
}
layer {
name: "conv5_32/blk/bn"
type: "BatchNorm"
bottom: "concat_5_32"
top: "conv5_32/blk/bn"
batch_norm_param {
eps: 1e-5
}
}
layer {
name: "conv5_32/blk/scale"
type: "Scale"
bottom: "conv5_32/blk/bn"
top: "conv5_32/blk/bn"
scale_param {
bias_term: true
}
}
layer {
name: "relu5_32/blk"
type: "ReLU"
bottom: "conv5_32/blk/bn"
top: "conv5_32/blk/bn"
}
layer {
name: "pool5"
type: "Pooling"
bottom: "conv5_32/blk/bn"
top: "pool5"
pooling_param {
pool: AVE
global_pooling: true
}
}
layer {
name: "fc6"
type: "Convolution"
bottom: "pool5"
top: "fc6"
convolution_param {
num_output: 1000
kernel_size: 1
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment