Skip to content

Instantly share code, notes, and snippets.

@szm-R
Created July 9, 2017 04:08
Show Gist options
  • Save szm-R/2ed23859c5320f4c88061f049179c7a1 to your computer and use it in GitHub Desktop.
Save szm-R/2ed23859c5320f4c88061f049179c7a1 to your computer and use it in GitHub Desktop.
name: resnet269_v2
input: "data"
input_shape {
dim: 1
dim: 3
dim: 320
dim: 320
}
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 64
pad: 3
kernel_size: 7
stride: 2
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "conv1_bn"
type: "BatchNorm"
bottom: "conv1"
top: "conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "conv1_scale"
type: "Scale"
bottom: "conv1"
top: "conv1"
scale_param {
bias_term: true
}
}
layer {
name: "conv1_relu"
type: "ReLU"
bottom: "conv1"
top: "conv1"
}
layer {
name: "pool1"
type: "Pooling"
bottom: "conv1"
top: "pool1"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "res1_conv1"
type: "Convolution"
bottom: "pool1"
top: "res1_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res1_conv1_bn"
type: "BatchNorm"
bottom: "res1_conv1"
top: "res1_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res1_conv1_scale"
type: "Scale"
bottom: "res1_conv1"
top: "res1_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res1_conv1_relu"
type: "ReLU"
bottom: "res1_conv1"
top: "res1_conv1"
}
layer {
name: "res1_conv2"
type: "Convolution"
bottom: "res1_conv1"
top: "res1_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res1_conv2_bn"
type: "BatchNorm"
bottom: "res1_conv2"
top: "res1_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res1_conv2_scale"
type: "Scale"
bottom: "res1_conv2"
top: "res1_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res1_conv2_relu"
type: "ReLU"
bottom: "res1_conv2"
top: "res1_conv2"
}
layer {
name: "res1_conv3"
type: "Convolution"
bottom: "res1_conv2"
top: "res1_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 256
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res1_match_conv"
type: "Convolution"
bottom: "pool1"
top: "res1_match_conv"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 256
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res1_eletwise"
type: "Eltwise"
bottom: "res1_match_conv"
bottom: "res1_conv3"
top: "res1_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res2_bn"
type: "BatchNorm"
bottom: "res1_eletwise"
top: "res2_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res2_scale"
type: "Scale"
bottom: "res2_bn"
top: "res2_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res2_relu"
type: "ReLU"
bottom: "res2_bn"
top: "res2_bn"
}
layer {
name: "res2_conv1"
type: "Convolution"
bottom: "res2_bn"
top: "res2_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res2_conv1_bn"
type: "BatchNorm"
bottom: "res2_conv1"
top: "res2_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res2_conv1_scale"
type: "Scale"
bottom: "res2_conv1"
top: "res2_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res2_conv1_relu"
type: "ReLU"
bottom: "res2_conv1"
top: "res2_conv1"
}
layer {
name: "res2_conv2"
type: "Convolution"
bottom: "res2_conv1"
top: "res2_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res2_conv2_bn"
type: "BatchNorm"
bottom: "res2_conv2"
top: "res2_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res2_conv2_scale"
type: "Scale"
bottom: "res2_conv2"
top: "res2_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res2_conv2_relu"
type: "ReLU"
bottom: "res2_conv2"
top: "res2_conv2"
}
layer {
name: "res2_conv3"
type: "Convolution"
bottom: "res2_conv2"
top: "res2_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 256
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res2_eletwise"
type: "Eltwise"
bottom: "res1_eletwise"
bottom: "res2_conv3"
top: "res2_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res3_bn"
type: "BatchNorm"
bottom: "res2_eletwise"
top: "res3_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res3_scale"
type: "Scale"
bottom: "res3_bn"
top: "res3_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res3_relu"
type: "ReLU"
bottom: "res3_bn"
top: "res3_bn"
}
layer {
name: "res3_conv1"
type: "Convolution"
bottom: "res3_bn"
top: "res3_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res3_conv1_bn"
type: "BatchNorm"
bottom: "res3_conv1"
top: "res3_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res3_conv1_scale"
type: "Scale"
bottom: "res3_conv1"
top: "res3_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res3_conv1_relu"
type: "ReLU"
bottom: "res3_conv1"
top: "res3_conv1"
}
layer {
name: "res3_conv2"
type: "Convolution"
bottom: "res3_conv1"
top: "res3_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res3_conv2_bn"
type: "BatchNorm"
bottom: "res3_conv2"
top: "res3_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res3_conv2_scale"
type: "Scale"
bottom: "res3_conv2"
top: "res3_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res3_conv2_relu"
type: "ReLU"
bottom: "res3_conv2"
top: "res3_conv2"
}
layer {
name: "res3_conv3"
type: "Convolution"
bottom: "res3_conv2"
top: "res3_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 256
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res3_eletwise"
type: "Eltwise"
bottom: "res2_eletwise"
bottom: "res3_conv3"
top: "res3_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res4_bn"
type: "BatchNorm"
bottom: "res3_eletwise"
top: "res4_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res4_scale"
type: "Scale"
bottom: "res4_bn"
top: "res4_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res4_relu"
type: "ReLU"
bottom: "res4_bn"
top: "res4_bn"
}
layer {
name: "res4_conv1"
type: "Convolution"
bottom: "res4_bn"
top: "res4_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res4_conv1_bn"
type: "BatchNorm"
bottom: "res4_conv1"
top: "res4_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res4_conv1_scale"
type: "Scale"
bottom: "res4_conv1"
top: "res4_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res4_conv1_relu"
type: "ReLU"
bottom: "res4_conv1"
top: "res4_conv1"
}
layer {
name: "res4_conv2"
type: "Convolution"
bottom: "res4_conv1"
top: "res4_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 2
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res4_conv2_bn"
type: "BatchNorm"
bottom: "res4_conv2"
top: "res4_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res4_conv2_scale"
type: "Scale"
bottom: "res4_conv2"
top: "res4_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res4_conv2_relu"
type: "ReLU"
bottom: "res4_conv2"
top: "res4_conv2"
}
layer {
name: "res4_conv3"
type: "Convolution"
bottom: "res4_conv2"
top: "res4_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res4_match_conv"
type: "Convolution"
bottom: "res4_bn"
top: "res4_match_conv"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 2
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res4_eletwise"
type: "Eltwise"
bottom: "res4_match_conv"
bottom: "res4_conv3"
top: "res4_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res5_bn"
type: "BatchNorm"
bottom: "res4_eletwise"
top: "res5_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res5_scale"
type: "Scale"
bottom: "res5_bn"
top: "res5_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res5_relu"
type: "ReLU"
bottom: "res5_bn"
top: "res5_bn"
}
layer {
name: "res5_conv1"
type: "Convolution"
bottom: "res5_bn"
top: "res5_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res5_conv1_bn"
type: "BatchNorm"
bottom: "res5_conv1"
top: "res5_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res5_conv1_scale"
type: "Scale"
bottom: "res5_conv1"
top: "res5_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res5_conv1_relu"
type: "ReLU"
bottom: "res5_conv1"
top: "res5_conv1"
}
layer {
name: "res5_conv2"
type: "Convolution"
bottom: "res5_conv1"
top: "res5_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res5_conv2_bn"
type: "BatchNorm"
bottom: "res5_conv2"
top: "res5_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res5_conv2_scale"
type: "Scale"
bottom: "res5_conv2"
top: "res5_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res5_conv2_relu"
type: "ReLU"
bottom: "res5_conv2"
top: "res5_conv2"
}
layer {
name: "res5_conv3"
type: "Convolution"
bottom: "res5_conv2"
top: "res5_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res5_eletwise"
type: "Eltwise"
bottom: "res4_eletwise"
bottom: "res5_conv3"
top: "res5_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res6_bn"
type: "BatchNorm"
bottom: "res5_eletwise"
top: "res6_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res6_scale"
type: "Scale"
bottom: "res6_bn"
top: "res6_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res6_relu"
type: "ReLU"
bottom: "res6_bn"
top: "res6_bn"
}
layer {
name: "res6_conv1"
type: "Convolution"
bottom: "res6_bn"
top: "res6_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res6_conv1_bn"
type: "BatchNorm"
bottom: "res6_conv1"
top: "res6_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res6_conv1_scale"
type: "Scale"
bottom: "res6_conv1"
top: "res6_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res6_conv1_relu"
type: "ReLU"
bottom: "res6_conv1"
top: "res6_conv1"
}
layer {
name: "res6_conv2"
type: "Convolution"
bottom: "res6_conv1"
top: "res6_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res6_conv2_bn"
type: "BatchNorm"
bottom: "res6_conv2"
top: "res6_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res6_conv2_scale"
type: "Scale"
bottom: "res6_conv2"
top: "res6_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res6_conv2_relu"
type: "ReLU"
bottom: "res6_conv2"
top: "res6_conv2"
}
layer {
name: "res6_conv3"
type: "Convolution"
bottom: "res6_conv2"
top: "res6_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res6_eletwise"
type: "Eltwise"
bottom: "res5_eletwise"
bottom: "res6_conv3"
top: "res6_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res7_bn"
type: "BatchNorm"
bottom: "res6_eletwise"
top: "res7_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res7_scale"
type: "Scale"
bottom: "res7_bn"
top: "res7_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res7_relu"
type: "ReLU"
bottom: "res7_bn"
top: "res7_bn"
}
layer {
name: "res7_conv1"
type: "Convolution"
bottom: "res7_bn"
top: "res7_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res7_conv1_bn"
type: "BatchNorm"
bottom: "res7_conv1"
top: "res7_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res7_conv1_scale"
type: "Scale"
bottom: "res7_conv1"
top: "res7_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res7_conv1_relu"
type: "ReLU"
bottom: "res7_conv1"
top: "res7_conv1"
}
layer {
name: "res7_conv2"
type: "Convolution"
bottom: "res7_conv1"
top: "res7_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res7_conv2_bn"
type: "BatchNorm"
bottom: "res7_conv2"
top: "res7_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res7_conv2_scale"
type: "Scale"
bottom: "res7_conv2"
top: "res7_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res7_conv2_relu"
type: "ReLU"
bottom: "res7_conv2"
top: "res7_conv2"
}
layer {
name: "res7_conv3"
type: "Convolution"
bottom: "res7_conv2"
top: "res7_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res7_eletwise"
type: "Eltwise"
bottom: "res6_eletwise"
bottom: "res7_conv3"
top: "res7_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res8_bn"
type: "BatchNorm"
bottom: "res7_eletwise"
top: "res8_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res8_scale"
type: "Scale"
bottom: "res8_bn"
top: "res8_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res8_relu"
type: "ReLU"
bottom: "res8_bn"
top: "res8_bn"
}
layer {
name: "res8_conv1"
type: "Convolution"
bottom: "res8_bn"
top: "res8_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res8_conv1_bn"
type: "BatchNorm"
bottom: "res8_conv1"
top: "res8_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res8_conv1_scale"
type: "Scale"
bottom: "res8_conv1"
top: "res8_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res8_conv1_relu"
type: "ReLU"
bottom: "res8_conv1"
top: "res8_conv1"
}
layer {
name: "res8_conv2"
type: "Convolution"
bottom: "res8_conv1"
top: "res8_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res8_conv2_bn"
type: "BatchNorm"
bottom: "res8_conv2"
top: "res8_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res8_conv2_scale"
type: "Scale"
bottom: "res8_conv2"
top: "res8_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res8_conv2_relu"
type: "ReLU"
bottom: "res8_conv2"
top: "res8_conv2"
}
layer {
name: "res8_conv3"
type: "Convolution"
bottom: "res8_conv2"
top: "res8_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res8_eletwise"
type: "Eltwise"
bottom: "res7_eletwise"
bottom: "res8_conv3"
top: "res8_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res9_bn"
type: "BatchNorm"
bottom: "res8_eletwise"
top: "res9_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res9_scale"
type: "Scale"
bottom: "res9_bn"
top: "res9_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res9_relu"
type: "ReLU"
bottom: "res9_bn"
top: "res9_bn"
}
layer {
name: "res9_conv1"
type: "Convolution"
bottom: "res9_bn"
top: "res9_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res9_conv1_bn"
type: "BatchNorm"
bottom: "res9_conv1"
top: "res9_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res9_conv1_scale"
type: "Scale"
bottom: "res9_conv1"
top: "res9_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res9_conv1_relu"
type: "ReLU"
bottom: "res9_conv1"
top: "res9_conv1"
}
layer {
name: "res9_conv2"
type: "Convolution"
bottom: "res9_conv1"
top: "res9_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res9_conv2_bn"
type: "BatchNorm"
bottom: "res9_conv2"
top: "res9_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res9_conv2_scale"
type: "Scale"
bottom: "res9_conv2"
top: "res9_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res9_conv2_relu"
type: "ReLU"
bottom: "res9_conv2"
top: "res9_conv2"
}
layer {
name: "res9_conv3"
type: "Convolution"
bottom: "res9_conv2"
top: "res9_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res9_eletwise"
type: "Eltwise"
bottom: "res8_eletwise"
bottom: "res9_conv3"
top: "res9_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res10_bn"
type: "BatchNorm"
bottom: "res9_eletwise"
top: "res10_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res10_scale"
type: "Scale"
bottom: "res10_bn"
top: "res10_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res10_relu"
type: "ReLU"
bottom: "res10_bn"
top: "res10_bn"
}
layer {
name: "res10_conv1"
type: "Convolution"
bottom: "res10_bn"
top: "res10_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res10_conv1_bn"
type: "BatchNorm"
bottom: "res10_conv1"
top: "res10_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res10_conv1_scale"
type: "Scale"
bottom: "res10_conv1"
top: "res10_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res10_conv1_relu"
type: "ReLU"
bottom: "res10_conv1"
top: "res10_conv1"
}
layer {
name: "res10_conv2"
type: "Convolution"
bottom: "res10_conv1"
top: "res10_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res10_conv2_bn"
type: "BatchNorm"
bottom: "res10_conv2"
top: "res10_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res10_conv2_scale"
type: "Scale"
bottom: "res10_conv2"
top: "res10_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res10_conv2_relu"
type: "ReLU"
bottom: "res10_conv2"
top: "res10_conv2"
}
layer {
name: "res10_conv3"
type: "Convolution"
bottom: "res10_conv2"
top: "res10_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res10_eletwise"
type: "Eltwise"
bottom: "res9_eletwise"
bottom: "res10_conv3"
top: "res10_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res11_bn"
type: "BatchNorm"
bottom: "res10_eletwise"
top: "res11_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res11_scale"
type: "Scale"
bottom: "res11_bn"
top: "res11_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res11_relu"
type: "ReLU"
bottom: "res11_bn"
top: "res11_bn"
}
layer {
name: "res11_conv1"
type: "Convolution"
bottom: "res11_bn"
top: "res11_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res11_conv1_bn"
type: "BatchNorm"
bottom: "res11_conv1"
top: "res11_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res11_conv1_scale"
type: "Scale"
bottom: "res11_conv1"
top: "res11_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res11_conv1_relu"
type: "ReLU"
bottom: "res11_conv1"
top: "res11_conv1"
}
layer {
name: "res11_conv2"
type: "Convolution"
bottom: "res11_conv1"
top: "res11_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res11_conv2_bn"
type: "BatchNorm"
bottom: "res11_conv2"
top: "res11_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res11_conv2_scale"
type: "Scale"
bottom: "res11_conv2"
top: "res11_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res11_conv2_relu"
type: "ReLU"
bottom: "res11_conv2"
top: "res11_conv2"
}
layer {
name: "res11_conv3"
type: "Convolution"
bottom: "res11_conv2"
top: "res11_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res11_eletwise"
type: "Eltwise"
bottom: "res10_eletwise"
bottom: "res11_conv3"
top: "res11_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res12_bn"
type: "BatchNorm"
bottom: "res11_eletwise"
top: "res12_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res12_scale"
type: "Scale"
bottom: "res12_bn"
top: "res12_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res12_relu"
type: "ReLU"
bottom: "res12_bn"
top: "res12_bn"
}
layer {
name: "res12_conv1"
type: "Convolution"
bottom: "res12_bn"
top: "res12_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res12_conv1_bn"
type: "BatchNorm"
bottom: "res12_conv1"
top: "res12_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res12_conv1_scale"
type: "Scale"
bottom: "res12_conv1"
top: "res12_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res12_conv1_relu"
type: "ReLU"
bottom: "res12_conv1"
top: "res12_conv1"
}
layer {
name: "res12_conv2"
type: "Convolution"
bottom: "res12_conv1"
top: "res12_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res12_conv2_bn"
type: "BatchNorm"
bottom: "res12_conv2"
top: "res12_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res12_conv2_scale"
type: "Scale"
bottom: "res12_conv2"
top: "res12_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res12_conv2_relu"
type: "ReLU"
bottom: "res12_conv2"
top: "res12_conv2"
}
layer {
name: "res12_conv3"
type: "Convolution"
bottom: "res12_conv2"
top: "res12_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res12_eletwise"
type: "Eltwise"
bottom: "res11_eletwise"
bottom: "res12_conv3"
top: "res12_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res13_bn"
type: "BatchNorm"
bottom: "res12_eletwise"
top: "res13_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res13_scale"
type: "Scale"
bottom: "res13_bn"
top: "res13_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res13_relu"
type: "ReLU"
bottom: "res13_bn"
top: "res13_bn"
}
layer {
name: "res13_conv1"
type: "Convolution"
bottom: "res13_bn"
top: "res13_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res13_conv1_bn"
type: "BatchNorm"
bottom: "res13_conv1"
top: "res13_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res13_conv1_scale"
type: "Scale"
bottom: "res13_conv1"
top: "res13_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res13_conv1_relu"
type: "ReLU"
bottom: "res13_conv1"
top: "res13_conv1"
}
layer {
name: "res13_conv2"
type: "Convolution"
bottom: "res13_conv1"
top: "res13_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res13_conv2_bn"
type: "BatchNorm"
bottom: "res13_conv2"
top: "res13_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res13_conv2_scale"
type: "Scale"
bottom: "res13_conv2"
top: "res13_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res13_conv2_relu"
type: "ReLU"
bottom: "res13_conv2"
top: "res13_conv2"
}
layer {
name: "res13_conv3"
type: "Convolution"
bottom: "res13_conv2"
top: "res13_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res13_eletwise"
type: "Eltwise"
bottom: "res12_eletwise"
bottom: "res13_conv3"
top: "res13_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res14_bn"
type: "BatchNorm"
bottom: "res13_eletwise"
top: "res14_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res14_scale"
type: "Scale"
bottom: "res14_bn"
top: "res14_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res14_relu"
type: "ReLU"
bottom: "res14_bn"
top: "res14_bn"
}
layer {
name: "res14_conv1"
type: "Convolution"
bottom: "res14_bn"
top: "res14_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res14_conv1_bn"
type: "BatchNorm"
bottom: "res14_conv1"
top: "res14_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res14_conv1_scale"
type: "Scale"
bottom: "res14_conv1"
top: "res14_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res14_conv1_relu"
type: "ReLU"
bottom: "res14_conv1"
top: "res14_conv1"
}
layer {
name: "res14_conv2"
type: "Convolution"
bottom: "res14_conv1"
top: "res14_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res14_conv2_bn"
type: "BatchNorm"
bottom: "res14_conv2"
top: "res14_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res14_conv2_scale"
type: "Scale"
bottom: "res14_conv2"
top: "res14_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res14_conv2_relu"
type: "ReLU"
bottom: "res14_conv2"
top: "res14_conv2"
}
layer {
name: "res14_conv3"
type: "Convolution"
bottom: "res14_conv2"
top: "res14_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res14_eletwise"
type: "Eltwise"
bottom: "res13_eletwise"
bottom: "res14_conv3"
top: "res14_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res15_bn"
type: "BatchNorm"
bottom: "res14_eletwise"
top: "res15_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res15_scale"
type: "Scale"
bottom: "res15_bn"
top: "res15_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res15_relu"
type: "ReLU"
bottom: "res15_bn"
top: "res15_bn"
}
layer {
name: "res15_conv1"
type: "Convolution"
bottom: "res15_bn"
top: "res15_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res15_conv1_bn"
type: "BatchNorm"
bottom: "res15_conv1"
top: "res15_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res15_conv1_scale"
type: "Scale"
bottom: "res15_conv1"
top: "res15_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res15_conv1_relu"
type: "ReLU"
bottom: "res15_conv1"
top: "res15_conv1"
}
layer {
name: "res15_conv2"
type: "Convolution"
bottom: "res15_conv1"
top: "res15_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res15_conv2_bn"
type: "BatchNorm"
bottom: "res15_conv2"
top: "res15_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res15_conv2_scale"
type: "Scale"
bottom: "res15_conv2"
top: "res15_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res15_conv2_relu"
type: "ReLU"
bottom: "res15_conv2"
top: "res15_conv2"
}
layer {
name: "res15_conv3"
type: "Convolution"
bottom: "res15_conv2"
top: "res15_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res15_eletwise"
type: "Eltwise"
bottom: "res14_eletwise"
bottom: "res15_conv3"
top: "res15_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res16_bn"
type: "BatchNorm"
bottom: "res15_eletwise"
top: "res16_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res16_scale"
type: "Scale"
bottom: "res16_bn"
top: "res16_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res16_relu"
type: "ReLU"
bottom: "res16_bn"
top: "res16_bn"
}
layer {
name: "res16_conv1"
type: "Convolution"
bottom: "res16_bn"
top: "res16_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res16_conv1_bn"
type: "BatchNorm"
bottom: "res16_conv1"
top: "res16_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res16_conv1_scale"
type: "Scale"
bottom: "res16_conv1"
top: "res16_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res16_conv1_relu"
type: "ReLU"
bottom: "res16_conv1"
top: "res16_conv1"
}
layer {
name: "res16_conv2"
type: "Convolution"
bottom: "res16_conv1"
top: "res16_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res16_conv2_bn"
type: "BatchNorm"
bottom: "res16_conv2"
top: "res16_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res16_conv2_scale"
type: "Scale"
bottom: "res16_conv2"
top: "res16_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res16_conv2_relu"
type: "ReLU"
bottom: "res16_conv2"
top: "res16_conv2"
}
layer {
name: "res16_conv3"
type: "Convolution"
bottom: "res16_conv2"
top: "res16_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res16_eletwise"
type: "Eltwise"
bottom: "res15_eletwise"
bottom: "res16_conv3"
top: "res16_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res17_bn"
type: "BatchNorm"
bottom: "res16_eletwise"
top: "res17_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res17_scale"
type: "Scale"
bottom: "res17_bn"
top: "res17_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res17_relu"
type: "ReLU"
bottom: "res17_bn"
top: "res17_bn"
}
layer {
name: "res17_conv1"
type: "Convolution"
bottom: "res17_bn"
top: "res17_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res17_conv1_bn"
type: "BatchNorm"
bottom: "res17_conv1"
top: "res17_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res17_conv1_scale"
type: "Scale"
bottom: "res17_conv1"
top: "res17_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res17_conv1_relu"
type: "ReLU"
bottom: "res17_conv1"
top: "res17_conv1"
}
layer {
name: "res17_conv2"
type: "Convolution"
bottom: "res17_conv1"
top: "res17_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res17_conv2_bn"
type: "BatchNorm"
bottom: "res17_conv2"
top: "res17_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res17_conv2_scale"
type: "Scale"
bottom: "res17_conv2"
top: "res17_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res17_conv2_relu"
type: "ReLU"
bottom: "res17_conv2"
top: "res17_conv2"
}
layer {
name: "res17_conv3"
type: "Convolution"
bottom: "res17_conv2"
top: "res17_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res17_eletwise"
type: "Eltwise"
bottom: "res16_eletwise"
bottom: "res17_conv3"
top: "res17_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res18_bn"
type: "BatchNorm"
bottom: "res17_eletwise"
top: "res18_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res18_scale"
type: "Scale"
bottom: "res18_bn"
top: "res18_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res18_relu"
type: "ReLU"
bottom: "res18_bn"
top: "res18_bn"
}
layer {
name: "res18_conv1"
type: "Convolution"
bottom: "res18_bn"
top: "res18_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res18_conv1_bn"
type: "BatchNorm"
bottom: "res18_conv1"
top: "res18_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res18_conv1_scale"
type: "Scale"
bottom: "res18_conv1"
top: "res18_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res18_conv1_relu"
type: "ReLU"
bottom: "res18_conv1"
top: "res18_conv1"
}
layer {
name: "res18_conv2"
type: "Convolution"
bottom: "res18_conv1"
top: "res18_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res18_conv2_bn"
type: "BatchNorm"
bottom: "res18_conv2"
top: "res18_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res18_conv2_scale"
type: "Scale"
bottom: "res18_conv2"
top: "res18_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res18_conv2_relu"
type: "ReLU"
bottom: "res18_conv2"
top: "res18_conv2"
}
layer {
name: "res18_conv3"
type: "Convolution"
bottom: "res18_conv2"
top: "res18_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res18_eletwise"
type: "Eltwise"
bottom: "res17_eletwise"
bottom: "res18_conv3"
top: "res18_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res19_bn"
type: "BatchNorm"
bottom: "res18_eletwise"
top: "res19_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res19_scale"
type: "Scale"
bottom: "res19_bn"
top: "res19_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res19_relu"
type: "ReLU"
bottom: "res19_bn"
top: "res19_bn"
}
layer {
name: "res19_conv1"
type: "Convolution"
bottom: "res19_bn"
top: "res19_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res19_conv1_bn"
type: "BatchNorm"
bottom: "res19_conv1"
top: "res19_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res19_conv1_scale"
type: "Scale"
bottom: "res19_conv1"
top: "res19_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res19_conv1_relu"
type: "ReLU"
bottom: "res19_conv1"
top: "res19_conv1"
}
layer {
name: "res19_conv2"
type: "Convolution"
bottom: "res19_conv1"
top: "res19_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res19_conv2_bn"
type: "BatchNorm"
bottom: "res19_conv2"
top: "res19_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res19_conv2_scale"
type: "Scale"
bottom: "res19_conv2"
top: "res19_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res19_conv2_relu"
type: "ReLU"
bottom: "res19_conv2"
top: "res19_conv2"
}
layer {
name: "res19_conv3"
type: "Convolution"
bottom: "res19_conv2"
top: "res19_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res19_eletwise"
type: "Eltwise"
bottom: "res18_eletwise"
bottom: "res19_conv3"
top: "res19_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res20_bn"
type: "BatchNorm"
bottom: "res19_eletwise"
top: "res20_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res20_scale"
type: "Scale"
bottom: "res20_bn"
top: "res20_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res20_relu"
type: "ReLU"
bottom: "res20_bn"
top: "res20_bn"
}
layer {
name: "res20_conv1"
type: "Convolution"
bottom: "res20_bn"
top: "res20_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res20_conv1_bn"
type: "BatchNorm"
bottom: "res20_conv1"
top: "res20_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res20_conv1_scale"
type: "Scale"
bottom: "res20_conv1"
top: "res20_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res20_conv1_relu"
type: "ReLU"
bottom: "res20_conv1"
top: "res20_conv1"
}
layer {
name: "res20_conv2"
type: "Convolution"
bottom: "res20_conv1"
top: "res20_conv2"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res20_conv2_bn"
type: "BatchNorm"
bottom: "res20_conv2"
top: "res20_conv2"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res20_conv2_scale"
type: "Scale"
bottom: "res20_conv2"
top: "res20_conv2"
scale_param {
bias_term: true
}
}
layer {
name: "res20_conv2_relu"
type: "ReLU"
bottom: "res20_conv2"
top: "res20_conv2"
}
layer {
name: "res20_conv3"
type: "Convolution"
bottom: "res20_conv2"
top: "res20_conv3"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 512
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res20_eletwise"
type: "Eltwise"
bottom: "res19_eletwise"
bottom: "res20_conv3"
top: "res20_eletwise"
eltwise_param {
operation: SUM
}
}
layer {
name: "res21_bn"
type: "BatchNorm"
bottom: "res20_eletwise"
top: "res21_bn"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res21_scale"
type: "Scale"
bottom: "res21_bn"
top: "res21_bn"
scale_param {
bias_term: true
}
}
layer {
name: "res21_relu"
type: "ReLU"
bottom: "res21_bn"
top: "res21_bn"
}
layer {
name: "res21_conv1"
type: "Convolution"
bottom: "res21_bn"
top: "res21_conv1"
param {
lr_mult: 1
decay_mult: 1
}
convolution_param {
bias_term: false
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
}
}
layer {
name: "res21_conv1_bn"
type: "BatchNorm"
bottom: "res21_conv1"
top: "res21_conv1"
batch_norm_param {
use_global_stats: true
}
}
layer {
name: "res21_conv1_scale"
type: "Scale"
bottom: "res21_conv1"
top: "res21_conv1"
scale_param {
bias_term: true
}
}
layer {
name: "res21_conv1_relu"
type: "ReLU"
bottom: "res21_conv1"
top: "res21_conv1"
}
layer {
name: "res21_conv2"
type: "Convolution"
bottom: "res21_conv1"
top: "res21_conv2"
param {
lr_mult: 1
decay_mult: 1