Last active
July 10, 2018 06:21
-
-
Save eric612/dddb26696b108da9c3b5abf7a41a3d73 to your computer and use it in GitHub Desktop.
This file contains 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: "pelee_YOLO_416x416_deploy" | |
input: "data" | |
input_shape { | |
dim: 1 | |
dim: 3 | |
dim: 416 | |
dim: 416 | |
} | |
layer { | |
name: "stem1" | |
type: "Convolution" | |
bottom: "data" | |
top: "stem1" | |
convolution_param { | |
num_output: 32 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 2 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stem1/relu" | |
type: "ReLU" | |
bottom: "stem1" | |
top: "stem1" | |
} | |
layer { | |
name: "stem2a" | |
type: "Convolution" | |
bottom: "stem1" | |
top: "stem2a" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stem2a/relu" | |
type: "ReLU" | |
bottom: "stem2a" | |
top: "stem2a" | |
} | |
layer { | |
name: "stem2b" | |
type: "Convolution" | |
bottom: "stem2a" | |
top: "stem2b" | |
convolution_param { | |
num_output: 32 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 2 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stem2b/relu" | |
type: "ReLU" | |
bottom: "stem2b" | |
top: "stem2b" | |
} | |
layer { | |
name: "stem/pool" | |
type: "Pooling" | |
bottom: "stem1" | |
top: "stem/pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "stem/concat" | |
type: "Concat" | |
bottom: "stem/pool" | |
bottom: "stem2b" | |
top: "stem/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stem3" | |
type: "Convolution" | |
bottom: "stem/concat" | |
top: "stem3" | |
convolution_param { | |
num_output: 32 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stem3/relu" | |
type: "ReLU" | |
bottom: "stem3" | |
top: "stem3" | |
} | |
layer { | |
name: "stage1_1/branch1a" | |
type: "Convolution" | |
bottom: "stem3" | |
top: "stage1_1/branch1a" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_1/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage1_1/branch1a" | |
top: "stage1_1/branch1a" | |
} | |
layer { | |
name: "stage1_1/branch1b" | |
type: "Convolution" | |
bottom: "stage1_1/branch1a" | |
top: "stage1_1/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_1/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage1_1/branch1b" | |
top: "stage1_1/branch1b" | |
} | |
layer { | |
name: "stage1_1/branch2a" | |
type: "Convolution" | |
bottom: "stem3" | |
top: "stage1_1/branch2a" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_1/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage1_1/branch2a" | |
top: "stage1_1/branch2a" | |
} | |
layer { | |
name: "stage1_1/branch2b" | |
type: "Convolution" | |
bottom: "stage1_1/branch2a" | |
top: "stage1_1/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_1/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage1_1/branch2b" | |
top: "stage1_1/branch2b" | |
} | |
layer { | |
name: "stage1_1/branch2c" | |
type: "Convolution" | |
bottom: "stage1_1/branch2b" | |
top: "stage1_1/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_1/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage1_1/branch2c" | |
top: "stage1_1/branch2c" | |
} | |
layer { | |
name: "stage1_1/concat" | |
type: "Concat" | |
bottom: "stem3" | |
bottom: "stage1_1/branch1b" | |
bottom: "stage1_1/branch2c" | |
top: "stage1_1/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage1_2/branch1a" | |
type: "Convolution" | |
bottom: "stage1_1/concat" | |
top: "stage1_2/branch1a" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_2/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage1_2/branch1a" | |
top: "stage1_2/branch1a" | |
} | |
layer { | |
name: "stage1_2/branch1b" | |
type: "Convolution" | |
bottom: "stage1_2/branch1a" | |
top: "stage1_2/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_2/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage1_2/branch1b" | |
top: "stage1_2/branch1b" | |
} | |
layer { | |
name: "stage1_2/branch2a" | |
type: "Convolution" | |
bottom: "stage1_1/concat" | |
top: "stage1_2/branch2a" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_2/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage1_2/branch2a" | |
top: "stage1_2/branch2a" | |
} | |
layer { | |
name: "stage1_2/branch2b" | |
type: "Convolution" | |
bottom: "stage1_2/branch2a" | |
top: "stage1_2/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_2/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage1_2/branch2b" | |
top: "stage1_2/branch2b" | |
} | |
layer { | |
name: "stage1_2/branch2c" | |
type: "Convolution" | |
bottom: "stage1_2/branch2b" | |
top: "stage1_2/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_2/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage1_2/branch2c" | |
top: "stage1_2/branch2c" | |
} | |
layer { | |
name: "stage1_2/concat" | |
type: "Concat" | |
bottom: "stage1_1/concat" | |
bottom: "stage1_2/branch1b" | |
bottom: "stage1_2/branch2c" | |
top: "stage1_2/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage1_3/branch1a" | |
type: "Convolution" | |
bottom: "stage1_2/concat" | |
top: "stage1_3/branch1a" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_3/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage1_3/branch1a" | |
top: "stage1_3/branch1a" | |
} | |
layer { | |
name: "stage1_3/branch1b" | |
type: "Convolution" | |
bottom: "stage1_3/branch1a" | |
top: "stage1_3/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_3/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage1_3/branch1b" | |
top: "stage1_3/branch1b" | |
} | |
layer { | |
name: "stage1_3/branch2a" | |
type: "Convolution" | |
bottom: "stage1_2/concat" | |
top: "stage1_3/branch2a" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_3/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage1_3/branch2a" | |
top: "stage1_3/branch2a" | |
} | |
layer { | |
name: "stage1_3/branch2b" | |
type: "Convolution" | |
bottom: "stage1_3/branch2a" | |
top: "stage1_3/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_3/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage1_3/branch2b" | |
top: "stage1_3/branch2b" | |
} | |
layer { | |
name: "stage1_3/branch2c" | |
type: "Convolution" | |
bottom: "stage1_3/branch2b" | |
top: "stage1_3/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_3/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage1_3/branch2c" | |
top: "stage1_3/branch2c" | |
} | |
layer { | |
name: "stage1_3/concat" | |
type: "Concat" | |
bottom: "stage1_2/concat" | |
bottom: "stage1_3/branch1b" | |
bottom: "stage1_3/branch2c" | |
top: "stage1_3/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage1_tb" | |
type: "Convolution" | |
bottom: "stage1_3/concat" | |
top: "stage1_tb" | |
convolution_param { | |
num_output: 128 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage1_tb/relu" | |
type: "ReLU" | |
bottom: "stage1_tb" | |
top: "stage1_tb" | |
} | |
layer { | |
name: "stage1_tb/pool" | |
type: "Pooling" | |
bottom: "stage1_tb" | |
top: "stage1_tb/pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "stage2_1/branch1a" | |
type: "Convolution" | |
bottom: "stage1_tb/pool" | |
top: "stage2_1/branch1a" | |
convolution_param { | |
num_output: 32 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_1/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage2_1/branch1a" | |
top: "stage2_1/branch1a" | |
} | |
layer { | |
name: "stage2_1/branch1b" | |
type: "Convolution" | |
bottom: "stage2_1/branch1a" | |
top: "stage2_1/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_1/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage2_1/branch1b" | |
top: "stage2_1/branch1b" | |
} | |
layer { | |
name: "stage2_1/branch2a" | |
type: "Convolution" | |
bottom: "stage1_tb/pool" | |
top: "stage2_1/branch2a" | |
convolution_param { | |
num_output: 32 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_1/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage2_1/branch2a" | |
top: "stage2_1/branch2a" | |
} | |
layer { | |
name: "stage2_1/branch2b" | |
type: "Convolution" | |
bottom: "stage2_1/branch2a" | |
top: "stage2_1/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_1/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage2_1/branch2b" | |
top: "stage2_1/branch2b" | |
} | |
layer { | |
name: "stage2_1/branch2c" | |
type: "Convolution" | |
bottom: "stage2_1/branch2b" | |
top: "stage2_1/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_1/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage2_1/branch2c" | |
top: "stage2_1/branch2c" | |
} | |
layer { | |
name: "stage2_1/concat" | |
type: "Concat" | |
bottom: "stage1_tb/pool" | |
bottom: "stage2_1/branch1b" | |
bottom: "stage2_1/branch2c" | |
top: "stage2_1/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage2_2/branch1a" | |
type: "Convolution" | |
bottom: "stage2_1/concat" | |
top: "stage2_2/branch1a" | |
convolution_param { | |
num_output: 32 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_2/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage2_2/branch1a" | |
top: "stage2_2/branch1a" | |
} | |
layer { | |
name: "stage2_2/branch1b" | |
type: "Convolution" | |
bottom: "stage2_2/branch1a" | |
top: "stage2_2/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_2/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage2_2/branch1b" | |
top: "stage2_2/branch1b" | |
} | |
layer { | |
name: "stage2_2/branch2a" | |
type: "Convolution" | |
bottom: "stage2_1/concat" | |
top: "stage2_2/branch2a" | |
convolution_param { | |
num_output: 32 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_2/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage2_2/branch2a" | |
top: "stage2_2/branch2a" | |
} | |
layer { | |
name: "stage2_2/branch2b" | |
type: "Convolution" | |
bottom: "stage2_2/branch2a" | |
top: "stage2_2/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_2/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage2_2/branch2b" | |
top: "stage2_2/branch2b" | |
} | |
layer { | |
name: "stage2_2/branch2c" | |
type: "Convolution" | |
bottom: "stage2_2/branch2b" | |
top: "stage2_2/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_2/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage2_2/branch2c" | |
top: "stage2_2/branch2c" | |
} | |
layer { | |
name: "stage2_2/concat" | |
type: "Concat" | |
bottom: "stage2_1/concat" | |
bottom: "stage2_2/branch1b" | |
bottom: "stage2_2/branch2c" | |
top: "stage2_2/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage2_3/branch1a" | |
type: "Convolution" | |
bottom: "stage2_2/concat" | |
top: "stage2_3/branch1a" | |
convolution_param { | |
num_output: 32 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_3/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage2_3/branch1a" | |
top: "stage2_3/branch1a" | |
} | |
layer { | |
name: "stage2_3/branch1b" | |
type: "Convolution" | |
bottom: "stage2_3/branch1a" | |
top: "stage2_3/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_3/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage2_3/branch1b" | |
top: "stage2_3/branch1b" | |
} | |
layer { | |
name: "stage2_3/branch2a" | |
type: "Convolution" | |
bottom: "stage2_2/concat" | |
top: "stage2_3/branch2a" | |
convolution_param { | |
num_output: 32 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_3/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage2_3/branch2a" | |
top: "stage2_3/branch2a" | |
} | |
layer { | |
name: "stage2_3/branch2b" | |
type: "Convolution" | |
bottom: "stage2_3/branch2a" | |
top: "stage2_3/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_3/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage2_3/branch2b" | |
top: "stage2_3/branch2b" | |
} | |
layer { | |
name: "stage2_3/branch2c" | |
type: "Convolution" | |
bottom: "stage2_3/branch2b" | |
top: "stage2_3/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_3/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage2_3/branch2c" | |
top: "stage2_3/branch2c" | |
} | |
layer { | |
name: "stage2_3/concat" | |
type: "Concat" | |
bottom: "stage2_2/concat" | |
bottom: "stage2_3/branch1b" | |
bottom: "stage2_3/branch2c" | |
top: "stage2_3/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage2_4/branch1a" | |
type: "Convolution" | |
bottom: "stage2_3/concat" | |
top: "stage2_4/branch1a" | |
convolution_param { | |
num_output: 32 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_4/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage2_4/branch1a" | |
top: "stage2_4/branch1a" | |
} | |
layer { | |
name: "stage2_4/branch1b" | |
type: "Convolution" | |
bottom: "stage2_4/branch1a" | |
top: "stage2_4/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_4/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage2_4/branch1b" | |
top: "stage2_4/branch1b" | |
} | |
layer { | |
name: "stage2_4/branch2a" | |
type: "Convolution" | |
bottom: "stage2_3/concat" | |
top: "stage2_4/branch2a" | |
convolution_param { | |
num_output: 32 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_4/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage2_4/branch2a" | |
top: "stage2_4/branch2a" | |
} | |
layer { | |
name: "stage2_4/branch2b" | |
type: "Convolution" | |
bottom: "stage2_4/branch2a" | |
top: "stage2_4/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_4/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage2_4/branch2b" | |
top: "stage2_4/branch2b" | |
} | |
layer { | |
name: "stage2_4/branch2c" | |
type: "Convolution" | |
bottom: "stage2_4/branch2b" | |
top: "stage2_4/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_4/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage2_4/branch2c" | |
top: "stage2_4/branch2c" | |
} | |
layer { | |
name: "stage2_4/concat" | |
type: "Concat" | |
bottom: "stage2_3/concat" | |
bottom: "stage2_4/branch1b" | |
bottom: "stage2_4/branch2c" | |
top: "stage2_4/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage2_tb" | |
type: "Convolution" | |
bottom: "stage2_4/concat" | |
top: "stage2_tb" | |
convolution_param { | |
num_output: 256 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage2_tb/relu" | |
type: "ReLU" | |
bottom: "stage2_tb" | |
top: "stage2_tb" | |
} | |
layer { | |
name: "stage2_tb/pool" | |
type: "Pooling" | |
bottom: "stage2_tb" | |
top: "stage2_tb/pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "stage3_1/branch1a" | |
type: "Convolution" | |
bottom: "stage2_tb/pool" | |
top: "stage3_1/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_1/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage3_1/branch1a" | |
top: "stage3_1/branch1a" | |
} | |
layer { | |
name: "stage3_1/branch1b" | |
type: "Convolution" | |
bottom: "stage3_1/branch1a" | |
top: "stage3_1/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_1/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage3_1/branch1b" | |
top: "stage3_1/branch1b" | |
} | |
layer { | |
name: "stage3_1/branch2a" | |
type: "Convolution" | |
bottom: "stage2_tb/pool" | |
top: "stage3_1/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_1/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage3_1/branch2a" | |
top: "stage3_1/branch2a" | |
} | |
layer { | |
name: "stage3_1/branch2b" | |
type: "Convolution" | |
bottom: "stage3_1/branch2a" | |
top: "stage3_1/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_1/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage3_1/branch2b" | |
top: "stage3_1/branch2b" | |
} | |
layer { | |
name: "stage3_1/branch2c" | |
type: "Convolution" | |
bottom: "stage3_1/branch2b" | |
top: "stage3_1/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_1/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage3_1/branch2c" | |
top: "stage3_1/branch2c" | |
} | |
layer { | |
name: "stage3_1/concat" | |
type: "Concat" | |
bottom: "stage2_tb/pool" | |
bottom: "stage3_1/branch1b" | |
bottom: "stage3_1/branch2c" | |
top: "stage3_1/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage3_2/branch1a" | |
type: "Convolution" | |
bottom: "stage3_1/concat" | |
top: "stage3_2/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_2/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage3_2/branch1a" | |
top: "stage3_2/branch1a" | |
} | |
layer { | |
name: "stage3_2/branch1b" | |
type: "Convolution" | |
bottom: "stage3_2/branch1a" | |
top: "stage3_2/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_2/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage3_2/branch1b" | |
top: "stage3_2/branch1b" | |
} | |
layer { | |
name: "stage3_2/branch2a" | |
type: "Convolution" | |
bottom: "stage3_1/concat" | |
top: "stage3_2/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_2/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage3_2/branch2a" | |
top: "stage3_2/branch2a" | |
} | |
layer { | |
name: "stage3_2/branch2b" | |
type: "Convolution" | |
bottom: "stage3_2/branch2a" | |
top: "stage3_2/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_2/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage3_2/branch2b" | |
top: "stage3_2/branch2b" | |
} | |
layer { | |
name: "stage3_2/branch2c" | |
type: "Convolution" | |
bottom: "stage3_2/branch2b" | |
top: "stage3_2/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_2/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage3_2/branch2c" | |
top: "stage3_2/branch2c" | |
} | |
layer { | |
name: "stage3_2/concat" | |
type: "Concat" | |
bottom: "stage3_1/concat" | |
bottom: "stage3_2/branch1b" | |
bottom: "stage3_2/branch2c" | |
top: "stage3_2/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage3_3/branch1a" | |
type: "Convolution" | |
bottom: "stage3_2/concat" | |
top: "stage3_3/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_3/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage3_3/branch1a" | |
top: "stage3_3/branch1a" | |
} | |
layer { | |
name: "stage3_3/branch1b" | |
type: "Convolution" | |
bottom: "stage3_3/branch1a" | |
top: "stage3_3/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_3/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage3_3/branch1b" | |
top: "stage3_3/branch1b" | |
} | |
layer { | |
name: "stage3_3/branch2a" | |
type: "Convolution" | |
bottom: "stage3_2/concat" | |
top: "stage3_3/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_3/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage3_3/branch2a" | |
top: "stage3_3/branch2a" | |
} | |
layer { | |
name: "stage3_3/branch2b" | |
type: "Convolution" | |
bottom: "stage3_3/branch2a" | |
top: "stage3_3/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_3/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage3_3/branch2b" | |
top: "stage3_3/branch2b" | |
} | |
layer { | |
name: "stage3_3/branch2c" | |
type: "Convolution" | |
bottom: "stage3_3/branch2b" | |
top: "stage3_3/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_3/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage3_3/branch2c" | |
top: "stage3_3/branch2c" | |
} | |
layer { | |
name: "stage3_3/concat" | |
type: "Concat" | |
bottom: "stage3_2/concat" | |
bottom: "stage3_3/branch1b" | |
bottom: "stage3_3/branch2c" | |
top: "stage3_3/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage3_4/branch1a" | |
type: "Convolution" | |
bottom: "stage3_3/concat" | |
top: "stage3_4/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_4/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage3_4/branch1a" | |
top: "stage3_4/branch1a" | |
} | |
layer { | |
name: "stage3_4/branch1b" | |
type: "Convolution" | |
bottom: "stage3_4/branch1a" | |
top: "stage3_4/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_4/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage3_4/branch1b" | |
top: "stage3_4/branch1b" | |
} | |
layer { | |
name: "stage3_4/branch2a" | |
type: "Convolution" | |
bottom: "stage3_3/concat" | |
top: "stage3_4/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_4/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage3_4/branch2a" | |
top: "stage3_4/branch2a" | |
} | |
layer { | |
name: "stage3_4/branch2b" | |
type: "Convolution" | |
bottom: "stage3_4/branch2a" | |
top: "stage3_4/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_4/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage3_4/branch2b" | |
top: "stage3_4/branch2b" | |
} | |
layer { | |
name: "stage3_4/branch2c" | |
type: "Convolution" | |
bottom: "stage3_4/branch2b" | |
top: "stage3_4/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_4/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage3_4/branch2c" | |
top: "stage3_4/branch2c" | |
} | |
layer { | |
name: "stage3_4/concat" | |
type: "Concat" | |
bottom: "stage3_3/concat" | |
bottom: "stage3_4/branch1b" | |
bottom: "stage3_4/branch2c" | |
top: "stage3_4/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage3_5/branch1a" | |
type: "Convolution" | |
bottom: "stage3_4/concat" | |
top: "stage3_5/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_5/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage3_5/branch1a" | |
top: "stage3_5/branch1a" | |
} | |
layer { | |
name: "stage3_5/branch1b" | |
type: "Convolution" | |
bottom: "stage3_5/branch1a" | |
top: "stage3_5/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_5/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage3_5/branch1b" | |
top: "stage3_5/branch1b" | |
} | |
layer { | |
name: "stage3_5/branch2a" | |
type: "Convolution" | |
bottom: "stage3_4/concat" | |
top: "stage3_5/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_5/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage3_5/branch2a" | |
top: "stage3_5/branch2a" | |
} | |
layer { | |
name: "stage3_5/branch2b" | |
type: "Convolution" | |
bottom: "stage3_5/branch2a" | |
top: "stage3_5/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_5/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage3_5/branch2b" | |
top: "stage3_5/branch2b" | |
} | |
layer { | |
name: "stage3_5/branch2c" | |
type: "Convolution" | |
bottom: "stage3_5/branch2b" | |
top: "stage3_5/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_5/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage3_5/branch2c" | |
top: "stage3_5/branch2c" | |
} | |
layer { | |
name: "stage3_5/concat" | |
type: "Concat" | |
bottom: "stage3_4/concat" | |
bottom: "stage3_5/branch1b" | |
bottom: "stage3_5/branch2c" | |
top: "stage3_5/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage3_6/branch1a" | |
type: "Convolution" | |
bottom: "stage3_5/concat" | |
top: "stage3_6/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_6/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage3_6/branch1a" | |
top: "stage3_6/branch1a" | |
} | |
layer { | |
name: "stage3_6/branch1b" | |
type: "Convolution" | |
bottom: "stage3_6/branch1a" | |
top: "stage3_6/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_6/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage3_6/branch1b" | |
top: "stage3_6/branch1b" | |
} | |
layer { | |
name: "stage3_6/branch2a" | |
type: "Convolution" | |
bottom: "stage3_5/concat" | |
top: "stage3_6/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_6/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage3_6/branch2a" | |
top: "stage3_6/branch2a" | |
} | |
layer { | |
name: "stage3_6/branch2b" | |
type: "Convolution" | |
bottom: "stage3_6/branch2a" | |
top: "stage3_6/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_6/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage3_6/branch2b" | |
top: "stage3_6/branch2b" | |
} | |
layer { | |
name: "stage3_6/branch2c" | |
type: "Convolution" | |
bottom: "stage3_6/branch2b" | |
top: "stage3_6/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_6/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage3_6/branch2c" | |
top: "stage3_6/branch2c" | |
} | |
layer { | |
name: "stage3_6/concat" | |
type: "Concat" | |
bottom: "stage3_5/concat" | |
bottom: "stage3_6/branch1b" | |
bottom: "stage3_6/branch2c" | |
top: "stage3_6/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage3_7/branch1a" | |
type: "Convolution" | |
bottom: "stage3_6/concat" | |
top: "stage3_7/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_7/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage3_7/branch1a" | |
top: "stage3_7/branch1a" | |
} | |
layer { | |
name: "stage3_7/branch1b" | |
type: "Convolution" | |
bottom: "stage3_7/branch1a" | |
top: "stage3_7/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_7/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage3_7/branch1b" | |
top: "stage3_7/branch1b" | |
} | |
layer { | |
name: "stage3_7/branch2a" | |
type: "Convolution" | |
bottom: "stage3_6/concat" | |
top: "stage3_7/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_7/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage3_7/branch2a" | |
top: "stage3_7/branch2a" | |
} | |
layer { | |
name: "stage3_7/branch2b" | |
type: "Convolution" | |
bottom: "stage3_7/branch2a" | |
top: "stage3_7/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_7/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage3_7/branch2b" | |
top: "stage3_7/branch2b" | |
} | |
layer { | |
name: "stage3_7/branch2c" | |
type: "Convolution" | |
bottom: "stage3_7/branch2b" | |
top: "stage3_7/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_7/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage3_7/branch2c" | |
top: "stage3_7/branch2c" | |
} | |
layer { | |
name: "stage3_7/concat" | |
type: "Concat" | |
bottom: "stage3_6/concat" | |
bottom: "stage3_7/branch1b" | |
bottom: "stage3_7/branch2c" | |
top: "stage3_7/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage3_8/branch1a" | |
type: "Convolution" | |
bottom: "stage3_7/concat" | |
top: "stage3_8/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_8/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage3_8/branch1a" | |
top: "stage3_8/branch1a" | |
} | |
layer { | |
name: "stage3_8/branch1b" | |
type: "Convolution" | |
bottom: "stage3_8/branch1a" | |
top: "stage3_8/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_8/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage3_8/branch1b" | |
top: "stage3_8/branch1b" | |
} | |
layer { | |
name: "stage3_8/branch2a" | |
type: "Convolution" | |
bottom: "stage3_7/concat" | |
top: "stage3_8/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_8/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage3_8/branch2a" | |
top: "stage3_8/branch2a" | |
} | |
layer { | |
name: "stage3_8/branch2b" | |
type: "Convolution" | |
bottom: "stage3_8/branch2a" | |
top: "stage3_8/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_8/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage3_8/branch2b" | |
top: "stage3_8/branch2b" | |
} | |
layer { | |
name: "stage3_8/branch2c" | |
type: "Convolution" | |
bottom: "stage3_8/branch2b" | |
top: "stage3_8/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_8/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage3_8/branch2c" | |
top: "stage3_8/branch2c" | |
} | |
layer { | |
name: "stage3_8/concat" | |
type: "Concat" | |
bottom: "stage3_7/concat" | |
bottom: "stage3_8/branch1b" | |
bottom: "stage3_8/branch2c" | |
top: "stage3_8/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage3_tb" | |
type: "Convolution" | |
bottom: "stage3_8/concat" | |
top: "stage3_tb" | |
convolution_param { | |
num_output: 512 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage3_tb/relu" | |
type: "ReLU" | |
bottom: "stage3_tb" | |
top: "stage3_tb" | |
} | |
layer { | |
name: "stage3_tb/pool" | |
type: "Pooling" | |
bottom: "stage3_tb" | |
top: "stage3_tb/pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "stage4_1/branch1a" | |
type: "Convolution" | |
bottom: "stage3_tb/pool" | |
top: "stage4_1/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_1/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage4_1/branch1a" | |
top: "stage4_1/branch1a" | |
} | |
layer { | |
name: "stage4_1/branch1b" | |
type: "Convolution" | |
bottom: "stage4_1/branch1a" | |
top: "stage4_1/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_1/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage4_1/branch1b" | |
top: "stage4_1/branch1b" | |
} | |
layer { | |
name: "stage4_1/branch2a" | |
type: "Convolution" | |
bottom: "stage3_tb/pool" | |
top: "stage4_1/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_1/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage4_1/branch2a" | |
top: "stage4_1/branch2a" | |
} | |
layer { | |
name: "stage4_1/branch2b" | |
type: "Convolution" | |
bottom: "stage4_1/branch2a" | |
top: "stage4_1/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_1/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage4_1/branch2b" | |
top: "stage4_1/branch2b" | |
} | |
layer { | |
name: "stage4_1/branch2c" | |
type: "Convolution" | |
bottom: "stage4_1/branch2b" | |
top: "stage4_1/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_1/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage4_1/branch2c" | |
top: "stage4_1/branch2c" | |
} | |
layer { | |
name: "stage4_1/concat" | |
type: "Concat" | |
bottom: "stage3_tb/pool" | |
bottom: "stage4_1/branch1b" | |
bottom: "stage4_1/branch2c" | |
top: "stage4_1/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage4_2/branch1a" | |
type: "Convolution" | |
bottom: "stage4_1/concat" | |
top: "stage4_2/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_2/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage4_2/branch1a" | |
top: "stage4_2/branch1a" | |
} | |
layer { | |
name: "stage4_2/branch1b" | |
type: "Convolution" | |
bottom: "stage4_2/branch1a" | |
top: "stage4_2/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_2/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage4_2/branch1b" | |
top: "stage4_2/branch1b" | |
} | |
layer { | |
name: "stage4_2/branch2a" | |
type: "Convolution" | |
bottom: "stage4_1/concat" | |
top: "stage4_2/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_2/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage4_2/branch2a" | |
top: "stage4_2/branch2a" | |
} | |
layer { | |
name: "stage4_2/branch2b" | |
type: "Convolution" | |
bottom: "stage4_2/branch2a" | |
top: "stage4_2/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_2/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage4_2/branch2b" | |
top: "stage4_2/branch2b" | |
} | |
layer { | |
name: "stage4_2/branch2c" | |
type: "Convolution" | |
bottom: "stage4_2/branch2b" | |
top: "stage4_2/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_2/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage4_2/branch2c" | |
top: "stage4_2/branch2c" | |
} | |
layer { | |
name: "stage4_2/concat" | |
type: "Concat" | |
bottom: "stage4_1/concat" | |
bottom: "stage4_2/branch1b" | |
bottom: "stage4_2/branch2c" | |
top: "stage4_2/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage4_3/branch1a" | |
type: "Convolution" | |
bottom: "stage4_2/concat" | |
top: "stage4_3/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_3/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage4_3/branch1a" | |
top: "stage4_3/branch1a" | |
} | |
layer { | |
name: "stage4_3/branch1b" | |
type: "Convolution" | |
bottom: "stage4_3/branch1a" | |
top: "stage4_3/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_3/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage4_3/branch1b" | |
top: "stage4_3/branch1b" | |
} | |
layer { | |
name: "stage4_3/branch2a" | |
type: "Convolution" | |
bottom: "stage4_2/concat" | |
top: "stage4_3/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_3/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage4_3/branch2a" | |
top: "stage4_3/branch2a" | |
} | |
layer { | |
name: "stage4_3/branch2b" | |
type: "Convolution" | |
bottom: "stage4_3/branch2a" | |
top: "stage4_3/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_3/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage4_3/branch2b" | |
top: "stage4_3/branch2b" | |
} | |
layer { | |
name: "stage4_3/branch2c" | |
type: "Convolution" | |
bottom: "stage4_3/branch2b" | |
top: "stage4_3/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_3/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage4_3/branch2c" | |
top: "stage4_3/branch2c" | |
} | |
layer { | |
name: "stage4_3/concat" | |
type: "Concat" | |
bottom: "stage4_2/concat" | |
bottom: "stage4_3/branch1b" | |
bottom: "stage4_3/branch2c" | |
top: "stage4_3/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage4_4/branch1a" | |
type: "Convolution" | |
bottom: "stage4_3/concat" | |
top: "stage4_4/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_4/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage4_4/branch1a" | |
top: "stage4_4/branch1a" | |
} | |
layer { | |
name: "stage4_4/branch1b" | |
type: "Convolution" | |
bottom: "stage4_4/branch1a" | |
top: "stage4_4/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_4/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage4_4/branch1b" | |
top: "stage4_4/branch1b" | |
} | |
layer { | |
name: "stage4_4/branch2a" | |
type: "Convolution" | |
bottom: "stage4_3/concat" | |
top: "stage4_4/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_4/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage4_4/branch2a" | |
top: "stage4_4/branch2a" | |
} | |
layer { | |
name: "stage4_4/branch2b" | |
type: "Convolution" | |
bottom: "stage4_4/branch2a" | |
top: "stage4_4/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_4/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage4_4/branch2b" | |
top: "stage4_4/branch2b" | |
} | |
layer { | |
name: "stage4_4/branch2c" | |
type: "Convolution" | |
bottom: "stage4_4/branch2b" | |
top: "stage4_4/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_4/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage4_4/branch2c" | |
top: "stage4_4/branch2c" | |
} | |
layer { | |
name: "stage4_4/concat" | |
type: "Concat" | |
bottom: "stage4_3/concat" | |
bottom: "stage4_4/branch1b" | |
bottom: "stage4_4/branch2c" | |
top: "stage4_4/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage4_5/branch1a" | |
type: "Convolution" | |
bottom: "stage4_4/concat" | |
top: "stage4_5/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_5/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage4_5/branch1a" | |
top: "stage4_5/branch1a" | |
} | |
layer { | |
name: "stage4_5/branch1b" | |
type: "Convolution" | |
bottom: "stage4_5/branch1a" | |
top: "stage4_5/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_5/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage4_5/branch1b" | |
top: "stage4_5/branch1b" | |
} | |
layer { | |
name: "stage4_5/branch2a" | |
type: "Convolution" | |
bottom: "stage4_4/concat" | |
top: "stage4_5/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_5/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage4_5/branch2a" | |
top: "stage4_5/branch2a" | |
} | |
layer { | |
name: "stage4_5/branch2b" | |
type: "Convolution" | |
bottom: "stage4_5/branch2a" | |
top: "stage4_5/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_5/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage4_5/branch2b" | |
top: "stage4_5/branch2b" | |
} | |
layer { | |
name: "stage4_5/branch2c" | |
type: "Convolution" | |
bottom: "stage4_5/branch2b" | |
top: "stage4_5/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_5/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage4_5/branch2c" | |
top: "stage4_5/branch2c" | |
} | |
layer { | |
name: "stage4_5/concat" | |
type: "Concat" | |
bottom: "stage4_4/concat" | |
bottom: "stage4_5/branch1b" | |
bottom: "stage4_5/branch2c" | |
top: "stage4_5/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage4_6/branch1a" | |
type: "Convolution" | |
bottom: "stage4_5/concat" | |
top: "stage4_6/branch1a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_6/branch1a/relu" | |
type: "ReLU" | |
bottom: "stage4_6/branch1a" | |
top: "stage4_6/branch1a" | |
} | |
layer { | |
name: "stage4_6/branch1b" | |
type: "Convolution" | |
bottom: "stage4_6/branch1a" | |
top: "stage4_6/branch1b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_6/branch1b/relu" | |
type: "ReLU" | |
bottom: "stage4_6/branch1b" | |
top: "stage4_6/branch1b" | |
} | |
layer { | |
name: "stage4_6/branch2a" | |
type: "Convolution" | |
bottom: "stage4_5/concat" | |
top: "stage4_6/branch2a" | |
convolution_param { | |
num_output: 64 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_6/branch2a/relu" | |
type: "ReLU" | |
bottom: "stage4_6/branch2a" | |
top: "stage4_6/branch2a" | |
} | |
layer { | |
name: "stage4_6/branch2b" | |
type: "Convolution" | |
bottom: "stage4_6/branch2a" | |
top: "stage4_6/branch2b" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_6/branch2b/relu" | |
type: "ReLU" | |
bottom: "stage4_6/branch2b" | |
top: "stage4_6/branch2b" | |
} | |
layer { | |
name: "stage4_6/branch2c" | |
type: "Convolution" | |
bottom: "stage4_6/branch2b" | |
top: "stage4_6/branch2c" | |
convolution_param { | |
num_output: 16 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_6/branch2c/relu" | |
type: "ReLU" | |
bottom: "stage4_6/branch2c" | |
top: "stage4_6/branch2c" | |
} | |
layer { | |
name: "stage4_6/concat" | |
type: "Concat" | |
bottom: "stage4_5/concat" | |
bottom: "stage4_6/branch1b" | |
bottom: "stage4_6/branch2c" | |
top: "stage4_6/concat" | |
concat_param { | |
axis: 1 | |
} | |
} | |
layer { | |
name: "stage4_tb" | |
type: "Convolution" | |
bottom: "stage4_6/concat" | |
top: "stage4_tb" | |
convolution_param { | |
num_output: 704 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_tb/relu" | |
type: "ReLU" | |
bottom: "stage4_tb" | |
top: "stage4_tb" | |
} | |
layer { | |
name: "stage4_tb/ext/pm3/b2a" | |
type: "Convolution" | |
bottom: "stage4_tb" | |
top: "stage4_tb/ext/pm3/b2a" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
convolution_param { | |
num_output: 128 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_tb/ext/pm3/b2a/relu" | |
type: "ReLU" | |
bottom: "stage4_tb/ext/pm3/b2a" | |
top: "stage4_tb/ext/pm3/b2a" | |
} | |
layer { | |
name: "stage4_tb/ext/pm3/b2b" | |
type: "Convolution" | |
bottom: "stage4_tb/ext/pm3/b2a" | |
top: "stage4_tb/ext/pm3/b2b" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
convolution_param { | |
num_output: 512 | |
bias_term: true | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "stage4_tb/ext/pm3/b2b/relu" | |
type: "ReLU" | |
bottom: "stage4_tb/ext/pm3/b2b" | |
top: "stage4_tb/ext/pm3/b2b" | |
} | |
layer { | |
name: "stage4_tb/ext/pm3/b2c" | |
type: "Convolution" | |
bottom: "stage4_tb/ext/pm3/b2b" | |
top: "stage4_tb/ext/pm3/b2c" | |
param { | |
lr_mult: 1.0 | |
decay_mult: 1.0 | |
} | |
convolution_param { | |
num_output: 256 | |
bias_term: true | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "conv_indoor" | |
type: "Convolution" | |
bottom: "stage4_tb/ext/pm3/b2c" | |
top: "conv_indoor" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
param { | |
lr_mult: 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 125 | |
kernel_size: 1 | |
pad: 0 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "detection_out" | |
type: "YoloDetectionOutput" | |
bottom: "conv_indoor" | |
top: "detection_out" | |
include { | |
phase: TEST | |
} | |
yolo_detection_output_param { | |
num_classes: 20 | |
coords: 4 | |
confidence_threshold: 0.20 | |
nms_threshold: 0.45 | |
biases: 1.08 | |
biases: 1.19 | |
biases: 3.42 | |
biases: 4.41 | |
biases: 6.63 | |
biases: 11.38 | |
biases: 9.42 | |
biases: 5.11 | |
biases: 16.62 | |
biases: 10.52 | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment