一、准备数据集

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. 自学Zabbix4.2.1 Application介绍

    自学Zabbix4.2.1 Application介绍 Applications应用程序是item的一个组.例如我们要监控MySQL,我们可以将所有和MySQL相关的item放到这个应用程序中.例如M ...

  2. Windows下禁用锁屏热键WinKey+L

    在注册表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]中创建名字为DisableLockWo ...

  3. [luogu1327][生活大爆炸石头剪子布]

    题目地址 https://www.luogu.org/problemnew/show/P1328 题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一样,则不分胜负. ...

  4. (转)Java 中正确使用 hashCode 和 equals 方法

    背景:最近在编写持久化对象时候遇到重写equals和hashCode方法的情况,对这两个方法的重写做一个总结. 链接:https://www.oschina.net/question/82993_75 ...

  5. Persits.Jpeg CMYK-to-RGB

    这几天发现有几个用户上传的图片显示一个“红叉叉”,用迅雷下载一看,原来图片的“模式”是CMYK,这样的模式是不能在IE中正常显示的. 我想起能不能用程序自动转换呢? 在网上看到利用Persits.Jp ...

  6. react中实现点击跳转到新页面方法

    实现点击跳转到新页面,可以有两种形式,一个是本地页面打开,一个是本地页面不变跳转到新的页面. (一)页面点击本地页面打开新页面 引入ant的Button组件 <Button style={{ba ...

  7. Java中FTPClient上传中文目录、中文文件名乱码问题解决方法【好用】

    转: Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录.上传中文文件名时,目录 ...

  8. echarts 取消图例上的点击事件和图表上鼠标滑过点击事件

    备注:标黄的代码是起作用的代码,其他的不需要借鉴!!! //取消 鼠标滑过的提示框 tooltip : {         trigger: 'item',      show:false,      ...

  9. MySQL5.5登录密码忘记了,怎嘛办?

    1.关闭正在运行的MySQL. 2.打开DOS窗口,转到mysql\bin目录. 3.输入mysqld --skip-grant-    tables回车.如果没有出现提示信息,那就对了. 4.再开一 ...

  10. java中BorderLayout的使用方法

    相关设置: 使用BorderLayout布局上下左右中布局5个按键,单击中间的那个按键时就关闭窗口 代码: /**** *java中BorderLayout的使用方法 * 使用BorderLayout ...