Skip to content

Instantly share code, notes, and snippets.

@dudu159632
Created May 31, 2017 14:57
Show Gist options
  • Save dudu159632/ed5abeb946cd4eb115781e26c699fe59 to your computer and use it in GitHub Desktop.
Save dudu159632/ed5abeb946cd4eb115781e26c699fe59 to your computer and use it in GitHub Desktop.
layer {
name: "data"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
mirror: true
crop_size: 224
mean_value: 104
mean_value: 117
mean_value: 123
}
data_param {
source: "examples/imagenet/ilsvrc12_train_lmdb"
batch_size: 64
backend: LMDB
}
}
layer {
name: "data"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
mirror: false
crop_size: 224
mean_value: 104
mean_value: 117
mean_value: 123
}
data_param {
source: "examples/imagenet/ilsvrc12_val_lmdb"
batch_size: 64
backend: LMDB
}
}
layer {
name: "conv1"
type: "Convolution"
bottom: "data"
top: "conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
kernel_size: 7
stride: 2
pad: 3
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv1_bn"
type: "BatchNorm"
bottom: "conv1"
top: "conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "conv1_scale"
bottom: "conv1"
top: "conv1"
type: "Scale"
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
pad: 1
ceil_mode: false
}
}
layer {
name: "resx1_conv1"
type: "Convolution"
bottom: "pool1"
top: "resx1_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx1_conv1_bn"
type: "BatchNorm"
bottom: "resx1_conv1"
top: "resx1_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx1_conv1_scale"
bottom: "resx1_conv1"
top: "resx1_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx1_conv1_relu"
type: "ReLU"
bottom: "resx1_conv1"
top: "resx1_conv1"
}
layer {
name: "resx1_conv2"
type: "Convolution"
bottom: "resx1_conv1"
top: "resx1_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx1_conv2_bn"
type: "BatchNorm"
bottom: "resx1_conv2"
top: "resx1_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx1_conv2_scale"
bottom: "resx1_conv2"
top: "resx1_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx1_conv2_relu"
type: "ReLU"
bottom: "resx1_conv2"
top: "resx1_conv2"
}
layer {
name: "resx1_conv3"
type: "Convolution"
bottom: "resx1_conv2"
top: "resx1_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx1_conv3_bn"
type: "BatchNorm"
bottom: "resx1_conv3"
top: "resx1_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx1_conv3_scale"
bottom: "resx1_conv3"
top: "resx1_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx1_match_conv"
type: "Convolution"
bottom: "pool1"
top: "resx1_match_conv"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx1_match_conv_bn"
type: "BatchNorm"
bottom: "resx1_match_conv"
top: "resx1_match_conv"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx1_match_conv_scale"
bottom: "resx1_match_conv"
top: "resx1_match_conv"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx1_elewise"
type: "Eltwise"
bottom: "resx1_match_conv"
bottom: "resx1_conv3"
top: "resx1_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx1_elewise_relu"
type: "ReLU"
bottom: "resx1_elewise"
top: "resx1_elewise"
}
layer {
name: "resx2_conv1"
type: "Convolution"
bottom: "resx1_elewise"
top: "resx2_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx2_conv1_bn"
type: "BatchNorm"
bottom: "resx2_conv1"
top: "resx2_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx2_conv1_scale"
bottom: "resx2_conv1"
top: "resx2_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx2_conv1_relu"
type: "ReLU"
bottom: "resx2_conv1"
top: "resx2_conv1"
}
layer {
name: "resx2_conv2"
type: "Convolution"
bottom: "resx2_conv1"
top: "resx2_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx2_conv2_bn"
type: "BatchNorm"
bottom: "resx2_conv2"
top: "resx2_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx2_conv2_scale"
bottom: "resx2_conv2"
top: "resx2_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx2_conv2_relu"
type: "ReLU"
bottom: "resx2_conv2"
top: "resx2_conv2"
}
layer {
name: "resx2_conv3"
type: "Convolution"
bottom: "resx2_conv2"
top: "resx2_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx2_conv3_bn"
type: "BatchNorm"
bottom: "resx2_conv3"
top: "resx2_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx2_conv3_scale"
bottom: "resx2_conv3"
top: "resx2_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx2_elewise"
type: "Eltwise"
bottom: "resx1_elewise"
bottom: "resx2_conv3"
top: "resx2_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx2_elewise_relu"
type: "ReLU"
bottom: "resx2_elewise"
top: "resx2_elewise"
}
layer {
name: "resx3_conv1"
type: "Convolution"
bottom: "resx2_elewise"
top: "resx3_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx3_conv1_bn"
type: "BatchNorm"
bottom: "resx3_conv1"
top: "resx3_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx3_conv1_scale"
bottom: "resx3_conv1"
top: "resx3_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx3_conv1_relu"
type: "ReLU"
bottom: "resx3_conv1"
top: "resx3_conv1"
}
layer {
name: "resx3_conv2"
type: "Convolution"
bottom: "resx3_conv1"
top: "resx3_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx3_conv2_bn"
type: "BatchNorm"
bottom: "resx3_conv2"
top: "resx3_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx3_conv2_scale"
bottom: "resx3_conv2"
top: "resx3_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx3_conv2_relu"
type: "ReLU"
bottom: "resx3_conv2"
top: "resx3_conv2"
}
layer {
name: "resx3_conv3"
type: "Convolution"
bottom: "resx3_conv2"
top: "resx3_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx3_conv3_bn"
type: "BatchNorm"
bottom: "resx3_conv3"
top: "resx3_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx3_conv3_scale"
bottom: "resx3_conv3"
top: "resx3_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx3_elewise"
type: "Eltwise"
bottom: "resx2_elewise"
bottom: "resx3_conv3"
top: "resx3_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx3_elewise_relu"
type: "ReLU"
bottom: "resx3_elewise"
top: "resx3_elewise"
}
layer {
name: "resx4_conv1"
type: "Convolution"
bottom: "resx3_elewise"
top: "resx4_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx4_conv1_bn"
type: "BatchNorm"
bottom: "resx4_conv1"
top: "resx4_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx4_conv1_scale"
bottom: "resx4_conv1"
top: "resx4_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx4_conv1_relu"
type: "ReLU"
bottom: "resx4_conv1"
top: "resx4_conv1"
}
layer {
name: "resx4_conv2"
type: "Convolution"
bottom: "resx4_conv1"
top: "resx4_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 3
stride: 2
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx4_conv2_bn"
type: "BatchNorm"
bottom: "resx4_conv2"
top: "resx4_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx4_conv2_scale"
bottom: "resx4_conv2"
top: "resx4_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx4_conv2_relu"
type: "ReLU"
bottom: "resx4_conv2"
top: "resx4_conv2"
}
layer {
name: "resx4_conv3"
type: "Convolution"
bottom: "resx4_conv2"
top: "resx4_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx4_conv3_bn"
type: "BatchNorm"
bottom: "resx4_conv3"
top: "resx4_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx4_conv3_scale"
bottom: "resx4_conv3"
top: "resx4_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx4_match_conv"
type: "Convolution"
bottom: "resx3_elewise"
top: "resx4_match_conv"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 1
stride: 2
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx4_match_conv_bn"
type: "BatchNorm"
bottom: "resx4_match_conv"
top: "resx4_match_conv"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx4_match_conv_scale"
bottom: "resx4_match_conv"
top: "resx4_match_conv"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx4_elewise"
type: "Eltwise"
bottom: "resx4_match_conv"
bottom: "resx4_conv3"
top: "resx4_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx4_elewise_relu"
type: "ReLU"
bottom: "resx4_elewise"
top: "resx4_elewise"
}
layer {
name: "resx5_conv1"
type: "Convolution"
bottom: "resx4_elewise"
top: "resx5_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx5_conv1_bn"
type: "BatchNorm"
bottom: "resx5_conv1"
top: "resx5_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx5_conv1_scale"
bottom: "resx5_conv1"
top: "resx5_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx5_conv1_relu"
type: "ReLU"
bottom: "resx5_conv1"
top: "resx5_conv1"
}
layer {
name: "resx5_conv2"
type: "Convolution"
bottom: "resx5_conv1"
top: "resx5_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx5_conv2_bn"
type: "BatchNorm"
bottom: "resx5_conv2"
top: "resx5_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx5_conv2_scale"
bottom: "resx5_conv2"
top: "resx5_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx5_conv2_relu"
type: "ReLU"
bottom: "resx5_conv2"
top: "resx5_conv2"
}
layer {
name: "resx5_conv3"
type: "Convolution"
bottom: "resx5_conv2"
top: "resx5_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx5_conv3_bn"
type: "BatchNorm"
bottom: "resx5_conv3"
top: "resx5_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx5_conv3_scale"
bottom: "resx5_conv3"
top: "resx5_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx5_elewise"
type: "Eltwise"
bottom: "resx4_elewise"
bottom: "resx5_conv3"
top: "resx5_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx5_elewise_relu"
type: "ReLU"
bottom: "resx5_elewise"
top: "resx5_elewise"
}
layer {
name: "resx6_conv1"
type: "Convolution"
bottom: "resx5_elewise"
top: "resx6_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx6_conv1_bn"
type: "BatchNorm"
bottom: "resx6_conv1"
top: "resx6_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx6_conv1_scale"
bottom: "resx6_conv1"
top: "resx6_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx6_conv1_relu"
type: "ReLU"
bottom: "resx6_conv1"
top: "resx6_conv1"
}
layer {
name: "resx6_conv2"
type: "Convolution"
bottom: "resx6_conv1"
top: "resx6_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx6_conv2_bn"
type: "BatchNorm"
bottom: "resx6_conv2"
top: "resx6_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx6_conv2_scale"
bottom: "resx6_conv2"
top: "resx6_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx6_conv2_relu"
type: "ReLU"
bottom: "resx6_conv2"
top: "resx6_conv2"
}
layer {
name: "resx6_conv3"
type: "Convolution"
bottom: "resx6_conv2"
top: "resx6_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx6_conv3_bn"
type: "BatchNorm"
bottom: "resx6_conv3"
top: "resx6_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx6_conv3_scale"
bottom: "resx6_conv3"
top: "resx6_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx6_elewise"
type: "Eltwise"
bottom: "resx5_elewise"
bottom: "resx6_conv3"
top: "resx6_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx6_elewise_relu"
type: "ReLU"
bottom: "resx6_elewise"
top: "resx6_elewise"
}
layer {
name: "resx7_conv1"
type: "Convolution"
bottom: "resx6_elewise"
top: "resx7_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx7_conv1_bn"
type: "BatchNorm"
bottom: "resx7_conv1"
top: "resx7_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx7_conv1_scale"
bottom: "resx7_conv1"
top: "resx7_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx7_conv1_relu"
type: "ReLU"
bottom: "resx7_conv1"
top: "resx7_conv1"
}
layer {
name: "resx7_conv2"
type: "Convolution"
bottom: "resx7_conv1"
top: "resx7_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 256
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx7_conv2_bn"
type: "BatchNorm"
bottom: "resx7_conv2"
top: "resx7_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx7_conv2_scale"
bottom: "resx7_conv2"
top: "resx7_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx7_conv2_relu"
type: "ReLU"
bottom: "resx7_conv2"
top: "resx7_conv2"
}
layer {
name: "resx7_conv3"
type: "Convolution"
bottom: "resx7_conv2"
top: "resx7_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx7_conv3_bn"
type: "BatchNorm"
bottom: "resx7_conv3"
top: "resx7_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx7_conv3_scale"
bottom: "resx7_conv3"
top: "resx7_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx7_elewise"
type: "Eltwise"
bottom: "resx6_elewise"
bottom: "resx7_conv3"
top: "resx7_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx7_elewise_relu"
type: "ReLU"
bottom: "resx7_elewise"
top: "resx7_elewise"
}
layer {
name: "resx8_conv1"
type: "Convolution"
bottom: "resx7_elewise"
top: "resx8_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx8_conv1_bn"
type: "BatchNorm"
bottom: "resx8_conv1"
top: "resx8_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx8_conv1_scale"
bottom: "resx8_conv1"
top: "resx8_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx8_conv1_relu"
type: "ReLU"
bottom: "resx8_conv1"
top: "resx8_conv1"
}
layer {
name: "resx8_conv2"
type: "Convolution"
bottom: "resx8_conv1"
top: "resx8_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 3
stride: 2
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx8_conv2_bn"
type: "BatchNorm"
bottom: "resx8_conv2"
top: "resx8_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx8_conv2_scale"
bottom: "resx8_conv2"
top: "resx8_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx8_conv2_relu"
type: "ReLU"
bottom: "resx8_conv2"
top: "resx8_conv2"
}
layer {
name: "resx8_conv3"
type: "Convolution"
bottom: "resx8_conv2"
top: "resx8_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx8_conv3_bn"
type: "BatchNorm"
bottom: "resx8_conv3"
top: "resx8_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx8_conv3_scale"
bottom: "resx8_conv3"
top: "resx8_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx8_match_conv"
type: "Convolution"
bottom: "resx7_elewise"
top: "resx8_match_conv"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 1
stride: 2
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx8_match_conv_bn"
type: "BatchNorm"
bottom: "resx8_match_conv"
top: "resx8_match_conv"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx8_match_conv_scale"
bottom: "resx8_match_conv"
top: "resx8_match_conv"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx8_elewise"
type: "Eltwise"
bottom: "resx8_conv3"
bottom: "resx8_match_conv"
top: "resx8_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx8_elewise_relu"
type: "ReLU"
bottom: "resx8_elewise"
top: "resx8_elewise"
}
layer {
name: "resx9_conv1"
type: "Convolution"
bottom: "resx8_elewise"
top: "resx9_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx9_conv1_bn"
type: "BatchNorm"
bottom: "resx9_conv1"
top: "resx9_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx9_conv1_scale"
bottom: "resx9_conv1"
top: "resx9_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx9_conv1_relu"
type: "ReLU"
bottom: "resx9_conv1"
top: "resx9_conv1"
}
layer {
name: "resx9_conv2"
type: "Convolution"
bottom: "resx9_conv1"
top: "resx9_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx9_conv2_bn"
type: "BatchNorm"
bottom: "resx9_conv2"
top: "resx9_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx9_conv2_scale"
bottom: "resx9_conv2"
top: "resx9_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx9_conv2_relu"
type: "ReLU"
bottom: "resx9_conv2"
top: "resx9_conv2"
}
layer {
name: "resx9_conv3"
type: "Convolution"
bottom: "resx9_conv2"
top: "resx9_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx9_conv3_bn"
type: "BatchNorm"
bottom: "resx9_conv3"
top: "resx9_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx9_conv3_scale"
bottom: "resx9_conv3"
top: "resx9_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx9_elewise"
type: "Eltwise"
bottom: "resx8_elewise"
bottom: "resx9_conv3"
top: "resx9_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx9_elewise_relu"
type: "ReLU"
bottom: "resx9_elewise"
top: "resx9_elewise"
}
layer {
name: "resx10_conv1"
type: "Convolution"
bottom: "resx9_elewise"
top: "resx10_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx10_conv1_bn"
type: "BatchNorm"
bottom: "resx10_conv1"
top: "resx10_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx10_conv1_scale"
bottom: "resx10_conv1"
top: "resx10_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx10_conv1_relu"
type: "ReLU"
bottom: "resx10_conv1"
top: "resx10_conv1"
}
layer {
name: "resx10_conv2"
type: "Convolution"
bottom: "resx10_conv1"
top: "resx10_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx10_conv2_bn"
type: "BatchNorm"
bottom: "resx10_conv2"
top: "resx10_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx10_conv2_scale"
bottom: "resx10_conv2"
top: "resx10_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx10_conv2_relu"
type: "ReLU"
bottom: "resx10_conv2"
top: "resx10_conv2"
}
layer {
name: "resx10_conv3"
type: "Convolution"
bottom: "resx10_conv2"
top: "resx10_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx10_conv3_bn"
type: "BatchNorm"
bottom: "resx10_conv3"
top: "resx10_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx10_conv3_scale"
bottom: "resx10_conv3"
top: "resx10_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx10_elewise"
type: "Eltwise"
bottom: "resx9_elewise"
bottom: "resx10_conv3"
top: "resx10_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx10_elewise_relu"
type: "ReLU"
bottom: "resx10_elewise"
top: "resx10_elewise"
}
layer {
name: "resx11_conv1"
type: "Convolution"
bottom: "resx10_elewise"
top: "resx11_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx11_conv1_bn"
type: "BatchNorm"
bottom: "resx11_conv1"
top: "resx11_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx11_conv1_scale"
bottom: "resx11_conv1"
top: "resx11_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx11_conv1_relu"
type: "ReLU"
bottom: "resx11_conv1"
top: "resx11_conv1"
}
layer {
name: "resx11_conv2"
type: "Convolution"
bottom: "resx11_conv1"
top: "resx11_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx11_conv2_bn"
type: "BatchNorm"
bottom: "resx11_conv2"
top: "resx11_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx11_conv2_scale"
bottom: "resx11_conv2"
top: "resx11_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx11_conv2_relu"
type: "ReLU"
bottom: "resx11_conv2"
top: "resx11_conv2"
}
layer {
name: "resx11_conv3"
type: "Convolution"
bottom: "resx11_conv2"
top: "resx11_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx11_conv3_bn"
type: "BatchNorm"
bottom: "resx11_conv3"
top: "resx11_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx11_conv3_scale"
bottom: "resx11_conv3"
top: "resx11_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx11_elewise"
type: "Eltwise"
bottom: "resx10_elewise"
bottom: "resx11_conv3"
top: "resx11_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx11_elewise_relu"
type: "ReLU"
bottom: "resx11_elewise"
top: "resx11_elewise"
}
layer {
name: "resx12_conv1"
type: "Convolution"
bottom: "resx11_elewise"
top: "resx12_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx12_conv1_bn"
type: "BatchNorm"
bottom: "resx12_conv1"
top: "resx12_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx12_conv1_scale"
bottom: "resx12_conv1"
top: "resx12_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx12_conv1_relu"
type: "ReLU"
bottom: "resx12_conv1"
top: "resx12_conv1"
}
layer {
name: "resx12_conv2"
type: "Convolution"
bottom: "resx12_conv1"
top: "resx12_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx12_conv2_bn"
type: "BatchNorm"
bottom: "resx12_conv2"
top: "resx12_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx12_conv2_scale"
bottom: "resx12_conv2"
top: "resx12_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx12_conv2_relu"
type: "ReLU"
bottom: "resx12_conv2"
top: "resx12_conv2"
}
layer {
name: "resx12_conv3"
type: "Convolution"
bottom: "resx12_conv2"
top: "resx12_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx12_conv3_bn"
type: "BatchNorm"
bottom: "resx12_conv3"
top: "resx12_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx12_conv3_scale"
bottom: "resx12_conv3"
top: "resx12_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx12_elewise"
type: "Eltwise"
bottom: "resx11_elewise"
bottom: "resx12_conv3"
top: "resx12_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx12_elewise_relu"
type: "ReLU"
bottom: "resx12_elewise"
top: "resx12_elewise"
}
layer {
name: "resx13_conv1"
type: "Convolution"
bottom: "resx12_elewise"
top: "resx13_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx13_conv1_bn"
type: "BatchNorm"
bottom: "resx13_conv1"
top: "resx13_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx13_conv1_scale"
bottom: "resx13_conv1"
top: "resx13_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx13_conv1_relu"
type: "ReLU"
bottom: "resx13_conv1"
top: "resx13_conv1"
}
layer {
name: "resx13_conv2"
type: "Convolution"
bottom: "resx13_conv1"
top: "resx13_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 512
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx13_conv2_bn"
type: "BatchNorm"
bottom: "resx13_conv2"
top: "resx13_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx13_conv2_scale"
bottom: "resx13_conv2"
top: "resx13_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx13_conv2_relu"
type: "ReLU"
bottom: "resx13_conv2"
top: "resx13_conv2"
}
layer {
name: "resx13_conv3"
type: "Convolution"
bottom: "resx13_conv2"
top: "resx13_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx13_conv3_bn"
type: "BatchNorm"
bottom: "resx13_conv3"
top: "resx13_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx13_conv3_scale"
bottom: "resx13_conv3"
top: "resx13_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx13_elewise"
type: "Eltwise"
bottom: "resx12_elewise"
bottom: "resx13_conv3"
top: "resx13_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx13_elewise_relu"
type: "ReLU"
bottom: "resx13_elewise"
top: "resx13_elewise"
}
layer {
name: "resx14_conv1"
type: "Convolution"
bottom: "resx13_elewise"
top: "resx14_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx14_conv1_bn"
type: "BatchNorm"
bottom: "resx14_conv1"
top: "resx14_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx14_conv1_scale"
bottom: "resx14_conv1"
top: "resx14_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx14_conv1_relu"
type: "ReLU"
bottom: "resx14_conv1"
top: "resx14_conv1"
}
layer {
name: "resx14_conv2"
type: "Convolution"
bottom: "resx14_conv1"
top: "resx14_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 3
stride: 2
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx14_conv2_bn"
type: "BatchNorm"
bottom: "resx14_conv2"
top: "resx14_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx14_conv2_scale"
bottom: "resx14_conv2"
top: "resx14_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx14_conv2_relu"
type: "ReLU"
bottom: "resx14_conv2"
top: "resx14_conv2"
}
layer {
name: "resx14_conv3"
type: "Convolution"
bottom: "resx14_conv2"
top: "resx14_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 2048
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx14_conv3_bn"
type: "BatchNorm"
bottom: "resx14_conv3"
top: "resx14_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx14_conv3_scale"
bottom: "resx14_conv3"
top: "resx14_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx14_match_conv"
type: "Convolution"
bottom: "resx13_elewise"
top: "resx14_match_conv"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 2048
kernel_size: 1
stride: 2
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx14_match_conv_bn"
type: "BatchNorm"
bottom: "resx14_match_conv"
top: "resx14_match_conv"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx14_match_conv_scale"
bottom: "resx14_match_conv"
top: "resx14_match_conv"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx14_elewise"
type: "Eltwise"
bottom: "resx14_match_conv"
bottom: "resx14_conv3"
top: "resx14_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx14_elewise_relu"
type: "ReLU"
bottom: "resx14_elewise"
top: "resx14_elewise"
}
layer {
name: "resx15_conv1"
type: "Convolution"
bottom: "resx14_elewise"
top: "resx15_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx15_conv1_bn"
type: "BatchNorm"
bottom: "resx15_conv1"
top: "resx15_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx15_conv1_scale"
bottom: "resx15_conv1"
top: "resx15_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx15_conv1_relu"
type: "ReLU"
bottom: "resx15_conv1"
top: "resx15_conv1"
}
layer {
name: "resx15_conv2"
type: "Convolution"
bottom: "resx15_conv1"
top: "resx15_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx15_conv2_bn"
type: "BatchNorm"
bottom: "resx15_conv2"
top: "resx15_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx15_conv2_scale"
bottom: "resx15_conv2"
top: "resx15_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx15_conv2_relu"
type: "ReLU"
bottom: "resx15_conv2"
top: "resx15_conv2"
}
layer {
name: "resx15_conv3"
type: "Convolution"
bottom: "resx15_conv2"
top: "resx15_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 2048
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx15_conv3_bn"
type: "BatchNorm"
bottom: "resx15_conv3"
top: "resx15_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx15_conv3_scale"
bottom: "resx15_conv3"
top: "resx15_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx15_elewise"
type: "Eltwise"
bottom: "resx14_elewise"
bottom: "resx15_conv3"
top: "resx15_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx15_elewise_relu"
type: "ReLU"
bottom: "resx15_elewise"
top: "resx15_elewise"
}
layer {
name: "resx16_conv1"
type: "Convolution"
bottom: "resx15_elewise"
top: "resx16_conv1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx16_conv1_bn"
type: "BatchNorm"
bottom: "resx16_conv1"
top: "resx16_conv1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx16_conv1_scale"
bottom: "resx16_conv1"
top: "resx16_conv1"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx16_conv1_relu"
type: "ReLU"
bottom: "resx16_conv1"
top: "resx16_conv1"
}
layer {
name: "resx16_conv2"
type: "Convolution"
bottom: "resx16_conv1"
top: "resx16_conv2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 1024
kernel_size: 3
stride: 1
group: 32
pad: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx16_conv2_bn"
type: "BatchNorm"
bottom: "resx16_conv2"
top: "resx16_conv2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx16_conv2_scale"
bottom: "resx16_conv2"
top: "resx16_conv2"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx16_conv2_relu"
type: "ReLU"
bottom: "resx16_conv2"
top: "resx16_conv2"
}
layer {
name: "resx16_conv3"
type: "Convolution"
bottom: "resx16_conv2"
top: "resx16_conv3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 2048
kernel_size: 1
stride: 1
pad: 0
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "resx16_conv3_bn"
type: "BatchNorm"
bottom: "resx16_conv3"
top: "resx16_conv3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "resx16_conv3_scale"
bottom: "resx16_conv3"
top: "resx16_conv3"
type: "Scale"
scale_param {
bias_term: true
}
}
layer {
name: "resx16_elewise"
type: "Eltwise"
bottom: "resx15_elewise"
bottom: "resx16_conv3"
top: "resx16_elewise"
eltwise_param {
operation: SUM
}
}
layer {
name: "resx16_elewise_relu"
type: "ReLU"
bottom: "resx16_elewise"
top: "resx16_elewise"
}
layer {
name: "pool_ave"
type: "Pooling"
bottom: "resx16_elewise"
top: "pool_ave"
pooling_param {
global_pooling : true
pool: AVE
}
}
layer {
name: "classifier"
type: "InnerProduct"
bottom: "pool_ave"
top: "classifier"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 1000
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "prob"
type: "Softmax"
bottom: "classifier"
top: "prob"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment