一、准备数据集

1)  下载数据集

Imagnet网站上下载了三类图片,分别是big cat、dog、fish,其中训练集的图片数一共是4149,测试集的图片数是1003,训练集和测试集的图片数比例4:1,将训练集的图片保存在train文件夹下,测试集图片保存在val文件夹下.

train、val文件夹下面均有bigcat、dog、fish三个文件夹,分别存放着对应类别的图片.

2) 利用python代码,生成train.txt、val.txt

train.txt、val.txt分别存储着训练集和测试集图片的文件名及其类别标签(注:bigcat:0、 dog:1、fish:2),格式如下:

n02084071_9865.JPEG 1
n02512053_3388.JPEG 2
n02512053_6294.JPEG 2
n02512053_2413.JPEG 2
n02084071_5655.JPEG 1
n02127808_9965.JPEG 0
n02127808_8206.JPEG 0
n02127808_4887.JPEG 0
n02512053_1952.JPEG 2

Python代码如下(可以先在windows环境下利用以下的代码生成txt):

 import os
import random trainPath = 'F:\\Resnet152\\train\\'
valPath = 'F:\\Resnet152\\val\\' train = {}
val = {} # add
for name in os.listdir(trainPath + "bigcat\\"):
train[name] = 0 # add
for name in os.listdir(trainPath + "dog\\"):
train[name] = 1 # add
for name in os.listdir(trainPath + "fish\\"):
train[name] = 2 # add
for name in os.listdir(valPath + "bigcat\\"):
val[name] = 0 # add
for name in os.listdir(valPath + "dog\\"):
val[name] = 1 # add
for name in os.listdir(valPath + "fish\\"):
val[name] = 2 ftrain = open("F:\\Resnet152\\train\\train.txt", 'w')
fval = open("F:\\Resnet152\\val\\val.txt", 'w') trainName = []
valName = []
for (item) in train:
trainName.append(item) for item in val:
valName.append(item) random.shuffle(trainName)
random.shuffle(valName) for name in trainName:
label = train[name]
ftrain.write(name + " " + str(label) + "\n") for name in valName:
label = val[name]
fval.write(name + " " + str(label) + "\n") ftrain.close()
fval.close()

3) 生成数据集

编写lmdb.sh脚本文件,利用train.txt、val.txt生成train_lmdb、val_lmdb

lmdb.sh脚本代码如下

 #!/usr/bin/env sh
# Create the face_48 lmdb inputs
# N.B. set the path to the face_48 train + val data dirs EXAMPLE=/home/wy/ResNet152 #lmdb生成后存放目录
DATA=/home/wy/ResNet152 #train.txt、val.txt存放目录
TOOLS=/home/wy/caffe/build/tools #caffe安装目录 TRAIN_DATA_ROOT=/home/wy/ResNet152/train/
VAL_DATA_ROOT=/home/wy/ResNet152/val/ # Set RESIZE=true to resize the images to 224 x 224. Leave as false if images have
# already been resized using another tool.
RESIZE=true
if $RESIZE; then
RESIZE_HEIGHT=224 #resize图片大小
RESIZE_WIDTH=224
else
RESIZE_HEIGHT=0
RESIZE_WIDTH=0
fi if [ ! -d "$TRAIN_DATA_ROOT" ]; then
echo "Error: TRAIN_DATA_ROOT is not a path to a directory: $TRAIN_DATA_ROOT"
echo "Set the TRAIN_DATA_ROOT variable in create_face_48.sh to the path" \
"where the face_48 training data is stored."
exit 1
fi if [ ! -d "$VAL_DATA_ROOT" ]; then
echo "Error: VAL_DATA_ROOT is not a path to a directory: $VAL_DATA_ROOT"
echo "Set the VAL_DATA_ROOT variable in create_face_48.sh to the path" \
"where the face_48 validation data is stored."
exit 1
fi echo "Creating train lmdb..." GLOG_logtostderr=1 $TOOLS/convert_imageset \
--resize_height=$RESIZE_HEIGHT \
--resize_width=$RESIZE_WIDTH \
--shuffle \
$TRAIN_DATA_ROOT \
$DATA/train.txt \
$EXAMPLE/train_lmdb echo "Creating val lmdb..." GLOG_logtostderr=1 $TOOLS/convert_imageset \
--resize_height=$RESIZE_HEIGHT \
--resize_width=$RESIZE_WIDTH \
--shuffle \
$VAL_DATA_ROOT \
$DATA/val.txt \
$EXAMPLE/val_lmdb echo "Done."
Status API Training Shop Blog About

注:上述代码中有RESIZE_HEIGHT=224、RESIZE_WIDTH=224,因为使用的是ResNet网络,

需要统一图片大小,如果使用的网络对图片大小无要求,或者已经是224*224大小的图片,可不进行resize操作

linux系统终端中执行sh lmdb.sh即可生成lmdb文件,完成数据集的生成工作

执行结束后,会在ResNet152目录下,生成两个文件夹,分别是train_lmdb、val_lmdb

4) 计算图片平均值

训练网络图片时,需要对图片做减均值处理,先将图片平均值保存到文件中,在训练网络中直接引用,先介绍如何生成图片平均值文件,后面引用的时候会特别注明,命令如下:

/home/wy/caffe/build/tools/compute_image_mean /home/wy/ResNet152/train_lmdb /home/wy/ResNet152/mean.binaryproto

利用Caffe安装目录下面的compute_image_mean.bin进行图片平均值的计算,输入的是train_lmdb,输出的为mean.binaryproto

二、修改网络配置文件

修改配置之前,先列出需要的文件:train_val.prototxt、deploy.prototxt、solver.prototxt(三个文件的具体内容会在博客最后给出)

1)  train_val.prototxt

文件名train_val包括train和val,可以先这样理解每进行500次训练的时候,会进行一次验证,方便输出供训练者观察情况,既然这样,就需要在这个文件里面指定train数据集和val数据集

关于train_val.prototxt中其余部分的代码均是ResNet152的网络结构代码,无需修改

2)  deploy.prototxt

deploy.prototxt主要是当模型训练出来以后,利用模型对用户提交的一张图片进行分类应用的时候使用的网络文件,只需要进行一次前向传播计算输入图片所属类别的概率值,所以,此文件里面没有损失函数层的定义

3) solver.prototxt

文件指定训练的相关规则和参数,具体内容介绍见下图中的标注

三、训练网络

网络文件编辑完后,即可开始训练网络,可直接在linux终端输入以下命令

/home/wy/caffe/build/tools/caffe train --solver=/home/wy/ResNet152/solver.prototxt

前者是caffe安装目录路径,后者是solver.prototxt存放路径,回车后即可开始训练;也可创建train.sh脚本文件,文件中保存上述指令

此时,在linux终端(导航到train.sh存放的路径),输入sh  train.sh即可

训练过程中的一张图

四、测试图片

用训练出的model进行图片的预测

/home/wy/caffe/build/examples/cpp_classification/classification.bin /home/wy/ResNet152/deploy.prototxt /home/wy/ResNet152/model/solver_iter_60000.caffemodel /home/wy/ResNet152/mean.binaryproto /home/wy/ResNet152/class_name.txt /home/wy/ResNet152/testImages/ISIC_0000001.jpg

在linux下输入上述命令,即可对图片’ISIC_0000001.jpg’进行预测

其中,class_name.txt文件中内容(和trainx.txt中标签要对应):

0 bigcat
1 dog
2 fish

测试图片:

看下测试结果(测试的时候换了台电脑,所以发现目录不太一样):

所以,属于bigcat的概率为0.9999,属于fish的概率为0.0001,属于dog的概率为0

train_val.prototxt

 name: "ResNet-152"
layer {
name: "data"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
mirror: true
crop_size: 224
mean_file: "/home/wy/ResNet152/mean.binaryproto"
}
data_param {
source: "/home/wy/ResNet152/train_lmdb"
batch_size: 1
backend: LMDB
}
}
layer {
name: "data"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
mirror: false
crop_size: 224
mean_file:"/usr/develop/repertory/ResNet152/mean.binaryproto"
}
data_param {
source: "/usr/develop/repertory/ResNet152/val_lmdb"
batch_size: 1
backend: LMDB
}
} layer {
bottom: "data"
top: "conv1"
name: "conv1"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 7
pad: 3
stride: 2
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "conv1"
top: "conv1"
name: "bn_conv1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "conv1"
top: "conv1"
name: "scale_conv1"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "conv1"
top: "conv1"
name: "conv1_relu"
type: "ReLU"
} layer {
bottom: "conv1"
top: "pool1"
name: "pool1"
type: "Pooling"
pooling_param {
kernel_size: 3
stride: 2
pool: MAX
}
} layer {
bottom: "pool1"
top: "res2a_branch1"
name: "res2a_branch1"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res2a_branch1"
top: "res2a_branch1"
name: "bn2a_branch1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res2a_branch1"
top: "res2a_branch1"
name: "scale2a_branch1"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "pool1"
top: "res2a_branch2a"
name: "res2a_branch2a"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res2a_branch2a"
top: "res2a_branch2a"
name: "bn2a_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res2a_branch2a"
top: "res2a_branch2a"
name: "scale2a_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2a_branch2a"
top: "res2a_branch2a"
name: "res2a_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res2a_branch2a"
top: "res2a_branch2b"
name: "res2a_branch2b"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res2a_branch2b"
top: "res2a_branch2b"
name: "bn2a_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res2a_branch2b"
top: "res2a_branch2b"
name: "scale2a_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2a_branch2b"
top: "res2a_branch2b"
name: "res2a_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res2a_branch2b"
top: "res2a_branch2c"
name: "res2a_branch2c"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res2a_branch2c"
top: "res2a_branch2c"
name: "bn2a_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res2a_branch2c"
top: "res2a_branch2c"
name: "scale2a_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2a_branch1"
bottom: "res2a_branch2c"
top: "res2a"
name: "res2a"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res2a"
top: "res2a"
name: "res2a_relu"
type: "ReLU"
} layer {
bottom: "res2a"
top: "res2b_branch2a"
name: "res2b_branch2a"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res2b_branch2a"
top: "res2b_branch2a"
name: "bn2b_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res2b_branch2a"
top: "res2b_branch2a"
name: "scale2b_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2b_branch2a"
top: "res2b_branch2a"
name: "res2b_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res2b_branch2a"
top: "res2b_branch2b"
name: "res2b_branch2b"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res2b_branch2b"
top: "res2b_branch2b"
name: "bn2b_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res2b_branch2b"
top: "res2b_branch2b"
name: "scale2b_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2b_branch2b"
top: "res2b_branch2b"
name: "res2b_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res2b_branch2b"
top: "res2b_branch2c"
name: "res2b_branch2c"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res2b_branch2c"
top: "res2b_branch2c"
name: "bn2b_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res2b_branch2c"
top: "res2b_branch2c"
name: "scale2b_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2a"
bottom: "res2b_branch2c"
top: "res2b"
name: "res2b"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res2b"
top: "res2b"
name: "res2b_relu"
type: "ReLU"
} layer {
bottom: "res2b"
top: "res2c_branch2a"
name: "res2c_branch2a"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res2c_branch2a"
top: "res2c_branch2a"
name: "bn2c_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res2c_branch2a"
top: "res2c_branch2a"
name: "scale2c_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2c_branch2a"
top: "res2c_branch2a"
name: "res2c_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res2c_branch2a"
top: "res2c_branch2b"
name: "res2c_branch2b"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res2c_branch2b"
top: "res2c_branch2b"
name: "bn2c_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res2c_branch2b"
top: "res2c_branch2b"
name: "scale2c_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2c_branch2b"
top: "res2c_branch2b"
name: "res2c_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res2c_branch2b"
top: "res2c_branch2c"
name: "res2c_branch2c"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res2c_branch2c"
top: "res2c_branch2c"
name: "bn2c_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res2c_branch2c"
top: "res2c_branch2c"
name: "scale2c_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2b"
bottom: "res2c_branch2c"
top: "res2c"
name: "res2c"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res2c"
top: "res2c"
name: "res2c_relu"
type: "ReLU"
} layer {
bottom: "res2c"
top: "res3a_branch1"
name: "res3a_branch1"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 2
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3a_branch1"
top: "res3a_branch1"
name: "bn3a_branch1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3a_branch1"
top: "res3a_branch1"
name: "scale3a_branch1"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2c"
top: "res3a_branch2a"
name: "res3a_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 2
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3a_branch2a"
top: "res3a_branch2a"
name: "bn3a_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3a_branch2a"
top: "res3a_branch2a"
name: "scale3a_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3a_branch2a"
top: "res3a_branch2a"
name: "res3a_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3a_branch2a"
top: "res3a_branch2b"
name: "res3a_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3a_branch2b"
top: "res3a_branch2b"
name: "bn3a_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3a_branch2b"
top: "res3a_branch2b"
name: "scale3a_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3a_branch2b"
top: "res3a_branch2b"
name: "res3a_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3a_branch2b"
top: "res3a_branch2c"
name: "res3a_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3a_branch2c"
top: "res3a_branch2c"
name: "bn3a_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3a_branch2c"
top: "res3a_branch2c"
name: "scale3a_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3a_branch1"
bottom: "res3a_branch2c"
top: "res3a"
name: "res3a"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res3a"
top: "res3a"
name: "res3a_relu"
type: "ReLU"
} layer {
bottom: "res3a"
top: "res3b1_branch2a"
name: "res3b1_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b1_branch2a"
top: "res3b1_branch2a"
name: "bn3b1_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b1_branch2a"
top: "res3b1_branch2a"
name: "scale3b1_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b1_branch2a"
top: "res3b1_branch2a"
name: "res3b1_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b1_branch2a"
top: "res3b1_branch2b"
name: "res3b1_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b1_branch2b"
top: "res3b1_branch2b"
name: "bn3b1_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b1_branch2b"
top: "res3b1_branch2b"
name: "scale3b1_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b1_branch2b"
top: "res3b1_branch2b"
name: "res3b1_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b1_branch2b"
top: "res3b1_branch2c"
name: "res3b1_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b1_branch2c"
top: "res3b1_branch2c"
name: "bn3b1_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b1_branch2c"
top: "res3b1_branch2c"
name: "scale3b1_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3a"
bottom: "res3b1_branch2c"
top: "res3b1"
name: "res3b1"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res3b1"
top: "res3b1"
name: "res3b1_relu"
type: "ReLU"
} layer {
bottom: "res3b1"
top: "res3b2_branch2a"
name: "res3b2_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b2_branch2a"
top: "res3b2_branch2a"
name: "bn3b2_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b2_branch2a"
top: "res3b2_branch2a"
name: "scale3b2_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b2_branch2a"
top: "res3b2_branch2a"
name: "res3b2_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b2_branch2a"
top: "res3b2_branch2b"
name: "res3b2_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b2_branch2b"
top: "res3b2_branch2b"
name: "bn3b2_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b2_branch2b"
top: "res3b2_branch2b"
name: "scale3b2_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b2_branch2b"
top: "res3b2_branch2b"
name: "res3b2_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b2_branch2b"
top: "res3b2_branch2c"
name: "res3b2_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b2_branch2c"
top: "res3b2_branch2c"
name: "bn3b2_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b2_branch2c"
top: "res3b2_branch2c"
name: "scale3b2_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b1"
bottom: "res3b2_branch2c"
top: "res3b2"
name: "res3b2"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res3b2"
top: "res3b2"
name: "res3b2_relu"
type: "ReLU"
} layer {
bottom: "res3b2"
top: "res3b3_branch2a"
name: "res3b3_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b3_branch2a"
top: "res3b3_branch2a"
name: "bn3b3_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b3_branch2a"
top: "res3b3_branch2a"
name: "scale3b3_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b3_branch2a"
top: "res3b3_branch2a"
name: "res3b3_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b3_branch2a"
top: "res3b3_branch2b"
name: "res3b3_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b3_branch2b"
top: "res3b3_branch2b"
name: "bn3b3_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b3_branch2b"
top: "res3b3_branch2b"
name: "scale3b3_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b3_branch2b"
top: "res3b3_branch2b"
name: "res3b3_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b3_branch2b"
top: "res3b3_branch2c"
name: "res3b3_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b3_branch2c"
top: "res3b3_branch2c"
name: "bn3b3_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b3_branch2c"
top: "res3b3_branch2c"
name: "scale3b3_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b2"
bottom: "res3b3_branch2c"
top: "res3b3"
name: "res3b3"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res3b3"
top: "res3b3"
name: "res3b3_relu"
type: "ReLU"
} layer {
bottom: "res3b3"
top: "res3b4_branch2a"
name: "res3b4_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b4_branch2a"
top: "res3b4_branch2a"
name: "bn3b4_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b4_branch2a"
top: "res3b4_branch2a"
name: "scale3b4_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b4_branch2a"
top: "res3b4_branch2a"
name: "res3b4_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b4_branch2a"
top: "res3b4_branch2b"
name: "res3b4_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b4_branch2b"
top: "res3b4_branch2b"
name: "bn3b4_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b4_branch2b"
top: "res3b4_branch2b"
name: "scale3b4_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b4_branch2b"
top: "res3b4_branch2b"
name: "res3b4_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b4_branch2b"
top: "res3b4_branch2c"
name: "res3b4_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b4_branch2c"
top: "res3b4_branch2c"
name: "bn3b4_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b4_branch2c"
top: "res3b4_branch2c"
name: "scale3b4_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b3"
bottom: "res3b4_branch2c"
top: "res3b4"
name: "res3b4"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res3b4"
top: "res3b4"
name: "res3b4_relu"
type: "ReLU"
} layer {
bottom: "res3b4"
top: "res3b5_branch2a"
name: "res3b5_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b5_branch2a"
top: "res3b5_branch2a"
name: "bn3b5_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b5_branch2a"
top: "res3b5_branch2a"
name: "scale3b5_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b5_branch2a"
top: "res3b5_branch2a"
name: "res3b5_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b5_branch2a"
top: "res3b5_branch2b"
name: "res3b5_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b5_branch2b"
top: "res3b5_branch2b"
name: "bn3b5_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b5_branch2b"
top: "res3b5_branch2b"
name: "scale3b5_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b5_branch2b"
top: "res3b5_branch2b"
name: "res3b5_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b5_branch2b"
top: "res3b5_branch2c"
name: "res3b5_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b5_branch2c"
top: "res3b5_branch2c"
name: "bn3b5_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b5_branch2c"
top: "res3b5_branch2c"
name: "scale3b5_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b4"
bottom: "res3b5_branch2c"
top: "res3b5"
name: "res3b5"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res3b5"
top: "res3b5"
name: "res3b5_relu"
type: "ReLU"
} layer {
bottom: "res3b5"
top: "res3b6_branch2a"
name: "res3b6_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b6_branch2a"
top: "res3b6_branch2a"
name: "bn3b6_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b6_branch2a"
top: "res3b6_branch2a"
name: "scale3b6_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b6_branch2a"
top: "res3b6_branch2a"
name: "res3b6_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b6_branch2a"
top: "res3b6_branch2b"
name: "res3b6_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b6_branch2b"
top: "res3b6_branch2b"
name: "bn3b6_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b6_branch2b"
top: "res3b6_branch2b"
name: "scale3b6_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b6_branch2b"
top: "res3b6_branch2b"
name: "res3b6_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b6_branch2b"
top: "res3b6_branch2c"
name: "res3b6_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b6_branch2c"
top: "res3b6_branch2c"
name: "bn3b6_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b6_branch2c"
top: "res3b6_branch2c"
name: "scale3b6_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b5"
bottom: "res3b6_branch2c"
top: "res3b6"
name: "res3b6"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res3b6"
top: "res3b6"
name: "res3b6_relu"
type: "ReLU"
} layer {
bottom: "res3b6"
top: "res3b7_branch2a"
name: "res3b7_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b7_branch2a"
top: "res3b7_branch2a"
name: "bn3b7_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b7_branch2a"
top: "res3b7_branch2a"
name: "scale3b7_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b7_branch2a"
top: "res3b7_branch2a"
name: "res3b7_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b7_branch2a"
top: "res3b7_branch2b"
name: "res3b7_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b7_branch2b"
top: "res3b7_branch2b"
name: "bn3b7_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b7_branch2b"
top: "res3b7_branch2b"
name: "scale3b7_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b7_branch2b"
top: "res3b7_branch2b"
name: "res3b7_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b7_branch2b"
top: "res3b7_branch2c"
name: "res3b7_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res3b7_branch2c"
top: "res3b7_branch2c"
name: "bn3b7_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res3b7_branch2c"
top: "res3b7_branch2c"
name: "scale3b7_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b6"
bottom: "res3b7_branch2c"
top: "res3b7"
name: "res3b7"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res3b7"
top: "res3b7"
name: "res3b7_relu"
type: "ReLU"
} layer {
bottom: "res3b7"
top: "res4a_branch1"
name: "res4a_branch1"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 2
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4a_branch1"
top: "res4a_branch1"
name: "bn4a_branch1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4a_branch1"
top: "res4a_branch1"
name: "scale4a_branch1"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b7"
top: "res4a_branch2a"
name: "res4a_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 2
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4a_branch2a"
top: "res4a_branch2a"
name: "bn4a_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4a_branch2a"
top: "res4a_branch2a"
name: "scale4a_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4a_branch2a"
top: "res4a_branch2a"
name: "res4a_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4a_branch2a"
top: "res4a_branch2b"
name: "res4a_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4a_branch2b"
top: "res4a_branch2b"
name: "bn4a_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4a_branch2b"
top: "res4a_branch2b"
name: "scale4a_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4a_branch2b"
top: "res4a_branch2b"
name: "res4a_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4a_branch2b"
top: "res4a_branch2c"
name: "res4a_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4a_branch2c"
top: "res4a_branch2c"
name: "bn4a_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4a_branch2c"
top: "res4a_branch2c"
name: "scale4a_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4a_branch1"
bottom: "res4a_branch2c"
top: "res4a"
name: "res4a"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4a"
top: "res4a"
name: "res4a_relu"
type: "ReLU"
} layer {
bottom: "res4a"
top: "res4b1_branch2a"
name: "res4b1_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b1_branch2a"
top: "res4b1_branch2a"
name: "bn4b1_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b1_branch2a"
top: "res4b1_branch2a"
name: "scale4b1_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b1_branch2a"
top: "res4b1_branch2a"
name: "res4b1_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b1_branch2a"
top: "res4b1_branch2b"
name: "res4b1_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b1_branch2b"
top: "res4b1_branch2b"
name: "bn4b1_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b1_branch2b"
top: "res4b1_branch2b"
name: "scale4b1_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b1_branch2b"
top: "res4b1_branch2b"
name: "res4b1_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b1_branch2b"
top: "res4b1_branch2c"
name: "res4b1_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b1_branch2c"
top: "res4b1_branch2c"
name: "bn4b1_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b1_branch2c"
top: "res4b1_branch2c"
name: "scale4b1_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4a"
bottom: "res4b1_branch2c"
top: "res4b1"
name: "res4b1"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b1"
top: "res4b1"
name: "res4b1_relu"
type: "ReLU"
} layer {
bottom: "res4b1"
top: "res4b2_branch2a"
name: "res4b2_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b2_branch2a"
top: "res4b2_branch2a"
name: "bn4b2_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b2_branch2a"
top: "res4b2_branch2a"
name: "scale4b2_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b2_branch2a"
top: "res4b2_branch2a"
name: "res4b2_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b2_branch2a"
top: "res4b2_branch2b"
name: "res4b2_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b2_branch2b"
top: "res4b2_branch2b"
name: "bn4b2_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b2_branch2b"
top: "res4b2_branch2b"
name: "scale4b2_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b2_branch2b"
top: "res4b2_branch2b"
name: "res4b2_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b2_branch2b"
top: "res4b2_branch2c"
name: "res4b2_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b2_branch2c"
top: "res4b2_branch2c"
name: "bn4b2_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b2_branch2c"
top: "res4b2_branch2c"
name: "scale4b2_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b1"
bottom: "res4b2_branch2c"
top: "res4b2"
name: "res4b2"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b2"
top: "res4b2"
name: "res4b2_relu"
type: "ReLU"
} layer {
bottom: "res4b2"
top: "res4b3_branch2a"
name: "res4b3_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b3_branch2a"
top: "res4b3_branch2a"
name: "bn4b3_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b3_branch2a"
top: "res4b3_branch2a"
name: "scale4b3_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b3_branch2a"
top: "res4b3_branch2a"
name: "res4b3_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b3_branch2a"
top: "res4b3_branch2b"
name: "res4b3_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b3_branch2b"
top: "res4b3_branch2b"
name: "bn4b3_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b3_branch2b"
top: "res4b3_branch2b"
name: "scale4b3_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b3_branch2b"
top: "res4b3_branch2b"
name: "res4b3_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b3_branch2b"
top: "res4b3_branch2c"
name: "res4b3_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b3_branch2c"
top: "res4b3_branch2c"
name: "bn4b3_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b3_branch2c"
top: "res4b3_branch2c"
name: "scale4b3_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b2"
bottom: "res4b3_branch2c"
top: "res4b3"
name: "res4b3"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b3"
top: "res4b3"
name: "res4b3_relu"
type: "ReLU"
} layer {
bottom: "res4b3"
top: "res4b4_branch2a"
name: "res4b4_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b4_branch2a"
top: "res4b4_branch2a"
name: "bn4b4_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b4_branch2a"
top: "res4b4_branch2a"
name: "scale4b4_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b4_branch2a"
top: "res4b4_branch2a"
name: "res4b4_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b4_branch2a"
top: "res4b4_branch2b"
name: "res4b4_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b4_branch2b"
top: "res4b4_branch2b"
name: "bn4b4_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b4_branch2b"
top: "res4b4_branch2b"
name: "scale4b4_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b4_branch2b"
top: "res4b4_branch2b"
name: "res4b4_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b4_branch2b"
top: "res4b4_branch2c"
name: "res4b4_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b4_branch2c"
top: "res4b4_branch2c"
name: "bn4b4_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b4_branch2c"
top: "res4b4_branch2c"
name: "scale4b4_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b3"
bottom: "res4b4_branch2c"
top: "res4b4"
name: "res4b4"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b4"
top: "res4b4"
name: "res4b4_relu"
type: "ReLU"
} layer {
bottom: "res4b4"
top: "res4b5_branch2a"
name: "res4b5_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b5_branch2a"
top: "res4b5_branch2a"
name: "bn4b5_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b5_branch2a"
top: "res4b5_branch2a"
name: "scale4b5_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b5_branch2a"
top: "res4b5_branch2a"
name: "res4b5_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b5_branch2a"
top: "res4b5_branch2b"
name: "res4b5_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b5_branch2b"
top: "res4b5_branch2b"
name: "bn4b5_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b5_branch2b"
top: "res4b5_branch2b"
name: "scale4b5_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b5_branch2b"
top: "res4b5_branch2b"
name: "res4b5_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b5_branch2b"
top: "res4b5_branch2c"
name: "res4b5_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b5_branch2c"
top: "res4b5_branch2c"
name: "bn4b5_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b5_branch2c"
top: "res4b5_branch2c"
name: "scale4b5_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b4"
bottom: "res4b5_branch2c"
top: "res4b5"
name: "res4b5"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b5"
top: "res4b5"
name: "res4b5_relu"
type: "ReLU"
} layer {
bottom: "res4b5"
top: "res4b6_branch2a"
name: "res4b6_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b6_branch2a"
top: "res4b6_branch2a"
name: "bn4b6_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b6_branch2a"
top: "res4b6_branch2a"
name: "scale4b6_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b6_branch2a"
top: "res4b6_branch2a"
name: "res4b6_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b6_branch2a"
top: "res4b6_branch2b"
name: "res4b6_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b6_branch2b"
top: "res4b6_branch2b"
name: "bn4b6_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b6_branch2b"
top: "res4b6_branch2b"
name: "scale4b6_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b6_branch2b"
top: "res4b6_branch2b"
name: "res4b6_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b6_branch2b"
top: "res4b6_branch2c"
name: "res4b6_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b6_branch2c"
top: "res4b6_branch2c"
name: "bn4b6_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b6_branch2c"
top: "res4b6_branch2c"
name: "scale4b6_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b5"
bottom: "res4b6_branch2c"
top: "res4b6"
name: "res4b6"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b6"
top: "res4b6"
name: "res4b6_relu"
type: "ReLU"
} layer {
bottom: "res4b6"
top: "res4b7_branch2a"
name: "res4b7_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b7_branch2a"
top: "res4b7_branch2a"
name: "bn4b7_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b7_branch2a"
top: "res4b7_branch2a"
name: "scale4b7_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b7_branch2a"
top: "res4b7_branch2a"
name: "res4b7_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b7_branch2a"
top: "res4b7_branch2b"
name: "res4b7_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b7_branch2b"
top: "res4b7_branch2b"
name: "bn4b7_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b7_branch2b"
top: "res4b7_branch2b"
name: "scale4b7_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b7_branch2b"
top: "res4b7_branch2b"
name: "res4b7_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b7_branch2b"
top: "res4b7_branch2c"
name: "res4b7_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b7_branch2c"
top: "res4b7_branch2c"
name: "bn4b7_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b7_branch2c"
top: "res4b7_branch2c"
name: "scale4b7_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b6"
bottom: "res4b7_branch2c"
top: "res4b7"
name: "res4b7"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b7"
top: "res4b7"
name: "res4b7_relu"
type: "ReLU"
} layer {
bottom: "res4b7"
top: "res4b8_branch2a"
name: "res4b8_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b8_branch2a"
top: "res4b8_branch2a"
name: "bn4b8_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b8_branch2a"
top: "res4b8_branch2a"
name: "scale4b8_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b8_branch2a"
top: "res4b8_branch2a"
name: "res4b8_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b8_branch2a"
top: "res4b8_branch2b"
name: "res4b8_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b8_branch2b"
top: "res4b8_branch2b"
name: "bn4b8_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b8_branch2b"
top: "res4b8_branch2b"
name: "scale4b8_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b8_branch2b"
top: "res4b8_branch2b"
name: "res4b8_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b8_branch2b"
top: "res4b8_branch2c"
name: "res4b8_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b8_branch2c"
top: "res4b8_branch2c"
name: "bn4b8_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b8_branch2c"
top: "res4b8_branch2c"
name: "scale4b8_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b7"
bottom: "res4b8_branch2c"
top: "res4b8"
name: "res4b8"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b8"
top: "res4b8"
name: "res4b8_relu"
type: "ReLU"
} layer {
bottom: "res4b8"
top: "res4b9_branch2a"
name: "res4b9_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b9_branch2a"
top: "res4b9_branch2a"
name: "bn4b9_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b9_branch2a"
top: "res4b9_branch2a"
name: "scale4b9_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b9_branch2a"
top: "res4b9_branch2a"
name: "res4b9_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b9_branch2a"
top: "res4b9_branch2b"
name: "res4b9_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b9_branch2b"
top: "res4b9_branch2b"
name: "bn4b9_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b9_branch2b"
top: "res4b9_branch2b"
name: "scale4b9_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b9_branch2b"
top: "res4b9_branch2b"
name: "res4b9_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b9_branch2b"
top: "res4b9_branch2c"
name: "res4b9_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b9_branch2c"
top: "res4b9_branch2c"
name: "bn4b9_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b9_branch2c"
top: "res4b9_branch2c"
name: "scale4b9_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b8"
bottom: "res4b9_branch2c"
top: "res4b9"
name: "res4b9"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b9"
top: "res4b9"
name: "res4b9_relu"
type: "ReLU"
} layer {
bottom: "res4b9"
top: "res4b10_branch2a"
name: "res4b10_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b10_branch2a"
top: "res4b10_branch2a"
name: "bn4b10_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b10_branch2a"
top: "res4b10_branch2a"
name: "scale4b10_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b10_branch2a"
top: "res4b10_branch2a"
name: "res4b10_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b10_branch2a"
top: "res4b10_branch2b"
name: "res4b10_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b10_branch2b"
top: "res4b10_branch2b"
name: "bn4b10_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b10_branch2b"
top: "res4b10_branch2b"
name: "scale4b10_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b10_branch2b"
top: "res4b10_branch2b"
name: "res4b10_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b10_branch2b"
top: "res4b10_branch2c"
name: "res4b10_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b10_branch2c"
top: "res4b10_branch2c"
name: "bn4b10_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b10_branch2c"
top: "res4b10_branch2c"
name: "scale4b10_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b9"
bottom: "res4b10_branch2c"
top: "res4b10"
name: "res4b10"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b10"
top: "res4b10"
name: "res4b10_relu"
type: "ReLU"
} layer {
bottom: "res4b10"
top: "res4b11_branch2a"
name: "res4b11_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b11_branch2a"
top: "res4b11_branch2a"
name: "bn4b11_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b11_branch2a"
top: "res4b11_branch2a"
name: "scale4b11_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b11_branch2a"
top: "res4b11_branch2a"
name: "res4b11_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b11_branch2a"
top: "res4b11_branch2b"
name: "res4b11_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b11_branch2b"
top: "res4b11_branch2b"
name: "bn4b11_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b11_branch2b"
top: "res4b11_branch2b"
name: "scale4b11_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b11_branch2b"
top: "res4b11_branch2b"
name: "res4b11_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b11_branch2b"
top: "res4b11_branch2c"
name: "res4b11_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b11_branch2c"
top: "res4b11_branch2c"
name: "bn4b11_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b11_branch2c"
top: "res4b11_branch2c"
name: "scale4b11_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b10"
bottom: "res4b11_branch2c"
top: "res4b11"
name: "res4b11"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b11"
top: "res4b11"
name: "res4b11_relu"
type: "ReLU"
} layer {
bottom: "res4b11"
top: "res4b12_branch2a"
name: "res4b12_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b12_branch2a"
top: "res4b12_branch2a"
name: "bn4b12_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b12_branch2a"
top: "res4b12_branch2a"
name: "scale4b12_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b12_branch2a"
top: "res4b12_branch2a"
name: "res4b12_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b12_branch2a"
top: "res4b12_branch2b"
name: "res4b12_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b12_branch2b"
top: "res4b12_branch2b"
name: "bn4b12_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b12_branch2b"
top: "res4b12_branch2b"
name: "scale4b12_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b12_branch2b"
top: "res4b12_branch2b"
name: "res4b12_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b12_branch2b"
top: "res4b12_branch2c"
name: "res4b12_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b12_branch2c"
top: "res4b12_branch2c"
name: "bn4b12_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b12_branch2c"
top: "res4b12_branch2c"
name: "scale4b12_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b11"
bottom: "res4b12_branch2c"
top: "res4b12"
name: "res4b12"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b12"
top: "res4b12"
name: "res4b12_relu"
type: "ReLU"
} layer {
bottom: "res4b12"
top: "res4b13_branch2a"
name: "res4b13_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b13_branch2a"
top: "res4b13_branch2a"
name: "bn4b13_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b13_branch2a"
top: "res4b13_branch2a"
name: "scale4b13_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b13_branch2a"
top: "res4b13_branch2a"
name: "res4b13_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b13_branch2a"
top: "res4b13_branch2b"
name: "res4b13_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b13_branch2b"
top: "res4b13_branch2b"
name: "bn4b13_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b13_branch2b"
top: "res4b13_branch2b"
name: "scale4b13_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b13_branch2b"
top: "res4b13_branch2b"
name: "res4b13_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b13_branch2b"
top: "res4b13_branch2c"
name: "res4b13_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b13_branch2c"
top: "res4b13_branch2c"
name: "bn4b13_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b13_branch2c"
top: "res4b13_branch2c"
name: "scale4b13_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b12"
bottom: "res4b13_branch2c"
top: "res4b13"
name: "res4b13"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b13"
top: "res4b13"
name: "res4b13_relu"
type: "ReLU"
} layer {
bottom: "res4b13"
top: "res4b14_branch2a"
name: "res4b14_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b14_branch2a"
top: "res4b14_branch2a"
name: "bn4b14_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b14_branch2a"
top: "res4b14_branch2a"
name: "scale4b14_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b14_branch2a"
top: "res4b14_branch2a"
name: "res4b14_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b14_branch2a"
top: "res4b14_branch2b"
name: "res4b14_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b14_branch2b"
top: "res4b14_branch2b"
name: "bn4b14_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b14_branch2b"
top: "res4b14_branch2b"
name: "scale4b14_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b14_branch2b"
top: "res4b14_branch2b"
name: "res4b14_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b14_branch2b"
top: "res4b14_branch2c"
name: "res4b14_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b14_branch2c"
top: "res4b14_branch2c"
name: "bn4b14_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b14_branch2c"
top: "res4b14_branch2c"
name: "scale4b14_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b13"
bottom: "res4b14_branch2c"
top: "res4b14"
name: "res4b14"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b14"
top: "res4b14"
name: "res4b14_relu"
type: "ReLU"
} layer {
bottom: "res4b14"
top: "res4b15_branch2a"
name: "res4b15_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b15_branch2a"
top: "res4b15_branch2a"
name: "bn4b15_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b15_branch2a"
top: "res4b15_branch2a"
name: "scale4b15_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b15_branch2a"
top: "res4b15_branch2a"
name: "res4b15_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b15_branch2a"
top: "res4b15_branch2b"
name: "res4b15_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b15_branch2b"
top: "res4b15_branch2b"
name: "bn4b15_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b15_branch2b"
top: "res4b15_branch2b"
name: "scale4b15_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b15_branch2b"
top: "res4b15_branch2b"
name: "res4b15_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b15_branch2b"
top: "res4b15_branch2c"
name: "res4b15_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b15_branch2c"
top: "res4b15_branch2c"
name: "bn4b15_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b15_branch2c"
top: "res4b15_branch2c"
name: "scale4b15_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b14"
bottom: "res4b15_branch2c"
top: "res4b15"
name: "res4b15"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b15"
top: "res4b15"
name: "res4b15_relu"
type: "ReLU"
} layer {
bottom: "res4b15"
top: "res4b16_branch2a"
name: "res4b16_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b16_branch2a"
top: "res4b16_branch2a"
name: "bn4b16_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b16_branch2a"
top: "res4b16_branch2a"
name: "scale4b16_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b16_branch2a"
top: "res4b16_branch2a"
name: "res4b16_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b16_branch2a"
top: "res4b16_branch2b"
name: "res4b16_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b16_branch2b"
top: "res4b16_branch2b"
name: "bn4b16_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b16_branch2b"
top: "res4b16_branch2b"
name: "scale4b16_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b16_branch2b"
top: "res4b16_branch2b"
name: "res4b16_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b16_branch2b"
top: "res4b16_branch2c"
name: "res4b16_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b16_branch2c"
top: "res4b16_branch2c"
name: "bn4b16_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b16_branch2c"
top: "res4b16_branch2c"
name: "scale4b16_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b15"
bottom: "res4b16_branch2c"
top: "res4b16"
name: "res4b16"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b16"
top: "res4b16"
name: "res4b16_relu"
type: "ReLU"
} layer {
bottom: "res4b16"
top: "res4b17_branch2a"
name: "res4b17_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b17_branch2a"
top: "res4b17_branch2a"
name: "bn4b17_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b17_branch2a"
top: "res4b17_branch2a"
name: "scale4b17_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b17_branch2a"
top: "res4b17_branch2a"
name: "res4b17_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b17_branch2a"
top: "res4b17_branch2b"
name: "res4b17_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b17_branch2b"
top: "res4b17_branch2b"
name: "bn4b17_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b17_branch2b"
top: "res4b17_branch2b"
name: "scale4b17_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b17_branch2b"
top: "res4b17_branch2b"
name: "res4b17_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b17_branch2b"
top: "res4b17_branch2c"
name: "res4b17_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b17_branch2c"
top: "res4b17_branch2c"
name: "bn4b17_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b17_branch2c"
top: "res4b17_branch2c"
name: "scale4b17_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b16"
bottom: "res4b17_branch2c"
top: "res4b17"
name: "res4b17"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b17"
top: "res4b17"
name: "res4b17_relu"
type: "ReLU"
} layer {
bottom: "res4b17"
top: "res4b18_branch2a"
name: "res4b18_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b18_branch2a"
top: "res4b18_branch2a"
name: "bn4b18_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b18_branch2a"
top: "res4b18_branch2a"
name: "scale4b18_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b18_branch2a"
top: "res4b18_branch2a"
name: "res4b18_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b18_branch2a"
top: "res4b18_branch2b"
name: "res4b18_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b18_branch2b"
top: "res4b18_branch2b"
name: "bn4b18_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b18_branch2b"
top: "res4b18_branch2b"
name: "scale4b18_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b18_branch2b"
top: "res4b18_branch2b"
name: "res4b18_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b18_branch2b"
top: "res4b18_branch2c"
name: "res4b18_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b18_branch2c"
top: "res4b18_branch2c"
name: "bn4b18_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b18_branch2c"
top: "res4b18_branch2c"
name: "scale4b18_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b17"
bottom: "res4b18_branch2c"
top: "res4b18"
name: "res4b18"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b18"
top: "res4b18"
name: "res4b18_relu"
type: "ReLU"
} layer {
bottom: "res4b18"
top: "res4b19_branch2a"
name: "res4b19_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b19_branch2a"
top: "res4b19_branch2a"
name: "bn4b19_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b19_branch2a"
top: "res4b19_branch2a"
name: "scale4b19_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b19_branch2a"
top: "res4b19_branch2a"
name: "res4b19_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b19_branch2a"
top: "res4b19_branch2b"
name: "res4b19_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b19_branch2b"
top: "res4b19_branch2b"
name: "bn4b19_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b19_branch2b"
top: "res4b19_branch2b"
name: "scale4b19_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b19_branch2b"
top: "res4b19_branch2b"
name: "res4b19_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b19_branch2b"
top: "res4b19_branch2c"
name: "res4b19_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b19_branch2c"
top: "res4b19_branch2c"
name: "bn4b19_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b19_branch2c"
top: "res4b19_branch2c"
name: "scale4b19_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b18"
bottom: "res4b19_branch2c"
top: "res4b19"
name: "res4b19"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b19"
top: "res4b19"
name: "res4b19_relu"
type: "ReLU"
} layer {
bottom: "res4b19"
top: "res4b20_branch2a"
name: "res4b20_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b20_branch2a"
top: "res4b20_branch2a"
name: "bn4b20_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b20_branch2a"
top: "res4b20_branch2a"
name: "scale4b20_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b20_branch2a"
top: "res4b20_branch2a"
name: "res4b20_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b20_branch2a"
top: "res4b20_branch2b"
name: "res4b20_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b20_branch2b"
top: "res4b20_branch2b"
name: "bn4b20_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b20_branch2b"
top: "res4b20_branch2b"
name: "scale4b20_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b20_branch2b"
top: "res4b20_branch2b"
name: "res4b20_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b20_branch2b"
top: "res4b20_branch2c"
name: "res4b20_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b20_branch2c"
top: "res4b20_branch2c"
name: "bn4b20_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b20_branch2c"
top: "res4b20_branch2c"
name: "scale4b20_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b19"
bottom: "res4b20_branch2c"
top: "res4b20"
name: "res4b20"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b20"
top: "res4b20"
name: "res4b20_relu"
type: "ReLU"
} layer {
bottom: "res4b20"
top: "res4b21_branch2a"
name: "res4b21_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b21_branch2a"
top: "res4b21_branch2a"
name: "bn4b21_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b21_branch2a"
top: "res4b21_branch2a"
name: "scale4b21_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b21_branch2a"
top: "res4b21_branch2a"
name: "res4b21_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b21_branch2a"
top: "res4b21_branch2b"
name: "res4b21_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b21_branch2b"
top: "res4b21_branch2b"
name: "bn4b21_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b21_branch2b"
top: "res4b21_branch2b"
name: "scale4b21_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b21_branch2b"
top: "res4b21_branch2b"
name: "res4b21_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b21_branch2b"
top: "res4b21_branch2c"
name: "res4b21_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b21_branch2c"
top: "res4b21_branch2c"
name: "bn4b21_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b21_branch2c"
top: "res4b21_branch2c"
name: "scale4b21_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b20"
bottom: "res4b21_branch2c"
top: "res4b21"
name: "res4b21"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b21"
top: "res4b21"
name: "res4b21_relu"
type: "ReLU"
} layer {
bottom: "res4b21"
top: "res4b22_branch2a"
name: "res4b22_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b22_branch2a"
top: "res4b22_branch2a"
name: "bn4b22_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b22_branch2a"
top: "res4b22_branch2a"
name: "scale4b22_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b22_branch2a"
top: "res4b22_branch2a"
name: "res4b22_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b22_branch2a"
top: "res4b22_branch2b"
name: "res4b22_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b22_branch2b"
top: "res4b22_branch2b"
name: "bn4b22_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b22_branch2b"
top: "res4b22_branch2b"
name: "scale4b22_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b22_branch2b"
top: "res4b22_branch2b"
name: "res4b22_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b22_branch2b"
top: "res4b22_branch2c"
name: "res4b22_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b22_branch2c"
top: "res4b22_branch2c"
name: "bn4b22_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b22_branch2c"
top: "res4b22_branch2c"
name: "scale4b22_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b21"
bottom: "res4b22_branch2c"
top: "res4b22"
name: "res4b22"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b22"
top: "res4b22"
name: "res4b22_relu"
type: "ReLU"
} layer {
bottom: "res4b22"
top: "res4b23_branch2a"
name: "res4b23_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b23_branch2a"
top: "res4b23_branch2a"
name: "bn4b23_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b23_branch2a"
top: "res4b23_branch2a"
name: "scale4b23_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b23_branch2a"
top: "res4b23_branch2a"
name: "res4b23_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b23_branch2a"
top: "res4b23_branch2b"
name: "res4b23_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b23_branch2b"
top: "res4b23_branch2b"
name: "bn4b23_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b23_branch2b"
top: "res4b23_branch2b"
name: "scale4b23_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b23_branch2b"
top: "res4b23_branch2b"
name: "res4b23_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b23_branch2b"
top: "res4b23_branch2c"
name: "res4b23_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b23_branch2c"
top: "res4b23_branch2c"
name: "bn4b23_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b23_branch2c"
top: "res4b23_branch2c"
name: "scale4b23_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b22"
bottom: "res4b23_branch2c"
top: "res4b23"
name: "res4b23"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b23"
top: "res4b23"
name: "res4b23_relu"
type: "ReLU"
} layer {
bottom: "res4b23"
top: "res4b24_branch2a"
name: "res4b24_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b24_branch2a"
top: "res4b24_branch2a"
name: "bn4b24_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b24_branch2a"
top: "res4b24_branch2a"
name: "scale4b24_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b24_branch2a"
top: "res4b24_branch2a"
name: "res4b24_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b24_branch2a"
top: "res4b24_branch2b"
name: "res4b24_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b24_branch2b"
top: "res4b24_branch2b"
name: "bn4b24_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b24_branch2b"
top: "res4b24_branch2b"
name: "scale4b24_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b24_branch2b"
top: "res4b24_branch2b"
name: "res4b24_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b24_branch2b"
top: "res4b24_branch2c"
name: "res4b24_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b24_branch2c"
top: "res4b24_branch2c"
name: "bn4b24_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b24_branch2c"
top: "res4b24_branch2c"
name: "scale4b24_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b23"
bottom: "res4b24_branch2c"
top: "res4b24"
name: "res4b24"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b24"
top: "res4b24"
name: "res4b24_relu"
type: "ReLU"
} layer {
bottom: "res4b24"
top: "res4b25_branch2a"
name: "res4b25_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b25_branch2a"
top: "res4b25_branch2a"
name: "bn4b25_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b25_branch2a"
top: "res4b25_branch2a"
name: "scale4b25_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b25_branch2a"
top: "res4b25_branch2a"
name: "res4b25_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b25_branch2a"
top: "res4b25_branch2b"
name: "res4b25_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b25_branch2b"
top: "res4b25_branch2b"
name: "bn4b25_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b25_branch2b"
top: "res4b25_branch2b"
name: "scale4b25_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b25_branch2b"
top: "res4b25_branch2b"
name: "res4b25_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b25_branch2b"
top: "res4b25_branch2c"
name: "res4b25_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b25_branch2c"
top: "res4b25_branch2c"
name: "bn4b25_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b25_branch2c"
top: "res4b25_branch2c"
name: "scale4b25_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b24"
bottom: "res4b25_branch2c"
top: "res4b25"
name: "res4b25"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b25"
top: "res4b25"
name: "res4b25_relu"
type: "ReLU"
} layer {
bottom: "res4b25"
top: "res4b26_branch2a"
name: "res4b26_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b26_branch2a"
top: "res4b26_branch2a"
name: "bn4b26_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b26_branch2a"
top: "res4b26_branch2a"
name: "scale4b26_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b26_branch2a"
top: "res4b26_branch2a"
name: "res4b26_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b26_branch2a"
top: "res4b26_branch2b"
name: "res4b26_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b26_branch2b"
top: "res4b26_branch2b"
name: "bn4b26_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b26_branch2b"
top: "res4b26_branch2b"
name: "scale4b26_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b26_branch2b"
top: "res4b26_branch2b"
name: "res4b26_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b26_branch2b"
top: "res4b26_branch2c"
name: "res4b26_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b26_branch2c"
top: "res4b26_branch2c"
name: "bn4b26_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b26_branch2c"
top: "res4b26_branch2c"
name: "scale4b26_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b25"
bottom: "res4b26_branch2c"
top: "res4b26"
name: "res4b26"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b26"
top: "res4b26"
name: "res4b26_relu"
type: "ReLU"
} layer {
bottom: "res4b26"
top: "res4b27_branch2a"
name: "res4b27_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b27_branch2a"
top: "res4b27_branch2a"
name: "bn4b27_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b27_branch2a"
top: "res4b27_branch2a"
name: "scale4b27_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b27_branch2a"
top: "res4b27_branch2a"
name: "res4b27_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b27_branch2a"
top: "res4b27_branch2b"
name: "res4b27_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b27_branch2b"
top: "res4b27_branch2b"
name: "bn4b27_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b27_branch2b"
top: "res4b27_branch2b"
name: "scale4b27_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b27_branch2b"
top: "res4b27_branch2b"
name: "res4b27_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b27_branch2b"
top: "res4b27_branch2c"
name: "res4b27_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b27_branch2c"
top: "res4b27_branch2c"
name: "bn4b27_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b27_branch2c"
top: "res4b27_branch2c"
name: "scale4b27_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b26"
bottom: "res4b27_branch2c"
top: "res4b27"
name: "res4b27"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b27"
top: "res4b27"
name: "res4b27_relu"
type: "ReLU"
} layer {
bottom: "res4b27"
top: "res4b28_branch2a"
name: "res4b28_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b28_branch2a"
top: "res4b28_branch2a"
name: "bn4b28_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b28_branch2a"
top: "res4b28_branch2a"
name: "scale4b28_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b28_branch2a"
top: "res4b28_branch2a"
name: "res4b28_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b28_branch2a"
top: "res4b28_branch2b"
name: "res4b28_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b28_branch2b"
top: "res4b28_branch2b"
name: "bn4b28_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b28_branch2b"
top: "res4b28_branch2b"
name: "scale4b28_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b28_branch2b"
top: "res4b28_branch2b"
name: "res4b28_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b28_branch2b"
top: "res4b28_branch2c"
name: "res4b28_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b28_branch2c"
top: "res4b28_branch2c"
name: "bn4b28_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b28_branch2c"
top: "res4b28_branch2c"
name: "scale4b28_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b27"
bottom: "res4b28_branch2c"
top: "res4b28"
name: "res4b28"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b28"
top: "res4b28"
name: "res4b28_relu"
type: "ReLU"
} layer {
bottom: "res4b28"
top: "res4b29_branch2a"
name: "res4b29_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b29_branch2a"
top: "res4b29_branch2a"
name: "bn4b29_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b29_branch2a"
top: "res4b29_branch2a"
name: "scale4b29_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b29_branch2a"
top: "res4b29_branch2a"
name: "res4b29_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b29_branch2a"
top: "res4b29_branch2b"
name: "res4b29_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b29_branch2b"
top: "res4b29_branch2b"
name: "bn4b29_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b29_branch2b"
top: "res4b29_branch2b"
name: "scale4b29_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b29_branch2b"
top: "res4b29_branch2b"
name: "res4b29_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b29_branch2b"
top: "res4b29_branch2c"
name: "res4b29_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b29_branch2c"
top: "res4b29_branch2c"
name: "bn4b29_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b29_branch2c"
top: "res4b29_branch2c"
name: "scale4b29_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b28"
bottom: "res4b29_branch2c"
top: "res4b29"
name: "res4b29"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b29"
top: "res4b29"
name: "res4b29_relu"
type: "ReLU"
} layer {
bottom: "res4b29"
top: "res4b30_branch2a"
name: "res4b30_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b30_branch2a"
top: "res4b30_branch2a"
name: "bn4b30_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b30_branch2a"
top: "res4b30_branch2a"
name: "scale4b30_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b30_branch2a"
top: "res4b30_branch2a"
name: "res4b30_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b30_branch2a"
top: "res4b30_branch2b"
name: "res4b30_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b30_branch2b"
top: "res4b30_branch2b"
name: "bn4b30_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b30_branch2b"
top: "res4b30_branch2b"
name: "scale4b30_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b30_branch2b"
top: "res4b30_branch2b"
name: "res4b30_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b30_branch2b"
top: "res4b30_branch2c"
name: "res4b30_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b30_branch2c"
top: "res4b30_branch2c"
name: "bn4b30_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b30_branch2c"
top: "res4b30_branch2c"
name: "scale4b30_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b29"
bottom: "res4b30_branch2c"
top: "res4b30"
name: "res4b30"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b30"
top: "res4b30"
name: "res4b30_relu"
type: "ReLU"
} layer {
bottom: "res4b30"
top: "res4b31_branch2a"
name: "res4b31_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b31_branch2a"
top: "res4b31_branch2a"
name: "bn4b31_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b31_branch2a"
top: "res4b31_branch2a"
name: "scale4b31_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b31_branch2a"
top: "res4b31_branch2a"
name: "res4b31_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b31_branch2a"
top: "res4b31_branch2b"
name: "res4b31_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b31_branch2b"
top: "res4b31_branch2b"
name: "bn4b31_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b31_branch2b"
top: "res4b31_branch2b"
name: "scale4b31_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b31_branch2b"
top: "res4b31_branch2b"
name: "res4b31_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b31_branch2b"
top: "res4b31_branch2c"
name: "res4b31_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b31_branch2c"
top: "res4b31_branch2c"
name: "bn4b31_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b31_branch2c"
top: "res4b31_branch2c"
name: "scale4b31_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b30"
bottom: "res4b31_branch2c"
top: "res4b31"
name: "res4b31"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b31"
top: "res4b31"
name: "res4b31_relu"
type: "ReLU"
} layer {
bottom: "res4b31"
top: "res4b32_branch2a"
name: "res4b32_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b32_branch2a"
top: "res4b32_branch2a"
name: "bn4b32_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b32_branch2a"
top: "res4b32_branch2a"
name: "scale4b32_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b32_branch2a"
top: "res4b32_branch2a"
name: "res4b32_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b32_branch2a"
top: "res4b32_branch2b"
name: "res4b32_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b32_branch2b"
top: "res4b32_branch2b"
name: "bn4b32_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b32_branch2b"
top: "res4b32_branch2b"
name: "scale4b32_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b32_branch2b"
top: "res4b32_branch2b"
name: "res4b32_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b32_branch2b"
top: "res4b32_branch2c"
name: "res4b32_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b32_branch2c"
top: "res4b32_branch2c"
name: "bn4b32_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b32_branch2c"
top: "res4b32_branch2c"
name: "scale4b32_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b31"
bottom: "res4b32_branch2c"
top: "res4b32"
name: "res4b32"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b32"
top: "res4b32"
name: "res4b32_relu"
type: "ReLU"
} layer {
bottom: "res4b32"
top: "res4b33_branch2a"
name: "res4b33_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b33_branch2a"
top: "res4b33_branch2a"
name: "bn4b33_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b33_branch2a"
top: "res4b33_branch2a"
name: "scale4b33_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b33_branch2a"
top: "res4b33_branch2a"
name: "res4b33_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b33_branch2a"
top: "res4b33_branch2b"
name: "res4b33_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b33_branch2b"
top: "res4b33_branch2b"
name: "bn4b33_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b33_branch2b"
top: "res4b33_branch2b"
name: "scale4b33_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b33_branch2b"
top: "res4b33_branch2b"
name: "res4b33_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b33_branch2b"
top: "res4b33_branch2c"
name: "res4b33_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b33_branch2c"
top: "res4b33_branch2c"
name: "bn4b33_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b33_branch2c"
top: "res4b33_branch2c"
name: "scale4b33_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b32"
bottom: "res4b33_branch2c"
top: "res4b33"
name: "res4b33"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b33"
top: "res4b33"
name: "res4b33_relu"
type: "ReLU"
} layer {
bottom: "res4b33"
top: "res4b34_branch2a"
name: "res4b34_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b34_branch2a"
top: "res4b34_branch2a"
name: "bn4b34_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b34_branch2a"
top: "res4b34_branch2a"
name: "scale4b34_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b34_branch2a"
top: "res4b34_branch2a"
name: "res4b34_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b34_branch2a"
top: "res4b34_branch2b"
name: "res4b34_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b34_branch2b"
top: "res4b34_branch2b"
name: "bn4b34_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b34_branch2b"
top: "res4b34_branch2b"
name: "scale4b34_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b34_branch2b"
top: "res4b34_branch2b"
name: "res4b34_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b34_branch2b"
top: "res4b34_branch2c"
name: "res4b34_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b34_branch2c"
top: "res4b34_branch2c"
name: "bn4b34_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b34_branch2c"
top: "res4b34_branch2c"
name: "scale4b34_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b33"
bottom: "res4b34_branch2c"
top: "res4b34"
name: "res4b34"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b34"
top: "res4b34"
name: "res4b34_relu"
type: "ReLU"
} layer {
bottom: "res4b34"
top: "res4b35_branch2a"
name: "res4b35_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b35_branch2a"
top: "res4b35_branch2a"
name: "bn4b35_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b35_branch2a"
top: "res4b35_branch2a"
name: "scale4b35_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b35_branch2a"
top: "res4b35_branch2a"
name: "res4b35_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b35_branch2a"
top: "res4b35_branch2b"
name: "res4b35_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b35_branch2b"
top: "res4b35_branch2b"
name: "bn4b35_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b35_branch2b"
top: "res4b35_branch2b"
name: "scale4b35_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b35_branch2b"
top: "res4b35_branch2b"
name: "res4b35_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b35_branch2b"
top: "res4b35_branch2c"
name: "res4b35_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res4b35_branch2c"
top: "res4b35_branch2c"
name: "bn4b35_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res4b35_branch2c"
top: "res4b35_branch2c"
name: "scale4b35_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b34"
bottom: "res4b35_branch2c"
top: "res4b35"
name: "res4b35"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res4b35"
top: "res4b35"
name: "res4b35_relu"
type: "ReLU"
} layer {
bottom: "res4b35"
top: "res5a_branch1"
name: "res5a_branch1"
type: "Convolution"
convolution_param {
num_output: 2048
kernel_size: 1
pad: 0
stride: 2
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res5a_branch1"
top: "res5a_branch1"
name: "bn5a_branch1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res5a_branch1"
top: "res5a_branch1"
name: "scale5a_branch1"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b35"
top: "res5a_branch2a"
name: "res5a_branch2a"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 2
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res5a_branch2a"
top: "res5a_branch2a"
name: "bn5a_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res5a_branch2a"
top: "res5a_branch2a"
name: "scale5a_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5a_branch2a"
top: "res5a_branch2a"
name: "res5a_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res5a_branch2a"
top: "res5a_branch2b"
name: "res5a_branch2b"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res5a_branch2b"
top: "res5a_branch2b"
name: "bn5a_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res5a_branch2b"
top: "res5a_branch2b"
name: "scale5a_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5a_branch2b"
top: "res5a_branch2b"
name: "res5a_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res5a_branch2b"
top: "res5a_branch2c"
name: "res5a_branch2c"
type: "Convolution"
convolution_param {
num_output: 2048
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res5a_branch2c"
top: "res5a_branch2c"
name: "bn5a_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res5a_branch2c"
top: "res5a_branch2c"
name: "scale5a_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5a_branch1"
bottom: "res5a_branch2c"
top: "res5a"
name: "res5a"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res5a"
top: "res5a"
name: "res5a_relu"
type: "ReLU"
} layer {
bottom: "res5a"
top: "res5b_branch2a"
name: "res5b_branch2a"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res5b_branch2a"
top: "res5b_branch2a"
name: "bn5b_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res5b_branch2a"
top: "res5b_branch2a"
name: "scale5b_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5b_branch2a"
top: "res5b_branch2a"
name: "res5b_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res5b_branch2a"
top: "res5b_branch2b"
name: "res5b_branch2b"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res5b_branch2b"
top: "res5b_branch2b"
name: "bn5b_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res5b_branch2b"
top: "res5b_branch2b"
name: "scale5b_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5b_branch2b"
top: "res5b_branch2b"
name: "res5b_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res5b_branch2b"
top: "res5b_branch2c"
name: "res5b_branch2c"
type: "Convolution"
convolution_param {
num_output: 2048
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res5b_branch2c"
top: "res5b_branch2c"
name: "bn5b_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res5b_branch2c"
top: "res5b_branch2c"
name: "scale5b_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5a"
bottom: "res5b_branch2c"
top: "res5b"
name: "res5b"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res5b"
top: "res5b"
name: "res5b_relu"
type: "ReLU"
} layer {
bottom: "res5b"
top: "res5c_branch2a"
name: "res5c_branch2a"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res5c_branch2a"
top: "res5c_branch2a"
name: "bn5c_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res5c_branch2a"
top: "res5c_branch2a"
name: "scale5c_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5c_branch2a"
top: "res5c_branch2a"
name: "res5c_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res5c_branch2a"
top: "res5c_branch2b"
name: "res5c_branch2b"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 3
pad: 1
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res5c_branch2b"
top: "res5c_branch2b"
name: "bn5c_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res5c_branch2b"
top: "res5c_branch2b"
name: "scale5c_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5c_branch2b"
top: "res5c_branch2b"
name: "res5c_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res5c_branch2b"
top: "res5c_branch2c"
name: "res5c_branch2c"
type: "Convolution"
convolution_param {
num_output: 2048
kernel_size: 1
pad: 0
stride: 1
weight_filler {
type: "msra"
}
bias_term: false }
} layer {
bottom: "res5c_branch2c"
top: "res5c_branch2c"
name: "bn5c_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: false
}
} layer {
bottom: "res5c_branch2c"
top: "res5c_branch2c"
name: "scale5c_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5b"
bottom: "res5c_branch2c"
top: "res5c"
name: "res5c"
type: "Eltwise"
eltwise_param {
operation: SUM
}
} layer {
bottom: "res5c"
top: "res5c"
name: "res5c_relu"
type: "ReLU"
} layer {
bottom: "res5c"
top: "pool5"
name: "pool5"
type: "Pooling"
pooling_param {
kernel_size: 7
stride: 1
pool: AVE
}
} layer {
bottom: "pool5"
top: "fc3"
name: "fc3"
type: "InnerProduct"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 1
}
inner_product_param {
num_output: 3
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
} layer {
bottom: "fc3"
bottom: "label"
name: "loss"
type: "SoftmaxWithLoss"
top: "loss"
} layer {
name: "probt"
type: "Softmax"
bottom: "fc3"
top: "probt"
include {
phase: TEST
}
} layer {
bottom: "fc3"
bottom: "label"
top: "accuracy@1"
name: "accuracy/top1"
type: "Accuracy"
accuracy_param {
top_k: 1
}
}

deploy.prototxt

 name: "ResNet-152"
input: "data"
input_shape {
dim: 1
dim: 3
dim: 224
dim: 224
} layer {
bottom: "data"
top: "conv1"
name: "conv1"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 7
pad: 3
stride: 2
bias_term: false
}
} layer {
bottom: "conv1"
top: "conv1"
name: "bn_conv1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "conv1"
top: "conv1"
name: "scale_conv1"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "conv1"
bottom: "conv1"
name: "conv1_relu"
type: "ReLU"
} layer {
bottom: "conv1"
top: "pool1"
name: "pool1"
type: "Pooling"
pooling_param {
kernel_size: 3
stride: 2
pool: MAX
}
} layer {
bottom: "pool1"
top: "res2a_branch1"
name: "res2a_branch1"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res2a_branch1"
top: "res2a_branch1"
name: "bn2a_branch1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res2a_branch1"
top: "res2a_branch1"
name: "scale2a_branch1"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "pool1"
top: "res2a_branch2a"
name: "res2a_branch2a"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res2a_branch2a"
top: "res2a_branch2a"
name: "bn2a_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res2a_branch2a"
top: "res2a_branch2a"
name: "scale2a_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res2a_branch2a"
bottom: "res2a_branch2a"
name: "res2a_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res2a_branch2a"
top: "res2a_branch2b"
name: "res2a_branch2b"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res2a_branch2b"
top: "res2a_branch2b"
name: "bn2a_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res2a_branch2b"
top: "res2a_branch2b"
name: "scale2a_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res2a_branch2b"
bottom: "res2a_branch2b"
name: "res2a_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res2a_branch2b"
top: "res2a_branch2c"
name: "res2a_branch2c"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res2a_branch2c"
top: "res2a_branch2c"
name: "bn2a_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res2a_branch2c"
top: "res2a_branch2c"
name: "scale2a_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2a_branch1"
bottom: "res2a_branch2c"
top: "res2a"
name: "res2a"
type: "Eltwise"
} layer {
bottom: "res2a"
top: "res2a"
name: "res2a_relu"
type: "ReLU"
} layer {
bottom: "res2a"
top: "res2b_branch2a"
name: "res2b_branch2a"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res2b_branch2a"
top: "res2b_branch2a"
name: "bn2b_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res2b_branch2a"
top: "res2b_branch2a"
name: "scale2b_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res2b_branch2a"
bottom: "res2b_branch2a"
name: "res2b_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res2b_branch2a"
top: "res2b_branch2b"
name: "res2b_branch2b"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res2b_branch2b"
top: "res2b_branch2b"
name: "bn2b_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res2b_branch2b"
top: "res2b_branch2b"
name: "scale2b_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res2b_branch2b"
bottom: "res2b_branch2b"
name: "res2b_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res2b_branch2b"
top: "res2b_branch2c"
name: "res2b_branch2c"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res2b_branch2c"
top: "res2b_branch2c"
name: "bn2b_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res2b_branch2c"
top: "res2b_branch2c"
name: "scale2b_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2a"
bottom: "res2b_branch2c"
top: "res2b"
name: "res2b"
type: "Eltwise"
} layer {
bottom: "res2b"
top: "res2b"
name: "res2b_relu"
type: "ReLU"
} layer {
bottom: "res2b"
top: "res2c_branch2a"
name: "res2c_branch2a"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res2c_branch2a"
top: "res2c_branch2a"
name: "bn2c_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res2c_branch2a"
top: "res2c_branch2a"
name: "scale2c_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res2c_branch2a"
bottom: "res2c_branch2a"
name: "res2c_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res2c_branch2a"
top: "res2c_branch2b"
name: "res2c_branch2b"
type: "Convolution"
convolution_param {
num_output: 64
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res2c_branch2b"
top: "res2c_branch2b"
name: "bn2c_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res2c_branch2b"
top: "res2c_branch2b"
name: "scale2c_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res2c_branch2b"
bottom: "res2c_branch2b"
name: "res2c_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res2c_branch2b"
top: "res2c_branch2c"
name: "res2c_branch2c"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res2c_branch2c"
top: "res2c_branch2c"
name: "bn2c_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res2c_branch2c"
top: "res2c_branch2c"
name: "scale2c_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2b"
bottom: "res2c_branch2c"
top: "res2c"
name: "res2c"
type: "Eltwise"
} layer {
bottom: "res2c"
top: "res2c"
name: "res2c_relu"
type: "ReLU"
} layer {
bottom: "res2c"
top: "res3a_branch1"
name: "res3a_branch1"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 2
bias_term: false
}
} layer {
bottom: "res3a_branch1"
top: "res3a_branch1"
name: "bn3a_branch1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3a_branch1"
top: "res3a_branch1"
name: "scale3a_branch1"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res2c"
top: "res3a_branch2a"
name: "res3a_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 2
bias_term: false
}
} layer {
bottom: "res3a_branch2a"
top: "res3a_branch2a"
name: "bn3a_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3a_branch2a"
top: "res3a_branch2a"
name: "scale3a_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3a_branch2a"
bottom: "res3a_branch2a"
name: "res3a_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3a_branch2a"
top: "res3a_branch2b"
name: "res3a_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res3a_branch2b"
top: "res3a_branch2b"
name: "bn3a_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3a_branch2b"
top: "res3a_branch2b"
name: "scale3a_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3a_branch2b"
bottom: "res3a_branch2b"
name: "res3a_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3a_branch2b"
top: "res3a_branch2c"
name: "res3a_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3a_branch2c"
top: "res3a_branch2c"
name: "bn3a_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3a_branch2c"
top: "res3a_branch2c"
name: "scale3a_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3a_branch1"
bottom: "res3a_branch2c"
top: "res3a"
name: "res3a"
type: "Eltwise"
} layer {
bottom: "res3a"
top: "res3a"
name: "res3a_relu"
type: "ReLU"
} layer {
bottom: "res3a"
top: "res3b1_branch2a"
name: "res3b1_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b1_branch2a"
top: "res3b1_branch2a"
name: "bn3b1_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b1_branch2a"
top: "res3b1_branch2a"
name: "scale3b1_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b1_branch2a"
bottom: "res3b1_branch2a"
name: "res3b1_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b1_branch2a"
top: "res3b1_branch2b"
name: "res3b1_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res3b1_branch2b"
top: "res3b1_branch2b"
name: "bn3b1_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b1_branch2b"
top: "res3b1_branch2b"
name: "scale3b1_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b1_branch2b"
bottom: "res3b1_branch2b"
name: "res3b1_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b1_branch2b"
top: "res3b1_branch2c"
name: "res3b1_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b1_branch2c"
top: "res3b1_branch2c"
name: "bn3b1_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b1_branch2c"
top: "res3b1_branch2c"
name: "scale3b1_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3a"
bottom: "res3b1_branch2c"
top: "res3b1"
name: "res3b1"
type: "Eltwise"
} layer {
bottom: "res3b1"
top: "res3b1"
name: "res3b1_relu"
type: "ReLU"
} layer {
bottom: "res3b1"
top: "res3b2_branch2a"
name: "res3b2_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b2_branch2a"
top: "res3b2_branch2a"
name: "bn3b2_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b2_branch2a"
top: "res3b2_branch2a"
name: "scale3b2_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b2_branch2a"
bottom: "res3b2_branch2a"
name: "res3b2_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b2_branch2a"
top: "res3b2_branch2b"
name: "res3b2_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res3b2_branch2b"
top: "res3b2_branch2b"
name: "bn3b2_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b2_branch2b"
top: "res3b2_branch2b"
name: "scale3b2_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b2_branch2b"
bottom: "res3b2_branch2b"
name: "res3b2_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b2_branch2b"
top: "res3b2_branch2c"
name: "res3b2_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b2_branch2c"
top: "res3b2_branch2c"
name: "bn3b2_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b2_branch2c"
top: "res3b2_branch2c"
name: "scale3b2_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b1"
bottom: "res3b2_branch2c"
top: "res3b2"
name: "res3b2"
type: "Eltwise"
} layer {
bottom: "res3b2"
top: "res3b2"
name: "res3b2_relu"
type: "ReLU"
} layer {
bottom: "res3b2"
top: "res3b3_branch2a"
name: "res3b3_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b3_branch2a"
top: "res3b3_branch2a"
name: "bn3b3_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b3_branch2a"
top: "res3b3_branch2a"
name: "scale3b3_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b3_branch2a"
bottom: "res3b3_branch2a"
name: "res3b3_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b3_branch2a"
top: "res3b3_branch2b"
name: "res3b3_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res3b3_branch2b"
top: "res3b3_branch2b"
name: "bn3b3_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b3_branch2b"
top: "res3b3_branch2b"
name: "scale3b3_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b3_branch2b"
bottom: "res3b3_branch2b"
name: "res3b3_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b3_branch2b"
top: "res3b3_branch2c"
name: "res3b3_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b3_branch2c"
top: "res3b3_branch2c"
name: "bn3b3_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b3_branch2c"
top: "res3b3_branch2c"
name: "scale3b3_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b2"
bottom: "res3b3_branch2c"
top: "res3b3"
name: "res3b3"
type: "Eltwise"
} layer {
bottom: "res3b3"
top: "res3b3"
name: "res3b3_relu"
type: "ReLU"
} layer {
bottom: "res3b3"
top: "res3b4_branch2a"
name: "res3b4_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b4_branch2a"
top: "res3b4_branch2a"
name: "bn3b4_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b4_branch2a"
top: "res3b4_branch2a"
name: "scale3b4_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b4_branch2a"
bottom: "res3b4_branch2a"
name: "res3b4_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b4_branch2a"
top: "res3b4_branch2b"
name: "res3b4_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res3b4_branch2b"
top: "res3b4_branch2b"
name: "bn3b4_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b4_branch2b"
top: "res3b4_branch2b"
name: "scale3b4_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b4_branch2b"
bottom: "res3b4_branch2b"
name: "res3b4_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b4_branch2b"
top: "res3b4_branch2c"
name: "res3b4_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b4_branch2c"
top: "res3b4_branch2c"
name: "bn3b4_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b4_branch2c"
top: "res3b4_branch2c"
name: "scale3b4_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b3"
bottom: "res3b4_branch2c"
top: "res3b4"
name: "res3b4"
type: "Eltwise"
} layer {
bottom: "res3b4"
top: "res3b4"
name: "res3b4_relu"
type: "ReLU"
} layer {
bottom: "res3b4"
top: "res3b5_branch2a"
name: "res3b5_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b5_branch2a"
top: "res3b5_branch2a"
name: "bn3b5_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b5_branch2a"
top: "res3b5_branch2a"
name: "scale3b5_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b5_branch2a"
bottom: "res3b5_branch2a"
name: "res3b5_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b5_branch2a"
top: "res3b5_branch2b"
name: "res3b5_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res3b5_branch2b"
top: "res3b5_branch2b"
name: "bn3b5_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b5_branch2b"
top: "res3b5_branch2b"
name: "scale3b5_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b5_branch2b"
bottom: "res3b5_branch2b"
name: "res3b5_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b5_branch2b"
top: "res3b5_branch2c"
name: "res3b5_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b5_branch2c"
top: "res3b5_branch2c"
name: "bn3b5_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b5_branch2c"
top: "res3b5_branch2c"
name: "scale3b5_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b4"
bottom: "res3b5_branch2c"
top: "res3b5"
name: "res3b5"
type: "Eltwise"
} layer {
bottom: "res3b5"
top: "res3b5"
name: "res3b5_relu"
type: "ReLU"
} layer {
bottom: "res3b5"
top: "res3b6_branch2a"
name: "res3b6_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b6_branch2a"
top: "res3b6_branch2a"
name: "bn3b6_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b6_branch2a"
top: "res3b6_branch2a"
name: "scale3b6_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b6_branch2a"
bottom: "res3b6_branch2a"
name: "res3b6_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b6_branch2a"
top: "res3b6_branch2b"
name: "res3b6_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res3b6_branch2b"
top: "res3b6_branch2b"
name: "bn3b6_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b6_branch2b"
top: "res3b6_branch2b"
name: "scale3b6_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b6_branch2b"
bottom: "res3b6_branch2b"
name: "res3b6_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b6_branch2b"
top: "res3b6_branch2c"
name: "res3b6_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b6_branch2c"
top: "res3b6_branch2c"
name: "bn3b6_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b6_branch2c"
top: "res3b6_branch2c"
name: "scale3b6_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b5"
bottom: "res3b6_branch2c"
top: "res3b6"
name: "res3b6"
type: "Eltwise"
} layer {
bottom: "res3b6"
top: "res3b6"
name: "res3b6_relu"
type: "ReLU"
} layer {
bottom: "res3b6"
top: "res3b7_branch2a"
name: "res3b7_branch2a"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b7_branch2a"
top: "res3b7_branch2a"
name: "bn3b7_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b7_branch2a"
top: "res3b7_branch2a"
name: "scale3b7_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b7_branch2a"
bottom: "res3b7_branch2a"
name: "res3b7_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res3b7_branch2a"
top: "res3b7_branch2b"
name: "res3b7_branch2b"
type: "Convolution"
convolution_param {
num_output: 128
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res3b7_branch2b"
top: "res3b7_branch2b"
name: "bn3b7_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b7_branch2b"
top: "res3b7_branch2b"
name: "scale3b7_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res3b7_branch2b"
bottom: "res3b7_branch2b"
name: "res3b7_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res3b7_branch2b"
top: "res3b7_branch2c"
name: "res3b7_branch2c"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res3b7_branch2c"
top: "res3b7_branch2c"
name: "bn3b7_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res3b7_branch2c"
top: "res3b7_branch2c"
name: "scale3b7_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b6"
bottom: "res3b7_branch2c"
top: "res3b7"
name: "res3b7"
type: "Eltwise"
} layer {
bottom: "res3b7"
top: "res3b7"
name: "res3b7_relu"
type: "ReLU"
} layer {
bottom: "res3b7"
top: "res4a_branch1"
name: "res4a_branch1"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 2
bias_term: false
}
} layer {
bottom: "res4a_branch1"
top: "res4a_branch1"
name: "bn4a_branch1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4a_branch1"
top: "res4a_branch1"
name: "scale4a_branch1"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res3b7"
top: "res4a_branch2a"
name: "res4a_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 2
bias_term: false
}
} layer {
bottom: "res4a_branch2a"
top: "res4a_branch2a"
name: "bn4a_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4a_branch2a"
top: "res4a_branch2a"
name: "scale4a_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4a_branch2a"
bottom: "res4a_branch2a"
name: "res4a_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4a_branch2a"
top: "res4a_branch2b"
name: "res4a_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4a_branch2b"
top: "res4a_branch2b"
name: "bn4a_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4a_branch2b"
top: "res4a_branch2b"
name: "scale4a_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4a_branch2b"
bottom: "res4a_branch2b"
name: "res4a_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4a_branch2b"
top: "res4a_branch2c"
name: "res4a_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4a_branch2c"
top: "res4a_branch2c"
name: "bn4a_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4a_branch2c"
top: "res4a_branch2c"
name: "scale4a_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4a_branch1"
bottom: "res4a_branch2c"
top: "res4a"
name: "res4a"
type: "Eltwise"
} layer {
bottom: "res4a"
top: "res4a"
name: "res4a_relu"
type: "ReLU"
} layer {
bottom: "res4a"
top: "res4b1_branch2a"
name: "res4b1_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b1_branch2a"
top: "res4b1_branch2a"
name: "bn4b1_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b1_branch2a"
top: "res4b1_branch2a"
name: "scale4b1_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b1_branch2a"
bottom: "res4b1_branch2a"
name: "res4b1_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b1_branch2a"
top: "res4b1_branch2b"
name: "res4b1_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b1_branch2b"
top: "res4b1_branch2b"
name: "bn4b1_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b1_branch2b"
top: "res4b1_branch2b"
name: "scale4b1_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b1_branch2b"
bottom: "res4b1_branch2b"
name: "res4b1_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b1_branch2b"
top: "res4b1_branch2c"
name: "res4b1_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b1_branch2c"
top: "res4b1_branch2c"
name: "bn4b1_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b1_branch2c"
top: "res4b1_branch2c"
name: "scale4b1_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4a"
bottom: "res4b1_branch2c"
top: "res4b1"
name: "res4b1"
type: "Eltwise"
} layer {
bottom: "res4b1"
top: "res4b1"
name: "res4b1_relu"
type: "ReLU"
} layer {
bottom: "res4b1"
top: "res4b2_branch2a"
name: "res4b2_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b2_branch2a"
top: "res4b2_branch2a"
name: "bn4b2_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b2_branch2a"
top: "res4b2_branch2a"
name: "scale4b2_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b2_branch2a"
bottom: "res4b2_branch2a"
name: "res4b2_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b2_branch2a"
top: "res4b2_branch2b"
name: "res4b2_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b2_branch2b"
top: "res4b2_branch2b"
name: "bn4b2_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b2_branch2b"
top: "res4b2_branch2b"
name: "scale4b2_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b2_branch2b"
bottom: "res4b2_branch2b"
name: "res4b2_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b2_branch2b"
top: "res4b2_branch2c"
name: "res4b2_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b2_branch2c"
top: "res4b2_branch2c"
name: "bn4b2_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b2_branch2c"
top: "res4b2_branch2c"
name: "scale4b2_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b1"
bottom: "res4b2_branch2c"
top: "res4b2"
name: "res4b2"
type: "Eltwise"
} layer {
bottom: "res4b2"
top: "res4b2"
name: "res4b2_relu"
type: "ReLU"
} layer {
bottom: "res4b2"
top: "res4b3_branch2a"
name: "res4b3_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b3_branch2a"
top: "res4b3_branch2a"
name: "bn4b3_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b3_branch2a"
top: "res4b3_branch2a"
name: "scale4b3_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b3_branch2a"
bottom: "res4b3_branch2a"
name: "res4b3_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b3_branch2a"
top: "res4b3_branch2b"
name: "res4b3_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b3_branch2b"
top: "res4b3_branch2b"
name: "bn4b3_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b3_branch2b"
top: "res4b3_branch2b"
name: "scale4b3_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b3_branch2b"
bottom: "res4b3_branch2b"
name: "res4b3_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b3_branch2b"
top: "res4b3_branch2c"
name: "res4b3_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b3_branch2c"
top: "res4b3_branch2c"
name: "bn4b3_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b3_branch2c"
top: "res4b3_branch2c"
name: "scale4b3_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b2"
bottom: "res4b3_branch2c"
top: "res4b3"
name: "res4b3"
type: "Eltwise"
} layer {
bottom: "res4b3"
top: "res4b3"
name: "res4b3_relu"
type: "ReLU"
} layer {
bottom: "res4b3"
top: "res4b4_branch2a"
name: "res4b4_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b4_branch2a"
top: "res4b4_branch2a"
name: "bn4b4_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b4_branch2a"
top: "res4b4_branch2a"
name: "scale4b4_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b4_branch2a"
bottom: "res4b4_branch2a"
name: "res4b4_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b4_branch2a"
top: "res4b4_branch2b"
name: "res4b4_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b4_branch2b"
top: "res4b4_branch2b"
name: "bn4b4_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b4_branch2b"
top: "res4b4_branch2b"
name: "scale4b4_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b4_branch2b"
bottom: "res4b4_branch2b"
name: "res4b4_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b4_branch2b"
top: "res4b4_branch2c"
name: "res4b4_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b4_branch2c"
top: "res4b4_branch2c"
name: "bn4b4_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b4_branch2c"
top: "res4b4_branch2c"
name: "scale4b4_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b3"
bottom: "res4b4_branch2c"
top: "res4b4"
name: "res4b4"
type: "Eltwise"
} layer {
bottom: "res4b4"
top: "res4b4"
name: "res4b4_relu"
type: "ReLU"
} layer {
bottom: "res4b4"
top: "res4b5_branch2a"
name: "res4b5_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b5_branch2a"
top: "res4b5_branch2a"
name: "bn4b5_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b5_branch2a"
top: "res4b5_branch2a"
name: "scale4b5_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b5_branch2a"
bottom: "res4b5_branch2a"
name: "res4b5_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b5_branch2a"
top: "res4b5_branch2b"
name: "res4b5_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b5_branch2b"
top: "res4b5_branch2b"
name: "bn4b5_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b5_branch2b"
top: "res4b5_branch2b"
name: "scale4b5_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b5_branch2b"
bottom: "res4b5_branch2b"
name: "res4b5_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b5_branch2b"
top: "res4b5_branch2c"
name: "res4b5_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b5_branch2c"
top: "res4b5_branch2c"
name: "bn4b5_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b5_branch2c"
top: "res4b5_branch2c"
name: "scale4b5_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b4"
bottom: "res4b5_branch2c"
top: "res4b5"
name: "res4b5"
type: "Eltwise"
} layer {
bottom: "res4b5"
top: "res4b5"
name: "res4b5_relu"
type: "ReLU"
} layer {
bottom: "res4b5"
top: "res4b6_branch2a"
name: "res4b6_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b6_branch2a"
top: "res4b6_branch2a"
name: "bn4b6_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b6_branch2a"
top: "res4b6_branch2a"
name: "scale4b6_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b6_branch2a"
bottom: "res4b6_branch2a"
name: "res4b6_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b6_branch2a"
top: "res4b6_branch2b"
name: "res4b6_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b6_branch2b"
top: "res4b6_branch2b"
name: "bn4b6_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b6_branch2b"
top: "res4b6_branch2b"
name: "scale4b6_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b6_branch2b"
bottom: "res4b6_branch2b"
name: "res4b6_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b6_branch2b"
top: "res4b6_branch2c"
name: "res4b6_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b6_branch2c"
top: "res4b6_branch2c"
name: "bn4b6_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b6_branch2c"
top: "res4b6_branch2c"
name: "scale4b6_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b5"
bottom: "res4b6_branch2c"
top: "res4b6"
name: "res4b6"
type: "Eltwise"
} layer {
bottom: "res4b6"
top: "res4b6"
name: "res4b6_relu"
type: "ReLU"
} layer {
bottom: "res4b6"
top: "res4b7_branch2a"
name: "res4b7_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b7_branch2a"
top: "res4b7_branch2a"
name: "bn4b7_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b7_branch2a"
top: "res4b7_branch2a"
name: "scale4b7_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b7_branch2a"
bottom: "res4b7_branch2a"
name: "res4b7_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b7_branch2a"
top: "res4b7_branch2b"
name: "res4b7_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b7_branch2b"
top: "res4b7_branch2b"
name: "bn4b7_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b7_branch2b"
top: "res4b7_branch2b"
name: "scale4b7_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b7_branch2b"
bottom: "res4b7_branch2b"
name: "res4b7_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b7_branch2b"
top: "res4b7_branch2c"
name: "res4b7_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b7_branch2c"
top: "res4b7_branch2c"
name: "bn4b7_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b7_branch2c"
top: "res4b7_branch2c"
name: "scale4b7_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b6"
bottom: "res4b7_branch2c"
top: "res4b7"
name: "res4b7"
type: "Eltwise"
} layer {
bottom: "res4b7"
top: "res4b7"
name: "res4b7_relu"
type: "ReLU"
} layer {
bottom: "res4b7"
top: "res4b8_branch2a"
name: "res4b8_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b8_branch2a"
top: "res4b8_branch2a"
name: "bn4b8_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b8_branch2a"
top: "res4b8_branch2a"
name: "scale4b8_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b8_branch2a"
bottom: "res4b8_branch2a"
name: "res4b8_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b8_branch2a"
top: "res4b8_branch2b"
name: "res4b8_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b8_branch2b"
top: "res4b8_branch2b"
name: "bn4b8_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b8_branch2b"
top: "res4b8_branch2b"
name: "scale4b8_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b8_branch2b"
bottom: "res4b8_branch2b"
name: "res4b8_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b8_branch2b"
top: "res4b8_branch2c"
name: "res4b8_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b8_branch2c"
top: "res4b8_branch2c"
name: "bn4b8_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b8_branch2c"
top: "res4b8_branch2c"
name: "scale4b8_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b7"
bottom: "res4b8_branch2c"
top: "res4b8"
name: "res4b8"
type: "Eltwise"
} layer {
bottom: "res4b8"
top: "res4b8"
name: "res4b8_relu"
type: "ReLU"
} layer {
bottom: "res4b8"
top: "res4b9_branch2a"
name: "res4b9_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b9_branch2a"
top: "res4b9_branch2a"
name: "bn4b9_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b9_branch2a"
top: "res4b9_branch2a"
name: "scale4b9_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b9_branch2a"
bottom: "res4b9_branch2a"
name: "res4b9_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b9_branch2a"
top: "res4b9_branch2b"
name: "res4b9_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b9_branch2b"
top: "res4b9_branch2b"
name: "bn4b9_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b9_branch2b"
top: "res4b9_branch2b"
name: "scale4b9_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b9_branch2b"
bottom: "res4b9_branch2b"
name: "res4b9_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b9_branch2b"
top: "res4b9_branch2c"
name: "res4b9_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b9_branch2c"
top: "res4b9_branch2c"
name: "bn4b9_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b9_branch2c"
top: "res4b9_branch2c"
name: "scale4b9_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b8"
bottom: "res4b9_branch2c"
top: "res4b9"
name: "res4b9"
type: "Eltwise"
} layer {
bottom: "res4b9"
top: "res4b9"
name: "res4b9_relu"
type: "ReLU"
} layer {
bottom: "res4b9"
top: "res4b10_branch2a"
name: "res4b10_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b10_branch2a"
top: "res4b10_branch2a"
name: "bn4b10_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b10_branch2a"
top: "res4b10_branch2a"
name: "scale4b10_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b10_branch2a"
bottom: "res4b10_branch2a"
name: "res4b10_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b10_branch2a"
top: "res4b10_branch2b"
name: "res4b10_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b10_branch2b"
top: "res4b10_branch2b"
name: "bn4b10_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b10_branch2b"
top: "res4b10_branch2b"
name: "scale4b10_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b10_branch2b"
bottom: "res4b10_branch2b"
name: "res4b10_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b10_branch2b"
top: "res4b10_branch2c"
name: "res4b10_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b10_branch2c"
top: "res4b10_branch2c"
name: "bn4b10_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b10_branch2c"
top: "res4b10_branch2c"
name: "scale4b10_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b9"
bottom: "res4b10_branch2c"
top: "res4b10"
name: "res4b10"
type: "Eltwise"
} layer {
bottom: "res4b10"
top: "res4b10"
name: "res4b10_relu"
type: "ReLU"
} layer {
bottom: "res4b10"
top: "res4b11_branch2a"
name: "res4b11_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b11_branch2a"
top: "res4b11_branch2a"
name: "bn4b11_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b11_branch2a"
top: "res4b11_branch2a"
name: "scale4b11_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b11_branch2a"
bottom: "res4b11_branch2a"
name: "res4b11_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b11_branch2a"
top: "res4b11_branch2b"
name: "res4b11_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b11_branch2b"
top: "res4b11_branch2b"
name: "bn4b11_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b11_branch2b"
top: "res4b11_branch2b"
name: "scale4b11_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b11_branch2b"
bottom: "res4b11_branch2b"
name: "res4b11_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b11_branch2b"
top: "res4b11_branch2c"
name: "res4b11_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b11_branch2c"
top: "res4b11_branch2c"
name: "bn4b11_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b11_branch2c"
top: "res4b11_branch2c"
name: "scale4b11_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b10"
bottom: "res4b11_branch2c"
top: "res4b11"
name: "res4b11"
type: "Eltwise"
} layer {
bottom: "res4b11"
top: "res4b11"
name: "res4b11_relu"
type: "ReLU"
} layer {
bottom: "res4b11"
top: "res4b12_branch2a"
name: "res4b12_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b12_branch2a"
top: "res4b12_branch2a"
name: "bn4b12_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b12_branch2a"
top: "res4b12_branch2a"
name: "scale4b12_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b12_branch2a"
bottom: "res4b12_branch2a"
name: "res4b12_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b12_branch2a"
top: "res4b12_branch2b"
name: "res4b12_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b12_branch2b"
top: "res4b12_branch2b"
name: "bn4b12_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b12_branch2b"
top: "res4b12_branch2b"
name: "scale4b12_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b12_branch2b"
bottom: "res4b12_branch2b"
name: "res4b12_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b12_branch2b"
top: "res4b12_branch2c"
name: "res4b12_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b12_branch2c"
top: "res4b12_branch2c"
name: "bn4b12_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b12_branch2c"
top: "res4b12_branch2c"
name: "scale4b12_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b11"
bottom: "res4b12_branch2c"
top: "res4b12"
name: "res4b12"
type: "Eltwise"
} layer {
bottom: "res4b12"
top: "res4b12"
name: "res4b12_relu"
type: "ReLU"
} layer {
bottom: "res4b12"
top: "res4b13_branch2a"
name: "res4b13_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b13_branch2a"
top: "res4b13_branch2a"
name: "bn4b13_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b13_branch2a"
top: "res4b13_branch2a"
name: "scale4b13_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b13_branch2a"
bottom: "res4b13_branch2a"
name: "res4b13_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b13_branch2a"
top: "res4b13_branch2b"
name: "res4b13_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b13_branch2b"
top: "res4b13_branch2b"
name: "bn4b13_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b13_branch2b"
top: "res4b13_branch2b"
name: "scale4b13_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b13_branch2b"
bottom: "res4b13_branch2b"
name: "res4b13_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b13_branch2b"
top: "res4b13_branch2c"
name: "res4b13_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b13_branch2c"
top: "res4b13_branch2c"
name: "bn4b13_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b13_branch2c"
top: "res4b13_branch2c"
name: "scale4b13_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b12"
bottom: "res4b13_branch2c"
top: "res4b13"
name: "res4b13"
type: "Eltwise"
} layer {
bottom: "res4b13"
top: "res4b13"
name: "res4b13_relu"
type: "ReLU"
} layer {
bottom: "res4b13"
top: "res4b14_branch2a"
name: "res4b14_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b14_branch2a"
top: "res4b14_branch2a"
name: "bn4b14_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b14_branch2a"
top: "res4b14_branch2a"
name: "scale4b14_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b14_branch2a"
bottom: "res4b14_branch2a"
name: "res4b14_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b14_branch2a"
top: "res4b14_branch2b"
name: "res4b14_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b14_branch2b"
top: "res4b14_branch2b"
name: "bn4b14_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b14_branch2b"
top: "res4b14_branch2b"
name: "scale4b14_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b14_branch2b"
bottom: "res4b14_branch2b"
name: "res4b14_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b14_branch2b"
top: "res4b14_branch2c"
name: "res4b14_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b14_branch2c"
top: "res4b14_branch2c"
name: "bn4b14_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b14_branch2c"
top: "res4b14_branch2c"
name: "scale4b14_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b13"
bottom: "res4b14_branch2c"
top: "res4b14"
name: "res4b14"
type: "Eltwise"
} layer {
bottom: "res4b14"
top: "res4b14"
name: "res4b14_relu"
type: "ReLU"
} layer {
bottom: "res4b14"
top: "res4b15_branch2a"
name: "res4b15_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b15_branch2a"
top: "res4b15_branch2a"
name: "bn4b15_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b15_branch2a"
top: "res4b15_branch2a"
name: "scale4b15_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b15_branch2a"
bottom: "res4b15_branch2a"
name: "res4b15_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b15_branch2a"
top: "res4b15_branch2b"
name: "res4b15_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b15_branch2b"
top: "res4b15_branch2b"
name: "bn4b15_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b15_branch2b"
top: "res4b15_branch2b"
name: "scale4b15_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b15_branch2b"
bottom: "res4b15_branch2b"
name: "res4b15_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b15_branch2b"
top: "res4b15_branch2c"
name: "res4b15_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b15_branch2c"
top: "res4b15_branch2c"
name: "bn4b15_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b15_branch2c"
top: "res4b15_branch2c"
name: "scale4b15_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b14"
bottom: "res4b15_branch2c"
top: "res4b15"
name: "res4b15"
type: "Eltwise"
} layer {
bottom: "res4b15"
top: "res4b15"
name: "res4b15_relu"
type: "ReLU"
} layer {
bottom: "res4b15"
top: "res4b16_branch2a"
name: "res4b16_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b16_branch2a"
top: "res4b16_branch2a"
name: "bn4b16_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b16_branch2a"
top: "res4b16_branch2a"
name: "scale4b16_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b16_branch2a"
bottom: "res4b16_branch2a"
name: "res4b16_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b16_branch2a"
top: "res4b16_branch2b"
name: "res4b16_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b16_branch2b"
top: "res4b16_branch2b"
name: "bn4b16_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b16_branch2b"
top: "res4b16_branch2b"
name: "scale4b16_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b16_branch2b"
bottom: "res4b16_branch2b"
name: "res4b16_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b16_branch2b"
top: "res4b16_branch2c"
name: "res4b16_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b16_branch2c"
top: "res4b16_branch2c"
name: "bn4b16_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b16_branch2c"
top: "res4b16_branch2c"
name: "scale4b16_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b15"
bottom: "res4b16_branch2c"
top: "res4b16"
name: "res4b16"
type: "Eltwise"
} layer {
bottom: "res4b16"
top: "res4b16"
name: "res4b16_relu"
type: "ReLU"
} layer {
bottom: "res4b16"
top: "res4b17_branch2a"
name: "res4b17_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b17_branch2a"
top: "res4b17_branch2a"
name: "bn4b17_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b17_branch2a"
top: "res4b17_branch2a"
name: "scale4b17_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b17_branch2a"
bottom: "res4b17_branch2a"
name: "res4b17_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b17_branch2a"
top: "res4b17_branch2b"
name: "res4b17_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b17_branch2b"
top: "res4b17_branch2b"
name: "bn4b17_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b17_branch2b"
top: "res4b17_branch2b"
name: "scale4b17_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b17_branch2b"
bottom: "res4b17_branch2b"
name: "res4b17_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b17_branch2b"
top: "res4b17_branch2c"
name: "res4b17_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b17_branch2c"
top: "res4b17_branch2c"
name: "bn4b17_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b17_branch2c"
top: "res4b17_branch2c"
name: "scale4b17_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b16"
bottom: "res4b17_branch2c"
top: "res4b17"
name: "res4b17"
type: "Eltwise"
} layer {
bottom: "res4b17"
top: "res4b17"
name: "res4b17_relu"
type: "ReLU"
} layer {
bottom: "res4b17"
top: "res4b18_branch2a"
name: "res4b18_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b18_branch2a"
top: "res4b18_branch2a"
name: "bn4b18_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b18_branch2a"
top: "res4b18_branch2a"
name: "scale4b18_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b18_branch2a"
bottom: "res4b18_branch2a"
name: "res4b18_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b18_branch2a"
top: "res4b18_branch2b"
name: "res4b18_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b18_branch2b"
top: "res4b18_branch2b"
name: "bn4b18_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b18_branch2b"
top: "res4b18_branch2b"
name: "scale4b18_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b18_branch2b"
bottom: "res4b18_branch2b"
name: "res4b18_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b18_branch2b"
top: "res4b18_branch2c"
name: "res4b18_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b18_branch2c"
top: "res4b18_branch2c"
name: "bn4b18_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b18_branch2c"
top: "res4b18_branch2c"
name: "scale4b18_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b17"
bottom: "res4b18_branch2c"
top: "res4b18"
name: "res4b18"
type: "Eltwise"
} layer {
bottom: "res4b18"
top: "res4b18"
name: "res4b18_relu"
type: "ReLU"
} layer {
bottom: "res4b18"
top: "res4b19_branch2a"
name: "res4b19_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b19_branch2a"
top: "res4b19_branch2a"
name: "bn4b19_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b19_branch2a"
top: "res4b19_branch2a"
name: "scale4b19_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b19_branch2a"
bottom: "res4b19_branch2a"
name: "res4b19_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b19_branch2a"
top: "res4b19_branch2b"
name: "res4b19_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b19_branch2b"
top: "res4b19_branch2b"
name: "bn4b19_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b19_branch2b"
top: "res4b19_branch2b"
name: "scale4b19_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b19_branch2b"
bottom: "res4b19_branch2b"
name: "res4b19_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b19_branch2b"
top: "res4b19_branch2c"
name: "res4b19_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b19_branch2c"
top: "res4b19_branch2c"
name: "bn4b19_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b19_branch2c"
top: "res4b19_branch2c"
name: "scale4b19_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b18"
bottom: "res4b19_branch2c"
top: "res4b19"
name: "res4b19"
type: "Eltwise"
} layer {
bottom: "res4b19"
top: "res4b19"
name: "res4b19_relu"
type: "ReLU"
} layer {
bottom: "res4b19"
top: "res4b20_branch2a"
name: "res4b20_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b20_branch2a"
top: "res4b20_branch2a"
name: "bn4b20_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b20_branch2a"
top: "res4b20_branch2a"
name: "scale4b20_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b20_branch2a"
bottom: "res4b20_branch2a"
name: "res4b20_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b20_branch2a"
top: "res4b20_branch2b"
name: "res4b20_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b20_branch2b"
top: "res4b20_branch2b"
name: "bn4b20_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b20_branch2b"
top: "res4b20_branch2b"
name: "scale4b20_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b20_branch2b"
bottom: "res4b20_branch2b"
name: "res4b20_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b20_branch2b"
top: "res4b20_branch2c"
name: "res4b20_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b20_branch2c"
top: "res4b20_branch2c"
name: "bn4b20_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b20_branch2c"
top: "res4b20_branch2c"
name: "scale4b20_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b19"
bottom: "res4b20_branch2c"
top: "res4b20"
name: "res4b20"
type: "Eltwise"
} layer {
bottom: "res4b20"
top: "res4b20"
name: "res4b20_relu"
type: "ReLU"
} layer {
bottom: "res4b20"
top: "res4b21_branch2a"
name: "res4b21_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b21_branch2a"
top: "res4b21_branch2a"
name: "bn4b21_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b21_branch2a"
top: "res4b21_branch2a"
name: "scale4b21_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b21_branch2a"
bottom: "res4b21_branch2a"
name: "res4b21_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b21_branch2a"
top: "res4b21_branch2b"
name: "res4b21_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b21_branch2b"
top: "res4b21_branch2b"
name: "bn4b21_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b21_branch2b"
top: "res4b21_branch2b"
name: "scale4b21_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b21_branch2b"
bottom: "res4b21_branch2b"
name: "res4b21_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b21_branch2b"
top: "res4b21_branch2c"
name: "res4b21_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b21_branch2c"
top: "res4b21_branch2c"
name: "bn4b21_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b21_branch2c"
top: "res4b21_branch2c"
name: "scale4b21_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b20"
bottom: "res4b21_branch2c"
top: "res4b21"
name: "res4b21"
type: "Eltwise"
} layer {
bottom: "res4b21"
top: "res4b21"
name: "res4b21_relu"
type: "ReLU"
} layer {
bottom: "res4b21"
top: "res4b22_branch2a"
name: "res4b22_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b22_branch2a"
top: "res4b22_branch2a"
name: "bn4b22_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b22_branch2a"
top: "res4b22_branch2a"
name: "scale4b22_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b22_branch2a"
bottom: "res4b22_branch2a"
name: "res4b22_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b22_branch2a"
top: "res4b22_branch2b"
name: "res4b22_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b22_branch2b"
top: "res4b22_branch2b"
name: "bn4b22_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b22_branch2b"
top: "res4b22_branch2b"
name: "scale4b22_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b22_branch2b"
bottom: "res4b22_branch2b"
name: "res4b22_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b22_branch2b"
top: "res4b22_branch2c"
name: "res4b22_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b22_branch2c"
top: "res4b22_branch2c"
name: "bn4b22_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b22_branch2c"
top: "res4b22_branch2c"
name: "scale4b22_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b21"
bottom: "res4b22_branch2c"
top: "res4b22"
name: "res4b22"
type: "Eltwise"
} layer {
bottom: "res4b22"
top: "res4b22"
name: "res4b22_relu"
type: "ReLU"
} layer {
bottom: "res4b22"
top: "res4b23_branch2a"
name: "res4b23_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b23_branch2a"
top: "res4b23_branch2a"
name: "bn4b23_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b23_branch2a"
top: "res4b23_branch2a"
name: "scale4b23_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b23_branch2a"
bottom: "res4b23_branch2a"
name: "res4b23_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b23_branch2a"
top: "res4b23_branch2b"
name: "res4b23_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b23_branch2b"
top: "res4b23_branch2b"
name: "bn4b23_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b23_branch2b"
top: "res4b23_branch2b"
name: "scale4b23_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b23_branch2b"
bottom: "res4b23_branch2b"
name: "res4b23_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b23_branch2b"
top: "res4b23_branch2c"
name: "res4b23_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b23_branch2c"
top: "res4b23_branch2c"
name: "bn4b23_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b23_branch2c"
top: "res4b23_branch2c"
name: "scale4b23_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b22"
bottom: "res4b23_branch2c"
top: "res4b23"
name: "res4b23"
type: "Eltwise"
} layer {
bottom: "res4b23"
top: "res4b23"
name: "res4b23_relu"
type: "ReLU"
} layer {
bottom: "res4b23"
top: "res4b24_branch2a"
name: "res4b24_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b24_branch2a"
top: "res4b24_branch2a"
name: "bn4b24_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b24_branch2a"
top: "res4b24_branch2a"
name: "scale4b24_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b24_branch2a"
bottom: "res4b24_branch2a"
name: "res4b24_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b24_branch2a"
top: "res4b24_branch2b"
name: "res4b24_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b24_branch2b"
top: "res4b24_branch2b"
name: "bn4b24_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b24_branch2b"
top: "res4b24_branch2b"
name: "scale4b24_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b24_branch2b"
bottom: "res4b24_branch2b"
name: "res4b24_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b24_branch2b"
top: "res4b24_branch2c"
name: "res4b24_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b24_branch2c"
top: "res4b24_branch2c"
name: "bn4b24_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b24_branch2c"
top: "res4b24_branch2c"
name: "scale4b24_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b23"
bottom: "res4b24_branch2c"
top: "res4b24"
name: "res4b24"
type: "Eltwise"
} layer {
bottom: "res4b24"
top: "res4b24"
name: "res4b24_relu"
type: "ReLU"
} layer {
bottom: "res4b24"
top: "res4b25_branch2a"
name: "res4b25_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b25_branch2a"
top: "res4b25_branch2a"
name: "bn4b25_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b25_branch2a"
top: "res4b25_branch2a"
name: "scale4b25_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b25_branch2a"
bottom: "res4b25_branch2a"
name: "res4b25_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b25_branch2a"
top: "res4b25_branch2b"
name: "res4b25_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b25_branch2b"
top: "res4b25_branch2b"
name: "bn4b25_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b25_branch2b"
top: "res4b25_branch2b"
name: "scale4b25_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b25_branch2b"
bottom: "res4b25_branch2b"
name: "res4b25_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b25_branch2b"
top: "res4b25_branch2c"
name: "res4b25_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b25_branch2c"
top: "res4b25_branch2c"
name: "bn4b25_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b25_branch2c"
top: "res4b25_branch2c"
name: "scale4b25_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b24"
bottom: "res4b25_branch2c"
top: "res4b25"
name: "res4b25"
type: "Eltwise"
} layer {
bottom: "res4b25"
top: "res4b25"
name: "res4b25_relu"
type: "ReLU"
} layer {
bottom: "res4b25"
top: "res4b26_branch2a"
name: "res4b26_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b26_branch2a"
top: "res4b26_branch2a"
name: "bn4b26_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b26_branch2a"
top: "res4b26_branch2a"
name: "scale4b26_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b26_branch2a"
bottom: "res4b26_branch2a"
name: "res4b26_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b26_branch2a"
top: "res4b26_branch2b"
name: "res4b26_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b26_branch2b"
top: "res4b26_branch2b"
name: "bn4b26_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b26_branch2b"
top: "res4b26_branch2b"
name: "scale4b26_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b26_branch2b"
bottom: "res4b26_branch2b"
name: "res4b26_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b26_branch2b"
top: "res4b26_branch2c"
name: "res4b26_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b26_branch2c"
top: "res4b26_branch2c"
name: "bn4b26_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b26_branch2c"
top: "res4b26_branch2c"
name: "scale4b26_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b25"
bottom: "res4b26_branch2c"
top: "res4b26"
name: "res4b26"
type: "Eltwise"
} layer {
bottom: "res4b26"
top: "res4b26"
name: "res4b26_relu"
type: "ReLU"
} layer {
bottom: "res4b26"
top: "res4b27_branch2a"
name: "res4b27_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b27_branch2a"
top: "res4b27_branch2a"
name: "bn4b27_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b27_branch2a"
top: "res4b27_branch2a"
name: "scale4b27_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b27_branch2a"
bottom: "res4b27_branch2a"
name: "res4b27_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b27_branch2a"
top: "res4b27_branch2b"
name: "res4b27_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b27_branch2b"
top: "res4b27_branch2b"
name: "bn4b27_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b27_branch2b"
top: "res4b27_branch2b"
name: "scale4b27_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b27_branch2b"
bottom: "res4b27_branch2b"
name: "res4b27_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b27_branch2b"
top: "res4b27_branch2c"
name: "res4b27_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b27_branch2c"
top: "res4b27_branch2c"
name: "bn4b27_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b27_branch2c"
top: "res4b27_branch2c"
name: "scale4b27_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b26"
bottom: "res4b27_branch2c"
top: "res4b27"
name: "res4b27"
type: "Eltwise"
} layer {
bottom: "res4b27"
top: "res4b27"
name: "res4b27_relu"
type: "ReLU"
} layer {
bottom: "res4b27"
top: "res4b28_branch2a"
name: "res4b28_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b28_branch2a"
top: "res4b28_branch2a"
name: "bn4b28_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b28_branch2a"
top: "res4b28_branch2a"
name: "scale4b28_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b28_branch2a"
bottom: "res4b28_branch2a"
name: "res4b28_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b28_branch2a"
top: "res4b28_branch2b"
name: "res4b28_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b28_branch2b"
top: "res4b28_branch2b"
name: "bn4b28_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b28_branch2b"
top: "res4b28_branch2b"
name: "scale4b28_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b28_branch2b"
bottom: "res4b28_branch2b"
name: "res4b28_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b28_branch2b"
top: "res4b28_branch2c"
name: "res4b28_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b28_branch2c"
top: "res4b28_branch2c"
name: "bn4b28_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b28_branch2c"
top: "res4b28_branch2c"
name: "scale4b28_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b27"
bottom: "res4b28_branch2c"
top: "res4b28"
name: "res4b28"
type: "Eltwise"
} layer {
bottom: "res4b28"
top: "res4b28"
name: "res4b28_relu"
type: "ReLU"
} layer {
bottom: "res4b28"
top: "res4b29_branch2a"
name: "res4b29_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b29_branch2a"
top: "res4b29_branch2a"
name: "bn4b29_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b29_branch2a"
top: "res4b29_branch2a"
name: "scale4b29_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b29_branch2a"
bottom: "res4b29_branch2a"
name: "res4b29_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b29_branch2a"
top: "res4b29_branch2b"
name: "res4b29_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b29_branch2b"
top: "res4b29_branch2b"
name: "bn4b29_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b29_branch2b"
top: "res4b29_branch2b"
name: "scale4b29_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b29_branch2b"
bottom: "res4b29_branch2b"
name: "res4b29_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b29_branch2b"
top: "res4b29_branch2c"
name: "res4b29_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b29_branch2c"
top: "res4b29_branch2c"
name: "bn4b29_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b29_branch2c"
top: "res4b29_branch2c"
name: "scale4b29_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b28"
bottom: "res4b29_branch2c"
top: "res4b29"
name: "res4b29"
type: "Eltwise"
} layer {
bottom: "res4b29"
top: "res4b29"
name: "res4b29_relu"
type: "ReLU"
} layer {
bottom: "res4b29"
top: "res4b30_branch2a"
name: "res4b30_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b30_branch2a"
top: "res4b30_branch2a"
name: "bn4b30_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b30_branch2a"
top: "res4b30_branch2a"
name: "scale4b30_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b30_branch2a"
bottom: "res4b30_branch2a"
name: "res4b30_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b30_branch2a"
top: "res4b30_branch2b"
name: "res4b30_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b30_branch2b"
top: "res4b30_branch2b"
name: "bn4b30_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b30_branch2b"
top: "res4b30_branch2b"
name: "scale4b30_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b30_branch2b"
bottom: "res4b30_branch2b"
name: "res4b30_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b30_branch2b"
top: "res4b30_branch2c"
name: "res4b30_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b30_branch2c"
top: "res4b30_branch2c"
name: "bn4b30_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b30_branch2c"
top: "res4b30_branch2c"
name: "scale4b30_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b29"
bottom: "res4b30_branch2c"
top: "res4b30"
name: "res4b30"
type: "Eltwise"
} layer {
bottom: "res4b30"
top: "res4b30"
name: "res4b30_relu"
type: "ReLU"
} layer {
bottom: "res4b30"
top: "res4b31_branch2a"
name: "res4b31_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b31_branch2a"
top: "res4b31_branch2a"
name: "bn4b31_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b31_branch2a"
top: "res4b31_branch2a"
name: "scale4b31_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b31_branch2a"
bottom: "res4b31_branch2a"
name: "res4b31_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b31_branch2a"
top: "res4b31_branch2b"
name: "res4b31_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b31_branch2b"
top: "res4b31_branch2b"
name: "bn4b31_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b31_branch2b"
top: "res4b31_branch2b"
name: "scale4b31_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b31_branch2b"
bottom: "res4b31_branch2b"
name: "res4b31_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b31_branch2b"
top: "res4b31_branch2c"
name: "res4b31_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b31_branch2c"
top: "res4b31_branch2c"
name: "bn4b31_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b31_branch2c"
top: "res4b31_branch2c"
name: "scale4b31_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b30"
bottom: "res4b31_branch2c"
top: "res4b31"
name: "res4b31"
type: "Eltwise"
} layer {
bottom: "res4b31"
top: "res4b31"
name: "res4b31_relu"
type: "ReLU"
} layer {
bottom: "res4b31"
top: "res4b32_branch2a"
name: "res4b32_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b32_branch2a"
top: "res4b32_branch2a"
name: "bn4b32_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b32_branch2a"
top: "res4b32_branch2a"
name: "scale4b32_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b32_branch2a"
bottom: "res4b32_branch2a"
name: "res4b32_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b32_branch2a"
top: "res4b32_branch2b"
name: "res4b32_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b32_branch2b"
top: "res4b32_branch2b"
name: "bn4b32_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b32_branch2b"
top: "res4b32_branch2b"
name: "scale4b32_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b32_branch2b"
bottom: "res4b32_branch2b"
name: "res4b32_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b32_branch2b"
top: "res4b32_branch2c"
name: "res4b32_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b32_branch2c"
top: "res4b32_branch2c"
name: "bn4b32_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b32_branch2c"
top: "res4b32_branch2c"
name: "scale4b32_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b31"
bottom: "res4b32_branch2c"
top: "res4b32"
name: "res4b32"
type: "Eltwise"
} layer {
bottom: "res4b32"
top: "res4b32"
name: "res4b32_relu"
type: "ReLU"
} layer {
bottom: "res4b32"
top: "res4b33_branch2a"
name: "res4b33_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b33_branch2a"
top: "res4b33_branch2a"
name: "bn4b33_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b33_branch2a"
top: "res4b33_branch2a"
name: "scale4b33_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b33_branch2a"
bottom: "res4b33_branch2a"
name: "res4b33_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b33_branch2a"
top: "res4b33_branch2b"
name: "res4b33_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b33_branch2b"
top: "res4b33_branch2b"
name: "bn4b33_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b33_branch2b"
top: "res4b33_branch2b"
name: "scale4b33_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b33_branch2b"
bottom: "res4b33_branch2b"
name: "res4b33_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b33_branch2b"
top: "res4b33_branch2c"
name: "res4b33_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b33_branch2c"
top: "res4b33_branch2c"
name: "bn4b33_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b33_branch2c"
top: "res4b33_branch2c"
name: "scale4b33_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b32"
bottom: "res4b33_branch2c"
top: "res4b33"
name: "res4b33"
type: "Eltwise"
} layer {
bottom: "res4b33"
top: "res4b33"
name: "res4b33_relu"
type: "ReLU"
} layer {
bottom: "res4b33"
top: "res4b34_branch2a"
name: "res4b34_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b34_branch2a"
top: "res4b34_branch2a"
name: "bn4b34_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b34_branch2a"
top: "res4b34_branch2a"
name: "scale4b34_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b34_branch2a"
bottom: "res4b34_branch2a"
name: "res4b34_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b34_branch2a"
top: "res4b34_branch2b"
name: "res4b34_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b34_branch2b"
top: "res4b34_branch2b"
name: "bn4b34_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b34_branch2b"
top: "res4b34_branch2b"
name: "scale4b34_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b34_branch2b"
bottom: "res4b34_branch2b"
name: "res4b34_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b34_branch2b"
top: "res4b34_branch2c"
name: "res4b34_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b34_branch2c"
top: "res4b34_branch2c"
name: "bn4b34_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b34_branch2c"
top: "res4b34_branch2c"
name: "scale4b34_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b33"
bottom: "res4b34_branch2c"
top: "res4b34"
name: "res4b34"
type: "Eltwise"
} layer {
bottom: "res4b34"
top: "res4b34"
name: "res4b34_relu"
type: "ReLU"
} layer {
bottom: "res4b34"
top: "res4b35_branch2a"
name: "res4b35_branch2a"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b35_branch2a"
top: "res4b35_branch2a"
name: "bn4b35_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b35_branch2a"
top: "res4b35_branch2a"
name: "scale4b35_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b35_branch2a"
bottom: "res4b35_branch2a"
name: "res4b35_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res4b35_branch2a"
top: "res4b35_branch2b"
name: "res4b35_branch2b"
type: "Convolution"
convolution_param {
num_output: 256
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res4b35_branch2b"
top: "res4b35_branch2b"
name: "bn4b35_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b35_branch2b"
top: "res4b35_branch2b"
name: "scale4b35_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res4b35_branch2b"
bottom: "res4b35_branch2b"
name: "res4b35_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res4b35_branch2b"
top: "res4b35_branch2c"
name: "res4b35_branch2c"
type: "Convolution"
convolution_param {
num_output: 1024
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res4b35_branch2c"
top: "res4b35_branch2c"
name: "bn4b35_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res4b35_branch2c"
top: "res4b35_branch2c"
name: "scale4b35_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b34"
bottom: "res4b35_branch2c"
top: "res4b35"
name: "res4b35"
type: "Eltwise"
} layer {
bottom: "res4b35"
top: "res4b35"
name: "res4b35_relu"
type: "ReLU"
} layer {
bottom: "res4b35"
top: "res5a_branch1"
name: "res5a_branch1"
type: "Convolution"
convolution_param {
num_output: 2048
kernel_size: 1
pad: 0
stride: 2
bias_term: false
}
} layer {
bottom: "res5a_branch1"
top: "res5a_branch1"
name: "bn5a_branch1"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res5a_branch1"
top: "res5a_branch1"
name: "scale5a_branch1"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res4b35"
top: "res5a_branch2a"
name: "res5a_branch2a"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 2
bias_term: false
}
} layer {
bottom: "res5a_branch2a"
top: "res5a_branch2a"
name: "bn5a_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res5a_branch2a"
top: "res5a_branch2a"
name: "scale5a_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res5a_branch2a"
bottom: "res5a_branch2a"
name: "res5a_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res5a_branch2a"
top: "res5a_branch2b"
name: "res5a_branch2b"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res5a_branch2b"
top: "res5a_branch2b"
name: "bn5a_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res5a_branch2b"
top: "res5a_branch2b"
name: "scale5a_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res5a_branch2b"
bottom: "res5a_branch2b"
name: "res5a_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res5a_branch2b"
top: "res5a_branch2c"
name: "res5a_branch2c"
type: "Convolution"
convolution_param {
num_output: 2048
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res5a_branch2c"
top: "res5a_branch2c"
name: "bn5a_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res5a_branch2c"
top: "res5a_branch2c"
name: "scale5a_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5a_branch1"
bottom: "res5a_branch2c"
top: "res5a"
name: "res5a"
type: "Eltwise"
} layer {
bottom: "res5a"
top: "res5a"
name: "res5a_relu"
type: "ReLU"
} layer {
bottom: "res5a"
top: "res5b_branch2a"
name: "res5b_branch2a"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res5b_branch2a"
top: "res5b_branch2a"
name: "bn5b_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res5b_branch2a"
top: "res5b_branch2a"
name: "scale5b_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res5b_branch2a"
bottom: "res5b_branch2a"
name: "res5b_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res5b_branch2a"
top: "res5b_branch2b"
name: "res5b_branch2b"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res5b_branch2b"
top: "res5b_branch2b"
name: "bn5b_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res5b_branch2b"
top: "res5b_branch2b"
name: "scale5b_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res5b_branch2b"
bottom: "res5b_branch2b"
name: "res5b_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res5b_branch2b"
top: "res5b_branch2c"
name: "res5b_branch2c"
type: "Convolution"
convolution_param {
num_output: 2048
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res5b_branch2c"
top: "res5b_branch2c"
name: "bn5b_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res5b_branch2c"
top: "res5b_branch2c"
name: "scale5b_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5a"
bottom: "res5b_branch2c"
top: "res5b"
name: "res5b"
type: "Eltwise"
} layer {
bottom: "res5b"
top: "res5b"
name: "res5b_relu"
type: "ReLU"
} layer {
bottom: "res5b"
top: "res5c_branch2a"
name: "res5c_branch2a"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res5c_branch2a"
top: "res5c_branch2a"
name: "bn5c_branch2a"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res5c_branch2a"
top: "res5c_branch2a"
name: "scale5c_branch2a"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res5c_branch2a"
bottom: "res5c_branch2a"
name: "res5c_branch2a_relu"
type: "ReLU"
} layer {
bottom: "res5c_branch2a"
top: "res5c_branch2b"
name: "res5c_branch2b"
type: "Convolution"
convolution_param {
num_output: 512
kernel_size: 3
pad: 1
stride: 1
bias_term: false
}
} layer {
bottom: "res5c_branch2b"
top: "res5c_branch2b"
name: "bn5c_branch2b"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res5c_branch2b"
top: "res5c_branch2b"
name: "scale5c_branch2b"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
top: "res5c_branch2b"
bottom: "res5c_branch2b"
name: "res5c_branch2b_relu"
type: "ReLU"
} layer {
bottom: "res5c_branch2b"
top: "res5c_branch2c"
name: "res5c_branch2c"
type: "Convolution"
convolution_param {
num_output: 2048
kernel_size: 1
pad: 0
stride: 1
bias_term: false
}
} layer {
bottom: "res5c_branch2c"
top: "res5c_branch2c"
name: "bn5c_branch2c"
type: "BatchNorm"
batch_norm_param {
use_global_stats: true
}
} layer {
bottom: "res5c_branch2c"
top: "res5c_branch2c"
name: "scale5c_branch2c"
type: "Scale"
scale_param {
bias_term: true
}
} layer {
bottom: "res5b"
bottom: "res5c_branch2c"
top: "res5c"
name: "res5c"
type: "Eltwise"
} layer {
bottom: "res5c"
top: "res5c"
name: "res5c_relu"
type: "ReLU"
} layer {
bottom: "res5c"
top: "pool5"
name: "pool5"
type: "Pooling"
pooling_param {
kernel_size: 7
stride: 1
pool: AVE
}
} layer {
bottom: "pool5"
top: "fc3"
name: "fc3"
type: "InnerProduct"
inner_product_param {
num_output: 3
}
} layer {
bottom: "fc3"
top: "prob"
name: "prob"
type: "Softmax"
}

solver.prototxt

 net: "/home/wy/ResNet152/train_val.prototxt"
test_iter: 1003
test_interval: 4000
test_initialization: false
display: 100
average_loss: 100
base_lr: 0.05
lr_policy: "step"
stepsize: 150000
gamma: 0.1
max_iter: 600000
momentum: 0.9
weight_decay: 0.0001
snapshot: 40000
snapshot_prefix: "/home/wy/ResNet152/model/"
solver_mode: GPU

作为一枚技术小白,写这篇笔记的时候参考了很多博客论文,在这里表示感谢,同时,未经同意,请勿转载....

ResNet152网络复现(Caffe)的更多相关文章

  1. 【3D】PoseCNN姿态检测网络复现过程记录

    最近在研究室内6D姿态检测相关问题,计划在PoseCNN网络基础上进行改进实现.但是在第一步的复现过程中踩了无数的坑,最终成功运行了demo,但目前数据集train还是遇到了一些问题.有问题欢迎一起交 ...

  2. Caffe(卷积神经网络框架)介绍

    Caffe(卷积神经网络框架)Caffe,全称Convolution Architecture For Feature Extraction caffe是一个清晰,可读性高,快速的深度学习框架.作者是 ...

  3. caffe 教程

    Caffe是一个清晰而高效的深度学习框架,本文详细介绍了caffe的优势.架构,网络定义.各层定义,Caffe的安装与配置,解读了Caffe实现的图像分类模型AlexNet,并演示了CIFAR-10在 ...

  4. caffe学习--cifar10学习-ubuntu16.04-gtx650tiboost--1g--02

    caffe学习--cifar10学习-ubuntu16.04-gtx650tiboost--1g--02 训练网络: caffe train -solver examples/cifar10/cifa ...

  5. [转]Caffe 深度学习框架上手教程

    Caffe 深度学习框架上手教程 机器学习Caffe caffe 原文地址:http://suanfazu.com/t/caffe/281   blink 15年1月 6   Caffe448是一个清 ...

  6. Caffe 深度学习框架介绍

    转自:http://suanfazu.com/t/caffe/281 Caffe是一个清晰而高效的深度学习框架,其作者是博士毕业于UC Berkeley的贾扬清,目前在Google工作. Caffe是 ...

  7. [Caffe]使用经验积累

    Caffe使用经验积累 本贴记录Caffe编译好了,使用过程的常用命令与常见错误解决方式.如果对编译过程还存在问题,请参考史上最全的caffe安装过程配置Caffe环境. 1 使用方法 训练网络 xx ...

  8. 服务器上安装caffe的过程记录

    1. 前言 因为新的实验室东西都是新的,所以在服务器上要自己重新配置CAFFE 这里假设所有依赖包学长们都安装好了,我是没有sudo权限的 服务器的配置: CUDA 8.0 Ubuntu 16.04 ...

  9. 机器学习进阶-目标追踪-SSD多进程执行 1.cv2.dnn.readnetFromCaffe(用于读取已经训练好的caffe模型) 2.delib.correlation_tracker(生成追踪器) 5.cv2.writer(将图片写入视频中) 6.cv2.dnn.blobFromImage(图片归一化) 10.multiprocessing.process(生成进程)

    1. cv2.dnn.readNetFromCaffe(prototxt, model)  用于进行SSD网络的caffe框架的加载 参数说明:prototxt表示caffe网络的结构文本,model ...

随机推荐

  1. Docker报错总结

    [Docker push镜像报错] The push refers to a repository [192.168.200.103:5000/rancher/server]Get https://1 ...

  2. Java中子类和父类相关方法的执行顺序

    无意中看到下面一个题目,大家一起来看看最后的输出结果是什么.反正我看完之后,用IDE测试后感觉知识点得到巩固了. /** * 函数执行顺序测试 * Created by 萌小Q on 2017/5/1 ...

  3. Mysql读写分离php脚本

    <?php/*php如何连接mysql*/ /*$link = mysql_connect(‘localhost‘, ‘root‘, ‘‘);if (!$link) {die(‘Could no ...

  4. poj3114 Contries in War (tarjan+dijkstra)

    缩完点后对每次询问做dijkstra即可 #include<cstdio> #include<cstring> #include<algorithm> #inclu ...

  5. oracle调用DLL

    具体步骤:1.创建Oracle Library  Create Library  AAA as  'C:\UserData\xuxia\TestProc\Debug\TestProc.dll' 可以通 ...

  6. SDL源码阅读笔记(2) video dirver的初始化及选择

    write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 前一篇文章 讲了SDL的除video以外的大部分模块.本文主要关注SDL的video模块部分. SD ...

  7. A1070. Mooncake

    Mooncake is a Chinese bakery product traditionally eaten during the Mid-Autumn Festival. Many types ...

  8. 【python】UnicodeEncodeError: 'ascii' codec can't encode/decode characters

    解决方案在文件头插入 # encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')

  9. Docker从入门到飞升:基础配置安装

    导读 Docker近几年非常火,因为它是容器虚拟化,更能够充分提高硬件资源的使用率.其实利用率高不算什么,它最大的优势是能给让运维人员或者开发人员快速部署和交付资源,大大提高了工作效率.几乎所有的大企 ...

  10. nginx下后端节点realserverweb健康检测模块ngx_http_upstream_check_module

    本文章收录做资料使用,非本人原创,特此说明. 公司前一段对业务线上的nginx做了整理,重点就是对nginx上负载均衡器的后端节点做健康检查.目前,nginx对后端节点健康检查的方式主要有3种,这里列 ...