Created
March 13, 2018 15:13
-
-
Save T2hhbmEK/1b68416816813fbd7419d4926f6ca090 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "exp_113_cls" | |
layer { | |
name: "data" | |
type: "EnhancedImageData" | |
top: "data" | |
top: "label" | |
enhanced_image_data_param { | |
root_folder: "/data/shuhao/images/" | |
source: "/home/shuhao/share/mrdk/train_all_bbox.txt" | |
batch_size: 256 | |
shuffle: true | |
data_type: IMAGE | |
data_num: 1 | |
label_type: REAL | |
label_num: 4 | |
force_gray: true | |
thread_num: 16 | |
cache_in_gb: 150 | |
data_process_param { | |
normalize_type: CONSTANT | |
normalize_subtractor: 127 | |
normalize_divider: 1 | |
crop_type: CENTER | |
crop_h: 112 | |
crop_w: 112 | |
label_type: POINT | |
has_weight: false | |
enable_trans: true | |
trans_x_rng { | |
type: UNIFORM | |
min: -112 | |
max: 112 | |
} | |
trans_y_rng { | |
type: UNIFORM | |
min: -112 | |
max: 112 | |
} | |
# enable_rotate: true | |
# rotate_rng { | |
# type: UNIFORM | |
# min: -30 | |
# max: 30 | |
# } | |
enable_zoom: true | |
zoom_rng { | |
type: UNIFORM | |
min: 0.35 | |
max: 0.65 | |
} | |
enable_noise: true | |
noise_rng { | |
type: UNIFORM | |
min: -10 | |
max: 10 | |
} | |
enable_occlusion: true | |
occlusion_size_rng { | |
type: UNIFORM | |
min: 5 | |
max: 50 | |
} | |
occlusion_center_rng { | |
type: UNIFORM | |
min: 0 | |
max: 112 | |
} | |
occlusion_color_rng { | |
type: UNIFORM | |
min: 0 | |
max: 255 | |
} | |
} | |
} | |
include { | |
phase: TRAIN | |
} | |
} | |
layer { | |
name: "data" | |
type: "EnhancedImageData" | |
top: "data" | |
top: "label" | |
enhanced_image_data_param { | |
root_folder: "/data/shuhao/images/" | |
source: "/home/shuhao/share/mrdk/test_all_bbox.txt" | |
batch_size: 256 | |
shuffle: true | |
data_type: IMAGE | |
data_num: 1 | |
label_type: REAL | |
label_num: 4 | |
force_gray: true | |
thread_num: 16 | |
cache_in_gb: 10 | |
data_process_param { | |
normalize_type: CONSTANT | |
normalize_subtractor: 127 | |
normalize_divider: 1 | |
crop_type: CENTER | |
crop_h: 112 | |
crop_w: 112 | |
label_type: POINT | |
has_weight: false | |
enable_trans: true | |
trans_x_rng { | |
type: UNIFORM | |
min: -112 | |
max: 112 | |
} | |
trans_y_rng { | |
type: UNIFORM | |
min: -112 | |
max: 112 | |
} | |
enable_zoom: true | |
zoom_rng { | |
type: UNIFORM | |
min: 0.35 | |
max: 0.65 | |
} | |
} | |
} | |
include { | |
phase: TEST | |
} | |
} | |
# net --------------------------- | |
layer { | |
name: "conv1/3x3_s2" | |
type: "Convolution" | |
bottom: "data" | |
top: "conv1/3x3_s2" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 6 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 2 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv1/relu_3x3_s2" | |
type: "ReLU" | |
bottom: "conv1/3x3_s2" | |
top: "conv1/3x3_s2" | |
} | |
layer { | |
name: "pool1/3x3_s2" | |
type: "Pooling" | |
bottom: "conv1/3x3_s2" | |
top: "pool1/3x3_s2" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "conv2_1_1x1_reduce" | |
type: "Convolution" | |
bottom: "pool1/3x3_s2" | |
top: "conv2_1_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 15 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv2_1_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv2_1_1x1_reduce" | |
top: "conv2_1_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_2_1" | |
type: "ShuffleChannel" | |
bottom: "conv2_1_1x1_reduce" | |
top: "shuffle_2_1" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv2_1_3x3" | |
type: "Convolution" | |
bottom: "shuffle_2_1" | |
top: "conv2_1_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 15 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 15 | |
stride: 2 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv2_1_1x1_increase" | |
type: "Convolution" | |
bottom: "conv2_1_3x3" | |
top: "conv2_1_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 54 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "pool2_1/3x3_shortcut" | |
type: "Pooling" | |
bottom: "pool1/3x3_s2" | |
top: "pool2_1/3x3_shortcut" | |
pooling_param { | |
pool: AVE | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "concat2_1" | |
type: "Concat" | |
bottom: "conv2_1_1x1_increase" | |
bottom: "pool2_1/3x3_shortcut" | |
top: "concat2_1" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "conv2_1/relu" | |
type: "ReLU" | |
bottom: "concat2_1" | |
top: "concat2_1" | |
} | |
layer { | |
name: "conv2_2_1x1_reduce" | |
type: "Convolution" | |
bottom: "concat2_1" | |
top: "conv2_2_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 15 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv2_2_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv2_2_1x1_reduce" | |
top: "conv2_2_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_2_2" | |
type: "ShuffleChannel" | |
bottom: "conv2_2_1x1_reduce" | |
top: "shuffle_2_2" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv2_2_3x3" | |
type: "Convolution" | |
bottom: "shuffle_2_2" | |
top: "conv2_2_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 15 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 15 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv2_2_1x1_increase" | |
type: "Convolution" | |
bottom: "conv2_2_3x3" | |
top: "conv2_2_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv2_2" | |
type: "Eltwise" | |
bottom: "concat2_1" | |
bottom: "conv2_2_1x1_increase" | |
top: "conv2_2" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv2_2/relu" | |
type: "ReLU" | |
bottom: "conv2_2" | |
top: "conv2_2" | |
} | |
layer { | |
name: "conv2_3_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv2_2" | |
top: "conv2_3_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 15 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv2_3_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv2_3_1x1_reduce" | |
top: "conv2_3_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_2_3" | |
type: "ShuffleChannel" | |
bottom: "conv2_3_1x1_reduce" | |
top: "shuffle_2_3" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv2_3_3x3" | |
type: "Convolution" | |
bottom: "shuffle_2_3" | |
top: "conv2_3_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 15 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 15 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv2_3_1x1_increase" | |
type: "Convolution" | |
bottom: "conv2_3_3x3" | |
top: "conv2_3_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv2_3" | |
type: "Eltwise" | |
bottom: "conv2_2" | |
bottom: "conv2_3_1x1_increase" | |
top: "conv2_3" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv2_3/relu" | |
type: "ReLU" | |
bottom: "conv2_3" | |
top: "conv2_3" | |
} | |
layer { | |
name: "conv2_4_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv2_3" | |
top: "conv2_4_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 15 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv2_4_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv2_4_1x1_reduce" | |
top: "conv2_4_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_2_4" | |
type: "ShuffleChannel" | |
bottom: "conv2_4_1x1_reduce" | |
top: "shuffle_2_4" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv2_4_3x3" | |
type: "Convolution" | |
bottom: "shuffle_2_4" | |
top: "conv2_4_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 15 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 15 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv2_4_1x1_increase" | |
type: "Convolution" | |
bottom: "conv2_4_3x3" | |
top: "conv2_4_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv2_4" | |
type: "Eltwise" | |
bottom: "conv2_3" | |
bottom: "conv2_4_1x1_increase" | |
top: "conv2_4" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv2_4/relu" | |
type: "ReLU" | |
bottom: "conv2_4" | |
top: "conv2_4" | |
} | |
layer { | |
name: "conv3_1_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv2_4" | |
top: "conv3_1_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_1_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv3_1_1x1_reduce" | |
top: "conv3_1_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_3_1" | |
type: "ShuffleChannel" | |
bottom: "conv3_1_1x1_reduce" | |
top: "shuffle_3_1" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv3_1_3x3" | |
type: "Convolution" | |
bottom: "shuffle_3_1" | |
top: "conv3_1_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 30 | |
stride: 2 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_1_1x1_increase" | |
type: "Convolution" | |
bottom: "conv3_1_3x3" | |
top: "conv3_1_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "pool3_1/3x3_shortcut" | |
type: "Pooling" | |
bottom: "conv2_4" | |
top: "pool3_1/3x3_shortcut" | |
pooling_param { | |
pool: AVE | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "concat3_1" | |
type: "Concat" | |
bottom: "conv3_1_1x1_increase" | |
bottom: "pool3_1/3x3_shortcut" | |
top: "concat3_1" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "conv3_1/relu" | |
type: "ReLU" | |
bottom: "concat3_1" | |
top: "concat3_1" | |
} | |
layer { | |
name: "conv3_2_1x1_reduce" | |
type: "Convolution" | |
bottom: "concat3_1" | |
top: "conv3_2_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_2_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv3_2_1x1_reduce" | |
top: "conv3_2_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_3_2" | |
type: "ShuffleChannel" | |
bottom: "conv3_2_1x1_reduce" | |
top: "shuffle_3_2" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv3_2_3x3" | |
type: "Convolution" | |
bottom: "shuffle_3_2" | |
top: "conv3_2_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 30 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_2_1x1_increase" | |
type: "Convolution" | |
bottom: "conv3_2_3x3" | |
top: "conv3_2_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 120 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_2" | |
type: "Eltwise" | |
bottom: "concat3_1" | |
bottom: "conv3_2_1x1_increase" | |
top: "conv3_2" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv3_2/relu" | |
type: "ReLU" | |
bottom: "conv3_2" | |
top: "conv3_2" | |
} | |
layer { | |
name: "conv3_3_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv3_2" | |
top: "conv3_3_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_3_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv3_3_1x1_reduce" | |
top: "conv3_3_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_3_3" | |
type: "ShuffleChannel" | |
bottom: "conv3_3_1x1_reduce" | |
top: "shuffle_3_3" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv3_3_3x3" | |
type: "Convolution" | |
bottom: "shuffle_3_3" | |
top: "conv3_3_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 30 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_3_1x1_increase" | |
type: "Convolution" | |
bottom: "conv3_3_3x3" | |
top: "conv3_3_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 120 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_3" | |
type: "Eltwise" | |
bottom: "conv3_2" | |
bottom: "conv3_3_1x1_increase" | |
top: "conv3_3" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv3_3/relu" | |
type: "ReLU" | |
bottom: "conv3_3" | |
top: "conv3_3" | |
} | |
layer { | |
name: "conv3_4_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv3_3" | |
top: "conv3_4_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_4_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv3_4_1x1_reduce" | |
top: "conv3_4_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_3_4" | |
type: "ShuffleChannel" | |
bottom: "conv3_4_1x1_reduce" | |
top: "shuffle_3_4" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv3_4_3x3" | |
type: "Convolution" | |
bottom: "shuffle_3_4" | |
top: "conv3_4_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 30 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_4_1x1_increase" | |
type: "Convolution" | |
bottom: "conv3_4_3x3" | |
top: "conv3_4_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 120 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_4" | |
type: "Eltwise" | |
bottom: "conv3_3" | |
bottom: "conv3_4_1x1_increase" | |
top: "conv3_4" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv3_4/relu" | |
type: "ReLU" | |
bottom: "conv3_4" | |
top: "conv3_4" | |
} | |
layer { | |
name: "conv3_5_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv3_4" | |
top: "conv3_5_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_5_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv3_5_1x1_reduce" | |
top: "conv3_5_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_3_5" | |
type: "ShuffleChannel" | |
bottom: "conv3_5_1x1_reduce" | |
top: "shuffle_3_5" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv3_5_3x3" | |
type: "Convolution" | |
bottom: "shuffle_3_5" | |
top: "conv3_5_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 30 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_5_1x1_increase" | |
type: "Convolution" | |
bottom: "conv3_5_3x3" | |
top: "conv3_5_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 120 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_5" | |
type: "Eltwise" | |
bottom: "conv3_4" | |
bottom: "conv3_5_1x1_increase" | |
top: "conv3_5" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv3_5/relu" | |
type: "ReLU" | |
bottom: "conv3_5" | |
top: "conv3_5" | |
} | |
layer { | |
name: "conv3_6_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv3_5" | |
top: "conv3_6_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_6_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv3_6_1x1_reduce" | |
top: "conv3_6_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_3_6" | |
type: "ShuffleChannel" | |
bottom: "conv3_6_1x1_reduce" | |
top: "shuffle_3_6" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv3_6_3x3" | |
type: "Convolution" | |
bottom: "shuffle_3_6" | |
top: "conv3_6_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 30 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_6_1x1_increase" | |
type: "Convolution" | |
bottom: "conv3_6_3x3" | |
top: "conv3_6_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 120 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_6" | |
type: "Eltwise" | |
bottom: "conv3_5" | |
bottom: "conv3_6_1x1_increase" | |
top: "conv3_6" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv3_6/relu" | |
type: "ReLU" | |
bottom: "conv3_6" | |
top: "conv3_6" | |
} | |
layer { | |
name: "conv3_7_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv3_6" | |
top: "conv3_7_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_7_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv3_7_1x1_reduce" | |
top: "conv3_7_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_3_7" | |
type: "ShuffleChannel" | |
bottom: "conv3_7_1x1_reduce" | |
top: "shuffle_3_7" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv3_7_3x3" | |
type: "Convolution" | |
bottom: "shuffle_3_7" | |
top: "conv3_7_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 30 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_7_1x1_increase" | |
type: "Convolution" | |
bottom: "conv3_7_3x3" | |
top: "conv3_7_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 120 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_7" | |
type: "Eltwise" | |
bottom: "conv3_6" | |
bottom: "conv3_7_1x1_increase" | |
top: "conv3_7" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv3_7/relu" | |
type: "ReLU" | |
bottom: "conv3_7" | |
top: "conv3_7" | |
} | |
layer { | |
name: "conv3_8_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv3_7" | |
top: "conv3_8_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_8_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv3_8_1x1_reduce" | |
top: "conv3_8_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_3_8" | |
type: "ShuffleChannel" | |
bottom: "conv3_8_1x1_reduce" | |
top: "shuffle_3_8" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv3_8_3x3" | |
type: "Convolution" | |
bottom: "shuffle_3_8" | |
top: "conv3_8_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 30 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 30 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_8_1x1_increase" | |
type: "Convolution" | |
bottom: "conv3_8_3x3" | |
top: "conv3_8_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 120 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv3_8" | |
type: "Eltwise" | |
bottom: "conv3_7" | |
bottom: "conv3_8_1x1_increase" | |
top: "conv3_8" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv3_8/relu" | |
type: "ReLU" | |
bottom: "conv3_8" | |
top: "conv3_8" | |
} | |
layer { | |
name: "conv4_1_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv3_8" | |
top: "conv4_1_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv4_1_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv4_1_1x1_reduce" | |
top: "conv4_1_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_4_1" | |
type: "ShuffleChannel" | |
bottom: "conv4_1_1x1_reduce" | |
top: "shuffle_4_1" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv4_1_3x3" | |
type: "Convolution" | |
bottom: "shuffle_4_1" | |
top: "conv4_1_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 60 | |
stride: 2 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv4_1_1x1_increase" | |
type: "Convolution" | |
bottom: "conv4_1_3x3" | |
top: "conv4_1_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 120 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "pool4_1/3x3_shortcut" | |
type: "Pooling" | |
bottom: "conv3_8" | |
top: "pool4_1/3x3_shortcut" | |
pooling_param { | |
pool: AVE | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "concat4_1" | |
type: "Concat" | |
bottom: "conv4_1_1x1_increase" | |
bottom: "pool4_1/3x3_shortcut" | |
top: "concat4_1" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "conv4_1/relu" | |
type: "ReLU" | |
bottom: "concat4_1" | |
top: "concat4_1" | |
} | |
layer { | |
name: "conv4_2_1x1_reduce" | |
type: "Convolution" | |
bottom: "concat4_1" | |
top: "conv4_2_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv4_2_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv4_2_1x1_reduce" | |
top: "conv4_2_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_4_2" | |
type: "ShuffleChannel" | |
bottom: "conv4_2_1x1_reduce" | |
top: "shuffle_4_2" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv4_2_3x3" | |
type: "Convolution" | |
bottom: "shuffle_4_2" | |
top: "conv4_2_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 60 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv4_2_1x1_increase" | |
type: "Convolution" | |
bottom: "conv4_2_3x3" | |
top: "conv4_2_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 240 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv4_2" | |
type: "Eltwise" | |
bottom: "concat4_1" | |
bottom: "conv4_2_1x1_increase" | |
top: "conv4_2" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv4_2/relu" | |
type: "ReLU" | |
bottom: "conv4_2" | |
top: "conv4_2" | |
} | |
layer { | |
name: "conv4_3_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv4_2" | |
top: "conv4_3_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv4_3_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv4_3_1x1_reduce" | |
top: "conv4_3_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_4_3" | |
type: "ShuffleChannel" | |
bottom: "conv4_3_1x1_reduce" | |
top: "shuffle_4_3" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv4_3_3x3" | |
type: "Convolution" | |
bottom: "shuffle_4_3" | |
top: "conv4_3_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 60 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv4_3_1x1_increase" | |
type: "Convolution" | |
bottom: "conv4_3_3x3" | |
top: "conv4_3_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 240 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv4_3" | |
type: "Eltwise" | |
bottom: "conv4_2" | |
bottom: "conv4_3_1x1_increase" | |
top: "conv4_3" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv4_3/relu" | |
type: "ReLU" | |
bottom: "conv4_3" | |
top: "conv4_3" | |
} | |
layer { | |
name: "conv4_4_1x1_reduce" | |
type: "Convolution" | |
bottom: "conv4_3" | |
top: "conv4_4_1x1_reduce" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv4_4_1x1_reduce/relu" | |
type: "ReLU" | |
bottom: "conv4_4_1x1_reduce" | |
top: "conv4_4_1x1_reduce" | |
} | |
layer { | |
name: "shuffle_4_4" | |
type: "ShuffleChannel" | |
bottom: "conv4_4_1x1_reduce" | |
top: "shuffle_4_4" | |
shuffle_channel_param { | |
group: 3 | |
} | |
} | |
layer { | |
name: "conv4_4_3x3" | |
type: "Convolution" | |
bottom: "shuffle_4_4" | |
top: "conv4_4_3x3" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 60 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
group: 60 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv4_4_1x1_increase" | |
type: "Convolution" | |
bottom: "conv4_4_3x3" | |
top: "conv4_4_1x1_increase" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 240 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
group: 3 | |
stride: 1 | |
weight_filler { | |
type: "msra" | |
} | |
} | |
} | |
layer { | |
name: "conv4_4" | |
type: "Eltwise" | |
bottom: "conv4_3" | |
bottom: "conv4_4_1x1_increase" | |
top: "conv4_4" | |
eltwise_param { | |
operation: SUM | |
} | |
} | |
layer { | |
name: "conv4_4/relu" | |
type: "ReLU" | |
bottom: "conv4_4" | |
top: "conv4_4" | |
} | |
layer { | |
name: "pool5/7x7_s1" | |
type: "Pooling" | |
bottom: "conv4_4" | |
top: "pool5/7x7_s1" | |
pooling_param { | |
pool: AVE | |
kernel_size: 4 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "pool5/7x7_s1" | |
type: "Gather" | |
bottom: "pool5/7x7_s1" | |
top: "pool5/7x7_s1_gather" | |
} | |
layer { | |
name: "fc6" | |
type: "InnerProduct" | |
bottom: "pool5/7x7_s1_gather" | |
top: "fc6" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
inner_product_param { | |
num_output: 256 | |
weight_filler { | |
type: "gaussian" | |
std: 0.005 | |
} | |
bias_filler { | |
type: "constant" | |
std: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu6" | |
type: "ReLU" | |
bottom: "fc6" | |
top: "fc6" | |
} | |
layer { | |
name: "fc7" | |
type: "InnerProduct" | |
bottom: "fc6" | |
top: "fc7" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
inner_product_param { | |
num_output: 256 | |
weight_filler { | |
type: "gaussian" | |
std: 0.005 | |
} | |
bias_filler { | |
type: "constant" | |
std: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu7" | |
type: "ReLU" | |
bottom: "fc7" | |
top: "fc7" | |
} | |
layer { | |
name: "fc8" | |
type: "InnerProduct" | |
bottom: "fc7" | |
top: "fc8" | |
param { | |
lr_mult: 0 # 1 | |
decay_mult: 0 # 1 | |
} | |
param { | |
lr_mult: 0 # 2 | |
decay_mult: 0 | |
} | |
inner_product_param { | |
num_output: 4 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
std: 0 | |
} | |
} | |
} | |
layer { | |
name: "fc6_cls" | |
type: "InnerProduct" | |
bottom: "pool5/7x7_s1_gather" | |
top: "fc6_cls" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
param { | |
lr_mult: 2 | |
decay_mult: 0 | |
} | |
inner_product_param { | |
num_output: 256 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "fc6_cls/relu" | |
type: "ReLU" | |
bottom: "fc6_cls" | |
top: "fc6_cls" | |
} | |
layer { | |
name: "fc7_cls" | |
type: "InnerProduct" | |
bottom: "fc6_cls" | |
top: "fc7_cls" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
param { | |
lr_mult: 2 | |
decay_mult: 0 | |
} | |
inner_product_param { | |
num_output: 256 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "fc7_cls/relu" | |
type: "ReLU" | |
bottom: "fc7_cls" | |
top: "fc7_cls" | |
} | |
layer { | |
name: "fc8_cls" | |
type: "InnerProduct" | |
bottom: "fc7_cls" | |
top: "fc8_cls" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
param { | |
lr_mult: 2 | |
decay_mult: 0 | |
} | |
inner_product_param { | |
num_output: 2 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
# loss layer ---------------------------------------- | |
layer { | |
name: "label_gather" | |
type: "Gather" | |
bottom: "label" | |
top: "label_gather" | |
} | |
layer { | |
name: "alignment_accuracy" | |
type: "AlignmentAccuracy" | |
bottom: "fc8" | |
bottom: "label_gather" | |
top: "alignment_accuracy" | |
top: "error" | |
alignment_accuracy_param{ | |
ref_start: 0 | |
ref_end: 1 | |
use_mean_shape: false | |
accuracy_for_each_point: true | |
} | |
} | |
layer { | |
name: "cls_label" | |
type: "Threshold" | |
bottom: "error" | |
top: "cls_label" | |
threshold_param { | |
threshold: 0.2 | |
} | |
} | |
layer { | |
name: "loss" | |
type: "SoftmaxWithLoss" | |
bottom: "fc8_cls" | |
bottom: "cls_label" | |
top: "loss" | |
} | |
layer { | |
name: "accuracy" | |
type: "Accuracy" | |
bottom: "fc8_cls" | |
bottom: "cls_label" | |
top: "accuracy" | |
include { | |
phase: TEST | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment