Created
December 2, 2018 01:04
-
-
Save qzhong0605/5dcf1f9349651d266114592df2e4a2c2 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: "SE-BN-Inception" | |
# mean_value: 104, 117, 123 | |
layer { | |
name: "data" | |
type: "Input" | |
top: "data" | |
input_param: { | |
shape: { | |
dim: 1 | |
dim: 3 | |
dim: 224 | |
dim: 224 | |
} | |
} | |
} | |
layer { | |
name: "conv1/7x7_s2" | |
type: "Convolution" | |
bottom: "data" | |
top: "conv1/7x7_s2" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
pad: 3 | |
kernel_size: 7 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "conv1/7x7_s2/bn" | |
type: "BatchNorm" | |
bottom: "conv1/7x7_s2" | |
top: "conv1/7x7_s2" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "conv1/7x7_s2/bn/scale" | |
type: "Scale" | |
bottom: "conv1/7x7_s2" | |
top: "conv1/7x7_s2" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "conv1/relu_7x7" | |
type: "ReLU" | |
bottom: "conv1/7x7_s2" | |
top: "conv1/7x7_s2" | |
} | |
layer { | |
name: "pool1/3x3_s2" | |
type: "Pooling" | |
bottom: "conv1/7x7_s2" | |
top: "pool1/3x3_s2" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "conv2/3x3_reduce" | |
type: "Convolution" | |
bottom: "pool1/3x3_s2" | |
top: "conv2/3x3_reduce" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "conv2/3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "conv2/3x3_reduce" | |
top: "conv2/3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "conv2/3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "conv2/3x3_reduce" | |
top: "conv2/3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "conv2/relu_3x3_reduce" | |
type: "ReLU" | |
bottom: "conv2/3x3_reduce" | |
top: "conv2/3x3_reduce" | |
} | |
layer { | |
name: "conv2/3x3" | |
type: "Convolution" | |
bottom: "conv2/3x3_reduce" | |
top: "conv2/3x3" | |
convolution_param { | |
num_output: 192 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "conv2/3x3/bn" | |
type: "BatchNorm" | |
bottom: "conv2/3x3" | |
top: "conv2/3x3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "conv2/3x3/bn/scale" | |
type: "Scale" | |
bottom: "conv2/3x3" | |
top: "conv2/3x3" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "conv2/relu_3x3" | |
type: "ReLU" | |
bottom: "conv2/3x3" | |
top: "conv2/3x3" | |
} | |
layer { | |
name: "pool2/3x3_s2" | |
type: "Pooling" | |
bottom: "conv2/3x3" | |
top: "pool2/3x3_s2" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "inception_3a/1x1" | |
type: "Convolution" | |
bottom: "pool2/3x3_s2" | |
top: "inception_3a/1x1" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_3a/1x1/bn" | |
type: "BatchNorm" | |
bottom: "inception_3a/1x1" | |
top: "inception_3a/1x1" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3a/1x1/bn/scale" | |
type: "Scale" | |
bottom: "inception_3a/1x1" | |
top: "inception_3a/1x1" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3a/relu_1x1" | |
type: "ReLU" | |
bottom: "inception_3a/1x1" | |
top: "inception_3a/1x1" | |
} | |
layer { | |
name: "inception_3a/3x3_reduce" | |
type: "Convolution" | |
bottom: "pool2/3x3_s2" | |
top: "inception_3a/3x3_reduce" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_3a/3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_3a/3x3_reduce" | |
top: "inception_3a/3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3a/3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_3a/3x3_reduce" | |
top: "inception_3a/3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3a/relu_3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_3a/3x3_reduce" | |
top: "inception_3a/3x3_reduce" | |
} | |
layer { | |
name: "inception_3a/3x3" | |
type: "Convolution" | |
bottom: "inception_3a/3x3_reduce" | |
top: "inception_3a/3x3" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_3a/3x3/bn" | |
type: "BatchNorm" | |
bottom: "inception_3a/3x3" | |
top: "inception_3a/3x3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3a/3x3/bn/scale" | |
type: "Scale" | |
bottom: "inception_3a/3x3" | |
top: "inception_3a/3x3" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3a/relu_3x3" | |
type: "ReLU" | |
bottom: "inception_3a/3x3" | |
top: "inception_3a/3x3" | |
} | |
layer { | |
name: "inception_3a/double3x3_reduce" | |
type: "Convolution" | |
bottom: "pool2/3x3_s2" | |
top: "inception_3a/double3x3_reduce" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_3a/double3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_3a/double3x3_reduce" | |
top: "inception_3a/double3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3a/double3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_3a/double3x3_reduce" | |
top: "inception_3a/double3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3a/relu_double3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_3a/double3x3_reduce" | |
top: "inception_3a/double3x3_reduce" | |
} | |
layer { | |
name: "inception_3a/double3x3a" | |
type: "Convolution" | |
bottom: "inception_3a/double3x3_reduce" | |
top: "inception_3a/double3x3a" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_3a/double3x3a/bn" | |
type: "BatchNorm" | |
bottom: "inception_3a/double3x3a" | |
top: "inception_3a/double3x3a" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3a/double3x3a/bn/scale" | |
type: "Scale" | |
bottom: "inception_3a/double3x3a" | |
top: "inception_3a/double3x3a" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3a/relu_double3x3a" | |
type: "ReLU" | |
bottom: "inception_3a/double3x3a" | |
top: "inception_3a/double3x3a" | |
} | |
layer { | |
name: "inception_3a/double3x3b" | |
type: "Convolution" | |
bottom: "inception_3a/double3x3a" | |
top: "inception_3a/double3x3b" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_3a/double3x3b/bn" | |
type: "BatchNorm" | |
bottom: "inception_3a/double3x3b" | |
top: "inception_3a/double3x3b" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3a/double3x3b/bn/scale" | |
type: "Scale" | |
bottom: "inception_3a/double3x3b" | |
top: "inception_3a/double3x3b" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3a/relu_double3x3b" | |
type: "ReLU" | |
bottom: "inception_3a/double3x3b" | |
top: "inception_3a/double3x3b" | |
} | |
layer { | |
name: "inception_3a/pool" | |
type: "Pooling" | |
bottom: "pool2/3x3_s2" | |
top: "inception_3a/pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_3a/pool_proj" | |
type: "Convolution" | |
bottom: "inception_3a/pool" | |
top: "inception_3a/pool_proj" | |
convolution_param { | |
num_output: 32 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_3a/pool_proj/bn" | |
type: "BatchNorm" | |
bottom: "inception_3a/pool_proj" | |
top: "inception_3a/pool_proj" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3a/pool_proj/bn/scale" | |
type: "Scale" | |
bottom: "inception_3a/pool_proj" | |
top: "inception_3a/pool_proj" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3a/relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_3a/pool_proj" | |
top: "inception_3a/pool_proj" | |
} | |
layer { | |
name: "inception_3a/concat" | |
type: "Concat" | |
bottom: "inception_3a/1x1" | |
bottom: "inception_3a/3x3" | |
bottom: "inception_3a/double3x3b" | |
bottom: "inception_3a/pool_proj" | |
top: "inception_3a/concat" | |
} | |
layer { | |
name: "inception_3a_global_pool" | |
type: "Pooling" | |
bottom: "inception_3a/concat" | |
top: "inception_3a_global_pool" | |
pooling_param { | |
pool: AVE | |
engine: CAFFE | |
global_pooling: true | |
} | |
} | |
layer { | |
name: "inception_3a_1x1_down" | |
type: "Convolution" | |
bottom: "inception_3a_global_pool" | |
top: "inception_3a_1x1_down" | |
convolution_param { | |
num_output: 16 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_3a_1x1_down/relu" | |
type: "ReLU" | |
bottom: "inception_3a_1x1_down" | |
top: "inception_3a_1x1_down" | |
} | |
layer { | |
name: "inception_3a_1x1_up" | |
type: "Convolution" | |
bottom: "inception_3a_1x1_down" | |
top: "inception_3a_1x1_up" | |
convolution_param { | |
num_output: 256 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_3a_prob" | |
type: "Sigmoid" | |
bottom: "inception_3a_1x1_up" | |
top: "inception_3a_1x1_up" | |
} | |
layer { | |
name: "inception_3a_prob_reshape" | |
type: "Reshape" | |
bottom: "inception_3a_1x1_up" | |
top: "inception_3a_prob_reshape" | |
reshape_param { | |
shape { | |
dim: 0 | |
dim: 0 | |
} | |
} | |
} | |
layer { | |
name: "inception_3a_scale" | |
type: "Scale" | |
bottom: "inception_3a/concat" | |
bottom: "inception_3a_prob_reshape" | |
top: "inception_3a/output" | |
scale_param { | |
axis: 0 | |
bias_term: false | |
} | |
} | |
layer { | |
name: "inception_3b/1x1" | |
type: "Convolution" | |
bottom: "inception_3a/output" | |
top: "inception_3b/1x1" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_3b/1x1/bn" | |
type: "BatchNorm" | |
bottom: "inception_3b/1x1" | |
top: "inception_3b/1x1" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3b/1x1/bn/scale" | |
type: "Scale" | |
bottom: "inception_3b/1x1" | |
top: "inception_3b/1x1" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3b/relu_1x1" | |
type: "ReLU" | |
bottom: "inception_3b/1x1" | |
top: "inception_3b/1x1" | |
} | |
layer { | |
name: "inception_3b/3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_3a/output" | |
top: "inception_3b/3x3_reduce" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_3b/3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_3b/3x3_reduce" | |
top: "inception_3b/3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3b/3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_3b/3x3_reduce" | |
top: "inception_3b/3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3b/relu_3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_3b/3x3_reduce" | |
top: "inception_3b/3x3_reduce" | |
} | |
layer { | |
name: "inception_3b/3x3" | |
type: "Convolution" | |
bottom: "inception_3b/3x3_reduce" | |
top: "inception_3b/3x3" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_3b/3x3/bn" | |
type: "BatchNorm" | |
bottom: "inception_3b/3x3" | |
top: "inception_3b/3x3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3b/3x3/bn/scale" | |
type: "Scale" | |
bottom: "inception_3b/3x3" | |
top: "inception_3b/3x3" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3b/relu_3x3" | |
type: "ReLU" | |
bottom: "inception_3b/3x3" | |
top: "inception_3b/3x3" | |
} | |
layer { | |
name: "inception_3b/double3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_3a/output" | |
top: "inception_3b/double3x3_reduce" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_3b/double3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_3b/double3x3_reduce" | |
top: "inception_3b/double3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3b/double3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_3b/double3x3_reduce" | |
top: "inception_3b/double3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3b/relu_double3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_3b/double3x3_reduce" | |
top: "inception_3b/double3x3_reduce" | |
} | |
layer { | |
name: "inception_3b/double3x3a" | |
type: "Convolution" | |
bottom: "inception_3b/double3x3_reduce" | |
top: "inception_3b/double3x3a" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_3b/double3x3a/bn" | |
type: "BatchNorm" | |
bottom: "inception_3b/double3x3a" | |
top: "inception_3b/double3x3a" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3b/double3x3a/bn/scale" | |
type: "Scale" | |
bottom: "inception_3b/double3x3a" | |
top: "inception_3b/double3x3a" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3b/relu_double3x3a" | |
type: "ReLU" | |
bottom: "inception_3b/double3x3a" | |
top: "inception_3b/double3x3a" | |
} | |
layer { | |
name: "inception_3b/double3x3b" | |
type: "Convolution" | |
bottom: "inception_3b/double3x3a" | |
top: "inception_3b/double3x3b" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_3b/double3x3b/bn" | |
type: "BatchNorm" | |
bottom: "inception_3b/double3x3b" | |
top: "inception_3b/double3x3b" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3b/double3x3b/bn/scale" | |
type: "Scale" | |
bottom: "inception_3b/double3x3b" | |
top: "inception_3b/double3x3b" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3b/relu_double3x3b" | |
type: "ReLU" | |
bottom: "inception_3b/double3x3b" | |
top: "inception_3b/double3x3b" | |
} | |
layer { | |
name: "inception_3b/pool" | |
type: "Pooling" | |
bottom: "inception_3a/output" | |
top: "inception_3b/pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_3b/pool_proj" | |
type: "Convolution" | |
bottom: "inception_3b/pool" | |
top: "inception_3b/pool_proj" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_3b/pool_proj/bn" | |
type: "BatchNorm" | |
bottom: "inception_3b/pool_proj" | |
top: "inception_3b/pool_proj" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3b/pool_proj/bn/scale" | |
type: "Scale" | |
bottom: "inception_3b/pool_proj" | |
top: "inception_3b/pool_proj" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3b/relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_3b/pool_proj" | |
top: "inception_3b/pool_proj" | |
} | |
layer { | |
name: "inception_3b/concat" | |
type: "Concat" | |
bottom: "inception_3b/1x1" | |
bottom: "inception_3b/3x3" | |
bottom: "inception_3b/double3x3b" | |
bottom: "inception_3b/pool_proj" | |
top: "inception_3b/concat" | |
} | |
layer { | |
name: "inception_3b_global_pool" | |
type: "Pooling" | |
bottom: "inception_3b/concat" | |
top: "inception_3b_global_pool" | |
pooling_param { | |
pool: AVE | |
engine: CAFFE | |
global_pooling: true | |
} | |
} | |
layer { | |
name: "inception_3b_1x1_down" | |
type: "Convolution" | |
bottom: "inception_3b_global_pool" | |
top: "inception_3b_1x1_down" | |
convolution_param { | |
num_output: 20 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_3b_1x1_down/relu" | |
type: "ReLU" | |
bottom: "inception_3b_1x1_down" | |
top: "inception_3b_1x1_down" | |
} | |
layer { | |
name: "inception_3b_1x1_up" | |
type: "Convolution" | |
bottom: "inception_3b_1x1_down" | |
top: "inception_3b_1x1_up" | |
convolution_param { | |
num_output: 320 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_3b_prob" | |
type: "Sigmoid" | |
bottom: "inception_3b_1x1_up" | |
top: "inception_3b_1x1_up" | |
} | |
layer { | |
name: "inception_3b_prob_reshape" | |
type: "Reshape" | |
bottom: "inception_3b_1x1_up" | |
top: "inception_3b_prob_reshape" | |
reshape_param { | |
shape { | |
dim: 0 | |
dim: 0 | |
} | |
} | |
} | |
layer { | |
name: "inception_3b_scale" | |
type: "Scale" | |
bottom: "inception_3b/concat" | |
bottom: "inception_3b_prob_reshape" | |
top: "inception_3b/output" | |
scale_param { | |
axis: 0 | |
bias_term: false | |
} | |
} | |
layer { | |
name: "inception_3c/3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_3b/output" | |
top: "inception_3c/3x3_reduce" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_3c/3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_3c/3x3_reduce" | |
top: "inception_3c/3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3c/3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_3c/3x3_reduce" | |
top: "inception_3c/3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3c/relu_3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_3c/3x3_reduce" | |
top: "inception_3c/3x3_reduce" | |
} | |
layer { | |
name: "inception_3c/3x3" | |
type: "Convolution" | |
bottom: "inception_3c/3x3_reduce" | |
top: "inception_3c/3x3" | |
convolution_param { | |
num_output: 160 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "inception_3c/3x3/bn" | |
type: "BatchNorm" | |
bottom: "inception_3c/3x3" | |
top: "inception_3c/3x3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3c/3x3/bn/scale" | |
type: "Scale" | |
bottom: "inception_3c/3x3" | |
top: "inception_3c/3x3" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3c/relu_3x3" | |
type: "ReLU" | |
bottom: "inception_3c/3x3" | |
top: "inception_3c/3x3" | |
} | |
layer { | |
name: "inception_3c/double3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_3b/output" | |
top: "inception_3c/double3x3_reduce" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_3c/double3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_3c/double3x3_reduce" | |
top: "inception_3c/double3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3c/double3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_3c/double3x3_reduce" | |
top: "inception_3c/double3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3c/relu_double3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_3c/double3x3_reduce" | |
top: "inception_3c/double3x3_reduce" | |
} | |
layer { | |
name: "inception_3c/double3x3a" | |
type: "Convolution" | |
bottom: "inception_3c/double3x3_reduce" | |
top: "inception_3c/double3x3a" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_3c/double3x3a/bn" | |
type: "BatchNorm" | |
bottom: "inception_3c/double3x3a" | |
top: "inception_3c/double3x3a" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3c/double3x3a/bn/scale" | |
type: "Scale" | |
bottom: "inception_3c/double3x3a" | |
top: "inception_3c/double3x3a" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3c/relu_double3x3a" | |
type: "ReLU" | |
bottom: "inception_3c/double3x3a" | |
top: "inception_3c/double3x3a" | |
} | |
layer { | |
name: "inception_3c/double3x3b" | |
type: "Convolution" | |
bottom: "inception_3c/double3x3a" | |
top: "inception_3c/double3x3b" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "inception_3c/double3x3b/bn" | |
type: "BatchNorm" | |
bottom: "inception_3c/double3x3b" | |
top: "inception_3c/double3x3b" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_3c/double3x3b/bn/scale" | |
type: "Scale" | |
bottom: "inception_3c/double3x3b" | |
top: "inception_3c/double3x3b" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_3c/relu_double3x3b" | |
type: "ReLU" | |
bottom: "inception_3c/double3x3b" | |
top: "inception_3c/double3x3b" | |
} | |
layer { | |
name: "inception_3c/pool/3x3_s2" | |
type: "Pooling" | |
bottom: "inception_3b/output" | |
top: "inception_3c/pool/3x3_s2" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "inception_3c/concat" | |
type: "Concat" | |
bottom: "inception_3c/3x3" | |
bottom: "inception_3c/double3x3b" | |
bottom: "inception_3c/pool/3x3_s2" | |
top: "inception_3c/concat" | |
} | |
layer { | |
name: "inception_3c_global_pool" | |
type: "Pooling" | |
bottom: "inception_3c/concat" | |
top: "inception_3c_global_pool" | |
pooling_param { | |
pool: AVE | |
engine: CAFFE | |
global_pooling: true | |
} | |
} | |
layer { | |
name: "inception_3c_1x1_down" | |
type: "Convolution" | |
bottom: "inception_3c_global_pool" | |
top: "inception_3c_1x1_down" | |
convolution_param { | |
num_output: 36 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_3c_1x1_down/relu" | |
type: "ReLU" | |
bottom: "inception_3c_1x1_down" | |
top: "inception_3c_1x1_down" | |
} | |
layer { | |
name: "inception_3c_1x1_up" | |
type: "Convolution" | |
bottom: "inception_3c_1x1_down" | |
top: "inception_3c_1x1_up" | |
convolution_param { | |
num_output: 576 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_3c_prob" | |
type: "Sigmoid" | |
bottom: "inception_3c_1x1_up" | |
top: "inception_3c_1x1_up" | |
} | |
layer { | |
name: "inception_3c_prob_reshape" | |
type: "Reshape" | |
bottom: "inception_3c_1x1_up" | |
top: "inception_3c_prob_reshape" | |
reshape_param { | |
shape { | |
dim: 0 | |
dim: 0 | |
} | |
} | |
} | |
layer { | |
name: "inception_3c_scale" | |
type: "Scale" | |
bottom: "inception_3c/concat" | |
bottom: "inception_3c_prob_reshape" | |
top: "inception_3c/output" | |
scale_param { | |
axis: 0 | |
bias_term: false | |
} | |
} | |
layer { | |
name: "inception_4a/1x1" | |
type: "Convolution" | |
bottom: "inception_3c/output" | |
top: "inception_4a/1x1" | |
convolution_param { | |
num_output: 224 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4a/1x1/bn" | |
type: "BatchNorm" | |
bottom: "inception_4a/1x1" | |
top: "inception_4a/1x1" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4a/1x1/bn/scale" | |
type: "Scale" | |
bottom: "inception_4a/1x1" | |
top: "inception_4a/1x1" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4a/relu_1x1" | |
type: "ReLU" | |
bottom: "inception_4a/1x1" | |
top: "inception_4a/1x1" | |
} | |
layer { | |
name: "inception_4a/3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_3c/output" | |
top: "inception_4a/3x3_reduce" | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4a/3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_4a/3x3_reduce" | |
top: "inception_4a/3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4a/3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_4a/3x3_reduce" | |
top: "inception_4a/3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4a/relu_3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_4a/3x3_reduce" | |
top: "inception_4a/3x3_reduce" | |
} | |
layer { | |
name: "inception_4a/3x3" | |
type: "Convolution" | |
bottom: "inception_4a/3x3_reduce" | |
top: "inception_4a/3x3" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4a/3x3/bn" | |
type: "BatchNorm" | |
bottom: "inception_4a/3x3" | |
top: "inception_4a/3x3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4a/3x3/bn/scale" | |
type: "Scale" | |
bottom: "inception_4a/3x3" | |
top: "inception_4a/3x3" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4a/relu_3x3" | |
type: "ReLU" | |
bottom: "inception_4a/3x3" | |
top: "inception_4a/3x3" | |
} | |
layer { | |
name: "inception_4a/double3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_3c/output" | |
top: "inception_4a/double3x3_reduce" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4a/double3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_4a/double3x3_reduce" | |
top: "inception_4a/double3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4a/double3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_4a/double3x3_reduce" | |
top: "inception_4a/double3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4a/relu_double3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_4a/double3x3_reduce" | |
top: "inception_4a/double3x3_reduce" | |
} | |
layer { | |
name: "inception_4a/double3x3a" | |
type: "Convolution" | |
bottom: "inception_4a/double3x3_reduce" | |
top: "inception_4a/double3x3a" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4a/double3x3a/bn" | |
type: "BatchNorm" | |
bottom: "inception_4a/double3x3a" | |
top: "inception_4a/double3x3a" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4a/double3x3a/bn/scale" | |
type: "Scale" | |
bottom: "inception_4a/double3x3a" | |
top: "inception_4a/double3x3a" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4a/relu_double3x3a" | |
type: "ReLU" | |
bottom: "inception_4a/double3x3a" | |
top: "inception_4a/double3x3a" | |
} | |
layer { | |
name: "inception_4a/double3x3b" | |
type: "Convolution" | |
bottom: "inception_4a/double3x3a" | |
top: "inception_4a/double3x3b" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4a/double3x3b/bn" | |
type: "BatchNorm" | |
bottom: "inception_4a/double3x3b" | |
top: "inception_4a/double3x3b" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4a/double3x3b/bn/scale" | |
type: "Scale" | |
bottom: "inception_4a/double3x3b" | |
top: "inception_4a/double3x3b" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4a/relu_double3x3b" | |
type: "ReLU" | |
bottom: "inception_4a/double3x3b" | |
top: "inception_4a/double3x3b" | |
} | |
layer { | |
name: "inception_4a/pool" | |
type: "Pooling" | |
bottom: "inception_3c/output" | |
top: "inception_4a/pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_4a/pool_proj" | |
type: "Convolution" | |
bottom: "inception_4a/pool" | |
top: "inception_4a/pool_proj" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4a/pool_proj/bn" | |
type: "BatchNorm" | |
bottom: "inception_4a/pool_proj" | |
top: "inception_4a/pool_proj" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4a/pool_proj/bn/scale" | |
type: "Scale" | |
bottom: "inception_4a/pool_proj" | |
top: "inception_4a/pool_proj" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4a/relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_4a/pool_proj" | |
top: "inception_4a/pool_proj" | |
} | |
layer { | |
name: "inception_4a/concat" | |
type: "Concat" | |
bottom: "inception_4a/1x1" | |
bottom: "inception_4a/3x3" | |
bottom: "inception_4a/double3x3b" | |
bottom: "inception_4a/pool_proj" | |
top: "inception_4a/concat" | |
} | |
layer { | |
name: "inception_4a_global_pool" | |
type: "Pooling" | |
bottom: "inception_4a/concat" | |
top: "inception_4a_global_pool" | |
pooling_param { | |
pool: AVE | |
engine: CAFFE | |
global_pooling: true | |
} | |
} | |
layer { | |
name: "inception_4a_1x1_down" | |
type: "Convolution" | |
bottom: "inception_4a_global_pool" | |
top: "inception_4a_1x1_down" | |
convolution_param { | |
num_output: 36 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_4a_1x1_down/relu" | |
type: "ReLU" | |
bottom: "inception_4a_1x1_down" | |
top: "inception_4a_1x1_down" | |
} | |
layer { | |
name: "inception_4a_1x1_up" | |
type: "Convolution" | |
bottom: "inception_4a_1x1_down" | |
top: "inception_4a_1x1_up" | |
convolution_param { | |
num_output: 576 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_4a_prob" | |
type: "Sigmoid" | |
bottom: "inception_4a_1x1_up" | |
top: "inception_4a_1x1_up" | |
} | |
layer { | |
name: "inception_4a_prob_reshape" | |
type: "Reshape" | |
bottom: "inception_4a_1x1_up" | |
top: "inception_4a_prob_reshape" | |
reshape_param { | |
shape { | |
dim: 0 | |
dim: 0 | |
} | |
} | |
} | |
layer { | |
name: "inception_4a_scale" | |
type: "Scale" | |
bottom: "inception_4a/concat" | |
bottom: "inception_4a_prob_reshape" | |
top: "inception_4a/output" | |
scale_param { | |
axis: 0 | |
bias_term: false | |
} | |
} | |
layer { | |
name: "inception_4b/1x1" | |
type: "Convolution" | |
bottom: "inception_4a/output" | |
top: "inception_4b/1x1" | |
convolution_param { | |
num_output: 192 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4b/1x1/bn" | |
type: "BatchNorm" | |
bottom: "inception_4b/1x1" | |
top: "inception_4b/1x1" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4b/1x1/bn/scale" | |
type: "Scale" | |
bottom: "inception_4b/1x1" | |
top: "inception_4b/1x1" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4b/relu_1x1" | |
type: "ReLU" | |
bottom: "inception_4b/1x1" | |
top: "inception_4b/1x1" | |
} | |
layer { | |
name: "inception_4b/3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_4a/output" | |
top: "inception_4b/3x3_reduce" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4b/3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_4b/3x3_reduce" | |
top: "inception_4b/3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4b/3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_4b/3x3_reduce" | |
top: "inception_4b/3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4b/relu_3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_4b/3x3_reduce" | |
top: "inception_4b/3x3_reduce" | |
} | |
layer { | |
name: "inception_4b/3x3" | |
type: "Convolution" | |
bottom: "inception_4b/3x3_reduce" | |
top: "inception_4b/3x3" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4b/3x3/bn" | |
type: "BatchNorm" | |
bottom: "inception_4b/3x3" | |
top: "inception_4b/3x3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4b/3x3/bn/scale" | |
type: "Scale" | |
bottom: "inception_4b/3x3" | |
top: "inception_4b/3x3" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4b/relu_3x3" | |
type: "ReLU" | |
bottom: "inception_4b/3x3" | |
top: "inception_4b/3x3" | |
} | |
layer { | |
name: "inception_4b/double3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_4a/output" | |
top: "inception_4b/double3x3_reduce" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4b/double3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_4b/double3x3_reduce" | |
top: "inception_4b/double3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4b/double3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_4b/double3x3_reduce" | |
top: "inception_4b/double3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4b/relu_double3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_4b/double3x3_reduce" | |
top: "inception_4b/double3x3_reduce" | |
} | |
layer { | |
name: "inception_4b/double3x3a" | |
type: "Convolution" | |
bottom: "inception_4b/double3x3_reduce" | |
top: "inception_4b/double3x3a" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4b/double3x3a/bn" | |
type: "BatchNorm" | |
bottom: "inception_4b/double3x3a" | |
top: "inception_4b/double3x3a" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4b/double3x3a/bn/scale" | |
type: "Scale" | |
bottom: "inception_4b/double3x3a" | |
top: "inception_4b/double3x3a" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4b/relu_double3x3a" | |
type: "ReLU" | |
bottom: "inception_4b/double3x3a" | |
top: "inception_4b/double3x3a" | |
} | |
layer { | |
name: "inception_4b/double3x3b" | |
type: "Convolution" | |
bottom: "inception_4b/double3x3a" | |
top: "inception_4b/double3x3b" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4b/double3x3b/bn" | |
type: "BatchNorm" | |
bottom: "inception_4b/double3x3b" | |
top: "inception_4b/double3x3b" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4b/double3x3b/bn/scale" | |
type: "Scale" | |
bottom: "inception_4b/double3x3b" | |
top: "inception_4b/double3x3b" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4b/relu_double3x3b" | |
type: "ReLU" | |
bottom: "inception_4b/double3x3b" | |
top: "inception_4b/double3x3b" | |
} | |
layer { | |
name: "inception_4b/pool" | |
type: "Pooling" | |
bottom: "inception_4a/output" | |
top: "inception_4b/pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_4b/pool_proj" | |
type: "Convolution" | |
bottom: "inception_4b/pool" | |
top: "inception_4b/pool_proj" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4b/pool_proj/bn" | |
type: "BatchNorm" | |
bottom: "inception_4b/pool_proj" | |
top: "inception_4b/pool_proj" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4b/pool_proj/bn/scale" | |
type: "Scale" | |
bottom: "inception_4b/pool_proj" | |
top: "inception_4b/pool_proj" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4b/relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_4b/pool_proj" | |
top: "inception_4b/pool_proj" | |
} | |
layer { | |
name: "inception_4b/concat" | |
type: "Concat" | |
bottom: "inception_4b/1x1" | |
bottom: "inception_4b/3x3" | |
bottom: "inception_4b/double3x3b" | |
bottom: "inception_4b/pool_proj" | |
top: "inception_4b/concat" | |
} | |
layer { | |
name: "inception_4b_global_pool" | |
type: "Pooling" | |
bottom: "inception_4b/concat" | |
top: "inception_4b_global_pool" | |
pooling_param { | |
pool: AVE | |
engine: CAFFE | |
global_pooling: true | |
} | |
} | |
layer { | |
name: "inception_4b_1x1_down" | |
type: "Convolution" | |
bottom: "inception_4b_global_pool" | |
top: "inception_4b_1x1_down" | |
convolution_param { | |
num_output: 36 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_4b_1x1_down/relu" | |
type: "ReLU" | |
bottom: "inception_4b_1x1_down" | |
top: "inception_4b_1x1_down" | |
} | |
layer { | |
name: "inception_4b_1x1_up" | |
type: "Convolution" | |
bottom: "inception_4b_1x1_down" | |
top: "inception_4b_1x1_up" | |
convolution_param { | |
num_output: 576 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_4b_prob" | |
type: "Sigmoid" | |
bottom: "inception_4b_1x1_up" | |
top: "inception_4b_1x1_up" | |
} | |
layer { | |
name: "inception_4b_prob_reshape" | |
type: "Reshape" | |
bottom: "inception_4b_1x1_up" | |
top: "inception_4b_prob_reshape" | |
reshape_param { | |
shape { | |
dim: 0 | |
dim: 0 | |
} | |
} | |
} | |
layer { | |
name: "inception_4b_scale" | |
type: "Scale" | |
bottom: "inception_4b/concat" | |
bottom: "inception_4b_prob_reshape" | |
top: "inception_4b/output" | |
scale_param { | |
axis: 0 | |
bias_term: false | |
} | |
} | |
layer { | |
name: "inception_4c/1x1" | |
type: "Convolution" | |
bottom: "inception_4b/output" | |
top: "inception_4c/1x1" | |
convolution_param { | |
num_output: 160 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4c/1x1/bn" | |
type: "BatchNorm" | |
bottom: "inception_4c/1x1" | |
top: "inception_4c/1x1" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4c/1x1/bn/scale" | |
type: "Scale" | |
bottom: "inception_4c/1x1" | |
top: "inception_4c/1x1" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4c/relu_1x1" | |
type: "ReLU" | |
bottom: "inception_4c/1x1" | |
top: "inception_4c/1x1" | |
} | |
layer { | |
name: "inception_4c/3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_4b/output" | |
top: "inception_4c/3x3_reduce" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4c/3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_4c/3x3_reduce" | |
top: "inception_4c/3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4c/3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_4c/3x3_reduce" | |
top: "inception_4c/3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4c/relu_3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_4c/3x3_reduce" | |
top: "inception_4c/3x3_reduce" | |
} | |
layer { | |
name: "inception_4c/3x3" | |
type: "Convolution" | |
bottom: "inception_4c/3x3_reduce" | |
top: "inception_4c/3x3" | |
convolution_param { | |
num_output: 160 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4c/3x3/bn" | |
type: "BatchNorm" | |
bottom: "inception_4c/3x3" | |
top: "inception_4c/3x3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4c/3x3/bn/scale" | |
type: "Scale" | |
bottom: "inception_4c/3x3" | |
top: "inception_4c/3x3" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4c/relu_3x3" | |
type: "ReLU" | |
bottom: "inception_4c/3x3" | |
top: "inception_4c/3x3" | |
} | |
layer { | |
name: "inception_4c/double3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_4b/output" | |
top: "inception_4c/double3x3_reduce" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4c/double3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_4c/double3x3_reduce" | |
top: "inception_4c/double3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4c/double3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_4c/double3x3_reduce" | |
top: "inception_4c/double3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4c/relu_double3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_4c/double3x3_reduce" | |
top: "inception_4c/double3x3_reduce" | |
} | |
layer { | |
name: "inception_4c/double3x3a" | |
type: "Convolution" | |
bottom: "inception_4c/double3x3_reduce" | |
top: "inception_4c/double3x3a" | |
convolution_param { | |
num_output: 160 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4c/double3x3a/bn" | |
type: "BatchNorm" | |
bottom: "inception_4c/double3x3a" | |
top: "inception_4c/double3x3a" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4c/double3x3a/bn/scale" | |
type: "Scale" | |
bottom: "inception_4c/double3x3a" | |
top: "inception_4c/double3x3a" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4c/relu_double3x3a" | |
type: "ReLU" | |
bottom: "inception_4c/double3x3a" | |
top: "inception_4c/double3x3a" | |
} | |
layer { | |
name: "inception_4c/double3x3b" | |
type: "Convolution" | |
bottom: "inception_4c/double3x3a" | |
top: "inception_4c/double3x3b" | |
convolution_param { | |
num_output: 160 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4c/double3x3b/bn" | |
type: "BatchNorm" | |
bottom: "inception_4c/double3x3b" | |
top: "inception_4c/double3x3b" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4c/double3x3b/bn/scale" | |
type: "Scale" | |
bottom: "inception_4c/double3x3b" | |
top: "inception_4c/double3x3b" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4c/relu_double3x3b" | |
type: "ReLU" | |
bottom: "inception_4c/double3x3b" | |
top: "inception_4c/double3x3b" | |
} | |
layer { | |
name: "inception_4c/pool" | |
type: "Pooling" | |
bottom: "inception_4b/output" | |
top: "inception_4c/pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_4c/pool_proj" | |
type: "Convolution" | |
bottom: "inception_4c/pool" | |
top: "inception_4c/pool_proj" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4c/pool_proj/bn" | |
type: "BatchNorm" | |
bottom: "inception_4c/pool_proj" | |
top: "inception_4c/pool_proj" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4c/pool_proj/bn/scale" | |
type: "Scale" | |
bottom: "inception_4c/pool_proj" | |
top: "inception_4c/pool_proj" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4c/relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_4c/pool_proj" | |
top: "inception_4c/pool_proj" | |
} | |
layer { | |
name: "inception_4c/concat" | |
type: "Concat" | |
bottom: "inception_4c/1x1" | |
bottom: "inception_4c/3x3" | |
bottom: "inception_4c/double3x3b" | |
bottom: "inception_4c/pool_proj" | |
top: "inception_4c/concat" | |
} | |
layer { | |
name: "inception_4c_global_pool" | |
type: "Pooling" | |
bottom: "inception_4c/concat" | |
top: "inception_4c_global_pool" | |
pooling_param { | |
pool: AVE | |
engine: CAFFE | |
global_pooling: true | |
} | |
} | |
layer { | |
name: "inception_4c_1x1_down" | |
type: "Convolution" | |
bottom: "inception_4c_global_pool" | |
top: "inception_4c_1x1_down" | |
convolution_param { | |
num_output: 38 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_4c_1x1_down/relu" | |
type: "ReLU" | |
bottom: "inception_4c_1x1_down" | |
top: "inception_4c_1x1_down" | |
} | |
layer { | |
name: "inception_4c_1x1_up" | |
type: "Convolution" | |
bottom: "inception_4c_1x1_down" | |
top: "inception_4c_1x1_up" | |
convolution_param { | |
num_output: 608 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_4c_prob" | |
type: "Sigmoid" | |
bottom: "inception_4c_1x1_up" | |
top: "inception_4c_1x1_up" | |
} | |
layer { | |
name: "inception_4c_prob_reshape" | |
type: "Reshape" | |
bottom: "inception_4c_1x1_up" | |
top: "inception_4c_prob_reshape" | |
reshape_param { | |
shape { | |
dim: 0 | |
dim: 0 | |
} | |
} | |
} | |
layer { | |
name: "inception_4c_scale" | |
type: "Scale" | |
bottom: "inception_4c/concat" | |
bottom: "inception_4c_prob_reshape" | |
top: "inception_4c/output" | |
scale_param { | |
axis: 0 | |
bias_term: false | |
} | |
} | |
layer { | |
name: "inception_4d/1x1" | |
type: "Convolution" | |
bottom: "inception_4c/output" | |
top: "inception_4d/1x1" | |
convolution_param { | |
num_output: 96 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4d/1x1/bn" | |
type: "BatchNorm" | |
bottom: "inception_4d/1x1" | |
top: "inception_4d/1x1" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4d/1x1/bn/scale" | |
type: "Scale" | |
bottom: "inception_4d/1x1" | |
top: "inception_4d/1x1" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4d/relu_1x1" | |
type: "ReLU" | |
bottom: "inception_4d/1x1" | |
top: "inception_4d/1x1" | |
} | |
layer { | |
name: "inception_4d/3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_4c/output" | |
top: "inception_4d/3x3_reduce" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4d/3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_4d/3x3_reduce" | |
top: "inception_4d/3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4d/3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_4d/3x3_reduce" | |
top: "inception_4d/3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4d/relu_3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_4d/3x3_reduce" | |
top: "inception_4d/3x3_reduce" | |
} | |
layer { | |
name: "inception_4d/3x3" | |
type: "Convolution" | |
bottom: "inception_4d/3x3_reduce" | |
top: "inception_4d/3x3" | |
convolution_param { | |
num_output: 192 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4d/3x3/bn" | |
type: "BatchNorm" | |
bottom: "inception_4d/3x3" | |
top: "inception_4d/3x3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4d/3x3/bn/scale" | |
type: "Scale" | |
bottom: "inception_4d/3x3" | |
top: "inception_4d/3x3" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4d/relu_3x3" | |
type: "ReLU" | |
bottom: "inception_4d/3x3" | |
top: "inception_4d/3x3" | |
} | |
layer { | |
name: "inception_4d/double3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_4c/output" | |
top: "inception_4d/double3x3_reduce" | |
convolution_param { | |
num_output: 160 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4d/double3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_4d/double3x3_reduce" | |
top: "inception_4d/double3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4d/double3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_4d/double3x3_reduce" | |
top: "inception_4d/double3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4d/relu_double3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_4d/double3x3_reduce" | |
top: "inception_4d/double3x3_reduce" | |
} | |
layer { | |
name: "inception_4d/double3x3a" | |
type: "Convolution" | |
bottom: "inception_4d/double3x3_reduce" | |
top: "inception_4d/double3x3a" | |
convolution_param { | |
num_output: 192 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4d/double3x3a/bn" | |
type: "BatchNorm" | |
bottom: "inception_4d/double3x3a" | |
top: "inception_4d/double3x3a" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4d/double3x3a/bn/scale" | |
type: "Scale" | |
bottom: "inception_4d/double3x3a" | |
top: "inception_4d/double3x3a" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4d/relu_double3x3a" | |
type: "ReLU" | |
bottom: "inception_4d/double3x3a" | |
top: "inception_4d/double3x3a" | |
} | |
layer { | |
name: "inception_4d/double3x3b" | |
type: "Convolution" | |
bottom: "inception_4d/double3x3a" | |
top: "inception_4d/double3x3b" | |
convolution_param { | |
num_output: 192 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4d/double3x3b/bn" | |
type: "BatchNorm" | |
bottom: "inception_4d/double3x3b" | |
top: "inception_4d/double3x3b" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4d/double3x3b/bn/scale" | |
type: "Scale" | |
bottom: "inception_4d/double3x3b" | |
top: "inception_4d/double3x3b" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4d/relu_double3x3b" | |
type: "ReLU" | |
bottom: "inception_4d/double3x3b" | |
top: "inception_4d/double3x3b" | |
} | |
layer { | |
name: "inception_4d/pool" | |
type: "Pooling" | |
bottom: "inception_4c/output" | |
top: "inception_4d/pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_4d/pool_proj" | |
type: "Convolution" | |
bottom: "inception_4d/pool" | |
top: "inception_4d/pool_proj" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4d/pool_proj/bn" | |
type: "BatchNorm" | |
bottom: "inception_4d/pool_proj" | |
top: "inception_4d/pool_proj" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4d/pool_proj/bn/scale" | |
type: "Scale" | |
bottom: "inception_4d/pool_proj" | |
top: "inception_4d/pool_proj" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4d/relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_4d/pool_proj" | |
top: "inception_4d/pool_proj" | |
} | |
layer { | |
name: "inception_4d/concat" | |
type: "Concat" | |
bottom: "inception_4d/1x1" | |
bottom: "inception_4d/3x3" | |
bottom: "inception_4d/double3x3b" | |
bottom: "inception_4d/pool_proj" | |
top: "inception_4d/concat" | |
} | |
layer { | |
name: "inception_4d_global_pool" | |
type: "Pooling" | |
bottom: "inception_4d/concat" | |
top: "inception_4d_global_pool" | |
pooling_param { | |
pool: AVE | |
engine: CAFFE | |
global_pooling: true | |
} | |
} | |
layer { | |
name: "inception_4d_1x1_down" | |
type: "Convolution" | |
bottom: "inception_4d_global_pool" | |
top: "inception_4d_1x1_down" | |
convolution_param { | |
num_output: 38 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_4d_1x1_down/relu" | |
type: "ReLU" | |
bottom: "inception_4d_1x1_down" | |
top: "inception_4d_1x1_down" | |
} | |
layer { | |
name: "inception_4d_1x1_up" | |
type: "Convolution" | |
bottom: "inception_4d_1x1_down" | |
top: "inception_4d_1x1_up" | |
convolution_param { | |
num_output: 608 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_4d_prob" | |
type: "Sigmoid" | |
bottom: "inception_4d_1x1_up" | |
top: "inception_4d_1x1_up" | |
} | |
layer { | |
name: "inception_4d_prob_reshape" | |
type: "Reshape" | |
bottom: "inception_4d_1x1_up" | |
top: "inception_4d_prob_reshape" | |
reshape_param { | |
shape { | |
dim: 0 | |
dim: 0 | |
} | |
} | |
} | |
layer { | |
name: "inception_4d_scale" | |
type: "Scale" | |
bottom: "inception_4d/concat" | |
bottom: "inception_4d_prob_reshape" | |
top: "inception_4d/output" | |
scale_param { | |
axis: 0 | |
bias_term: false | |
} | |
} | |
layer { | |
name: "inception_4e/3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_4d/output" | |
top: "inception_4e/3x3_reduce" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4e/3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_4e/3x3_reduce" | |
top: "inception_4e/3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4e/3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_4e/3x3_reduce" | |
top: "inception_4e/3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4e/relu_3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_4e/3x3_reduce" | |
top: "inception_4e/3x3_reduce" | |
} | |
layer { | |
name: "inception_4e/3x3" | |
type: "Convolution" | |
bottom: "inception_4e/3x3_reduce" | |
top: "inception_4e/3x3" | |
convolution_param { | |
num_output: 192 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "inception_4e/3x3/bn" | |
type: "BatchNorm" | |
bottom: "inception_4e/3x3" | |
top: "inception_4e/3x3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4e/3x3/bn/scale" | |
type: "Scale" | |
bottom: "inception_4e/3x3" | |
top: "inception_4e/3x3" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4e/relu_3x3" | |
type: "ReLU" | |
bottom: "inception_4e/3x3" | |
top: "inception_4e/3x3" | |
} | |
layer { | |
name: "inception_4e/double3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_4d/output" | |
top: "inception_4e/double3x3_reduce" | |
convolution_param { | |
num_output: 192 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_4e/double3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_4e/double3x3_reduce" | |
top: "inception_4e/double3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4e/double3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_4e/double3x3_reduce" | |
top: "inception_4e/double3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4e/relu_double3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_4e/double3x3_reduce" | |
top: "inception_4e/double3x3_reduce" | |
} | |
layer { | |
name: "inception_4e/double3x3a" | |
type: "Convolution" | |
bottom: "inception_4e/double3x3_reduce" | |
top: "inception_4e/double3x3a" | |
convolution_param { | |
num_output: 256 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_4e/double3x3a/bn" | |
type: "BatchNorm" | |
bottom: "inception_4e/double3x3a" | |
top: "inception_4e/double3x3a" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4e/double3x3a/bn/scale" | |
type: "Scale" | |
bottom: "inception_4e/double3x3a" | |
top: "inception_4e/double3x3a" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4e/relu_double3x3a" | |
type: "ReLU" | |
bottom: "inception_4e/double3x3a" | |
top: "inception_4e/double3x3a" | |
} | |
layer { | |
name: "inception_4e/double3x3b" | |
type: "Convolution" | |
bottom: "inception_4e/double3x3a" | |
top: "inception_4e/double3x3b" | |
convolution_param { | |
num_output: 256 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "inception_4e/double3x3b/bn" | |
type: "BatchNorm" | |
bottom: "inception_4e/double3x3b" | |
top: "inception_4e/double3x3b" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_4e/double3x3b/bn/scale" | |
type: "Scale" | |
bottom: "inception_4e/double3x3b" | |
top: "inception_4e/double3x3b" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_4e/relu_double3x3b" | |
type: "ReLU" | |
bottom: "inception_4e/double3x3b" | |
top: "inception_4e/double3x3b" | |
} | |
layer { | |
name: "inception_4e/pool/3x3_s2" | |
type: "Pooling" | |
bottom: "inception_4d/output" | |
top: "inception_4e/pool/3x3_s2" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "inception_4e/concat" | |
type: "Concat" | |
bottom: "inception_4e/3x3" | |
bottom: "inception_4e/double3x3b" | |
bottom: "inception_4e/pool/3x3_s2" | |
top: "inception_4e/concat" | |
} | |
layer { | |
name: "inception_4e_global_pool" | |
type: "Pooling" | |
bottom: "inception_4e/concat" | |
top: "inception_4e_global_pool" | |
pooling_param { | |
pool: AVE | |
engine: CAFFE | |
global_pooling: true | |
} | |
} | |
layer { | |
name: "inception_4e_1x1_down" | |
type: "Convolution" | |
bottom: "inception_4e_global_pool" | |
top: "inception_4e_1x1_down" | |
convolution_param { | |
num_output: 66 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_4e_1x1_down/relu" | |
type: "ReLU" | |
bottom: "inception_4e_1x1_down" | |
top: "inception_4e_1x1_down" | |
} | |
layer { | |
name: "inception_4e_1x1_up" | |
type: "Convolution" | |
bottom: "inception_4e_1x1_down" | |
top: "inception_4e_1x1_up" | |
convolution_param { | |
num_output: 1056 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_4e_prob" | |
type: "Sigmoid" | |
bottom: "inception_4e_1x1_up" | |
top: "inception_4e_1x1_up" | |
} | |
layer { | |
name: "inception_4e_prob_reshape" | |
type: "Reshape" | |
bottom: "inception_4e_1x1_up" | |
top: "inception_4e_prob_reshape" | |
reshape_param { | |
shape { | |
dim: 0 | |
dim: 0 | |
} | |
} | |
} | |
layer { | |
name: "inception_4e_scale" | |
type: "Scale" | |
bottom: "inception_4e/concat" | |
bottom: "inception_4e_prob_reshape" | |
top: "inception_4e/output" | |
scale_param { | |
axis: 0 | |
bias_term: false | |
} | |
} | |
layer { | |
name: "inception_5a/1x1" | |
type: "Convolution" | |
bottom: "inception_4e/output" | |
top: "inception_5a/1x1" | |
convolution_param { | |
num_output: 352 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_5a/1x1/bn" | |
type: "BatchNorm" | |
bottom: "inception_5a/1x1" | |
top: "inception_5a/1x1" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5a/1x1/bn/scale" | |
type: "Scale" | |
bottom: "inception_5a/1x1" | |
top: "inception_5a/1x1" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5a/relu_1x1" | |
type: "ReLU" | |
bottom: "inception_5a/1x1" | |
top: "inception_5a/1x1" | |
} | |
layer { | |
name: "inception_5a/3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_4e/output" | |
top: "inception_5a/3x3_reduce" | |
convolution_param { | |
num_output: 192 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_5a/3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_5a/3x3_reduce" | |
top: "inception_5a/3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5a/3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_5a/3x3_reduce" | |
top: "inception_5a/3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5a/relu_3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_5a/3x3_reduce" | |
top: "inception_5a/3x3_reduce" | |
} | |
layer { | |
name: "inception_5a/3x3" | |
type: "Convolution" | |
bottom: "inception_5a/3x3_reduce" | |
top: "inception_5a/3x3" | |
convolution_param { | |
num_output: 320 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_5a/3x3/bn" | |
type: "BatchNorm" | |
bottom: "inception_5a/3x3" | |
top: "inception_5a/3x3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5a/3x3/bn/scale" | |
type: "Scale" | |
bottom: "inception_5a/3x3" | |
top: "inception_5a/3x3" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5a/relu_3x3" | |
type: "ReLU" | |
bottom: "inception_5a/3x3" | |
top: "inception_5a/3x3" | |
} | |
layer { | |
name: "inception_5a/double3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_4e/output" | |
top: "inception_5a/double3x3_reduce" | |
convolution_param { | |
num_output: 160 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_5a/double3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_5a/double3x3_reduce" | |
top: "inception_5a/double3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5a/double3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_5a/double3x3_reduce" | |
top: "inception_5a/double3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5a/relu_double3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_5a/double3x3_reduce" | |
top: "inception_5a/double3x3_reduce" | |
} | |
layer { | |
name: "inception_5a/double3x3a" | |
type: "Convolution" | |
bottom: "inception_5a/double3x3_reduce" | |
top: "inception_5a/double3x3a" | |
convolution_param { | |
num_output: 224 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_5a/double3x3a/bn" | |
type: "BatchNorm" | |
bottom: "inception_5a/double3x3a" | |
top: "inception_5a/double3x3a" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5a/double3x3a/bn/scale" | |
type: "Scale" | |
bottom: "inception_5a/double3x3a" | |
top: "inception_5a/double3x3a" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5a/relu_double3x3a" | |
type: "ReLU" | |
bottom: "inception_5a/double3x3a" | |
top: "inception_5a/double3x3a" | |
} | |
layer { | |
name: "inception_5a/double3x3b" | |
type: "Convolution" | |
bottom: "inception_5a/double3x3a" | |
top: "inception_5a/double3x3b" | |
convolution_param { | |
num_output: 224 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_5a/double3x3b/bn" | |
type: "BatchNorm" | |
bottom: "inception_5a/double3x3b" | |
top: "inception_5a/double3x3b" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5a/double3x3b/bn/scale" | |
type: "Scale" | |
bottom: "inception_5a/double3x3b" | |
top: "inception_5a/double3x3b" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5a/relu_double3x3b" | |
type: "ReLU" | |
bottom: "inception_5a/double3x3b" | |
top: "inception_5a/double3x3b" | |
} | |
layer { | |
name: "inception_5a/pool" | |
type: "Pooling" | |
bottom: "inception_4e/output" | |
top: "inception_5a/pool" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_5a/pool_proj" | |
type: "Convolution" | |
bottom: "inception_5a/pool" | |
top: "inception_5a/pool_proj" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_5a/pool_proj/bn" | |
type: "BatchNorm" | |
bottom: "inception_5a/pool_proj" | |
top: "inception_5a/pool_proj" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5a/pool_proj/bn/scale" | |
type: "Scale" | |
bottom: "inception_5a/pool_proj" | |
top: "inception_5a/pool_proj" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5a/relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_5a/pool_proj" | |
top: "inception_5a/pool_proj" | |
} | |
layer { | |
name: "inception_5a/concat" | |
type: "Concat" | |
bottom: "inception_5a/1x1" | |
bottom: "inception_5a/3x3" | |
bottom: "inception_5a/double3x3b" | |
bottom: "inception_5a/pool_proj" | |
top: "inception_5a/concat" | |
} | |
layer { | |
name: "inception_5a_global_pool" | |
type: "Pooling" | |
bottom: "inception_5a/concat" | |
top: "inception_5a_global_pool" | |
pooling_param { | |
pool: AVE | |
engine: CAFFE | |
global_pooling: true | |
} | |
} | |
layer { | |
name: "inception_5a_1x1_down" | |
type: "Convolution" | |
bottom: "inception_5a_global_pool" | |
top: "inception_5a_1x1_down" | |
convolution_param { | |
num_output: 64 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_5a_1x1_down/relu" | |
type: "ReLU" | |
bottom: "inception_5a_1x1_down" | |
top: "inception_5a_1x1_down" | |
} | |
layer { | |
name: "inception_5a_1x1_up" | |
type: "Convolution" | |
bottom: "inception_5a_1x1_down" | |
top: "inception_5a_1x1_up" | |
convolution_param { | |
num_output: 1024 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_5a_prob" | |
type: "Sigmoid" | |
bottom: "inception_5a_1x1_up" | |
top: "inception_5a_1x1_up" | |
} | |
layer { | |
name: "inception_5a_prob_reshape" | |
type: "Reshape" | |
bottom: "inception_5a_1x1_up" | |
top: "inception_5a_prob_reshape" | |
reshape_param { | |
shape { | |
dim: 0 | |
dim: 0 | |
} | |
} | |
} | |
layer { | |
name: "inception_5a_scale" | |
type: "Scale" | |
bottom: "inception_5a/concat" | |
bottom: "inception_5a_prob_reshape" | |
top: "inception_5a/output" | |
scale_param { | |
axis: 0 | |
bias_term: false | |
} | |
} | |
layer { | |
name: "inception_5b/1x1" | |
type: "Convolution" | |
bottom: "inception_5a/output" | |
top: "inception_5b/1x1" | |
convolution_param { | |
num_output: 352 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_5b/1x1/bn" | |
type: "BatchNorm" | |
bottom: "inception_5b/1x1" | |
top: "inception_5b/1x1" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5b/1x1/bn/scale" | |
type: "Scale" | |
bottom: "inception_5b/1x1" | |
top: "inception_5b/1x1" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5b/relu_1x1" | |
type: "ReLU" | |
bottom: "inception_5b/1x1" | |
top: "inception_5b/1x1" | |
} | |
layer { | |
name: "inception_5b/3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_5a/output" | |
top: "inception_5b/3x3_reduce" | |
convolution_param { | |
num_output: 192 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_5b/3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_5b/3x3_reduce" | |
top: "inception_5b/3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5b/3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_5b/3x3_reduce" | |
top: "inception_5b/3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5b/relu_3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_5b/3x3_reduce" | |
top: "inception_5b/3x3_reduce" | |
} | |
layer { | |
name: "inception_5b/3x3" | |
type: "Convolution" | |
bottom: "inception_5b/3x3_reduce" | |
top: "inception_5b/3x3" | |
convolution_param { | |
num_output: 320 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_5b/3x3/bn" | |
type: "BatchNorm" | |
bottom: "inception_5b/3x3" | |
top: "inception_5b/3x3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5b/3x3/bn/scale" | |
type: "Scale" | |
bottom: "inception_5b/3x3" | |
top: "inception_5b/3x3" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5b/relu_3x3" | |
type: "ReLU" | |
bottom: "inception_5b/3x3" | |
top: "inception_5b/3x3" | |
} | |
layer { | |
name: "inception_5b/double3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_5a/output" | |
top: "inception_5b/double3x3_reduce" | |
convolution_param { | |
num_output: 192 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_5b/double3x3_reduce/bn" | |
type: "BatchNorm" | |
bottom: "inception_5b/double3x3_reduce" | |
top: "inception_5b/double3x3_reduce" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5b/double3x3_reduce/bn/scale" | |
type: "Scale" | |
bottom: "inception_5b/double3x3_reduce" | |
top: "inception_5b/double3x3_reduce" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5b/relu_double3x3_reduce" | |
type: "ReLU" | |
bottom: "inception_5b/double3x3_reduce" | |
top: "inception_5b/double3x3_reduce" | |
} | |
layer { | |
name: "inception_5b/double3x3a" | |
type: "Convolution" | |
bottom: "inception_5b/double3x3_reduce" | |
top: "inception_5b/double3x3a" | |
convolution_param { | |
num_output: 224 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_5b/double3x3a/bn" | |
type: "BatchNorm" | |
bottom: "inception_5b/double3x3a" | |
top: "inception_5b/double3x3a" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5b/double3x3a/bn/scale" | |
type: "Scale" | |
bottom: "inception_5b/double3x3a" | |
top: "inception_5b/double3x3a" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5b/relu_double3x3a" | |
type: "ReLU" | |
bottom: "inception_5b/double3x3a" | |
top: "inception_5b/double3x3a" | |
} | |
layer { | |
name: "inception_5b/double3x3b" | |
type: "Convolution" | |
bottom: "inception_5b/double3x3a" | |
top: "inception_5b/double3x3b" | |
convolution_param { | |
num_output: 224 | |
bias_term: false | |
pad: 1 | |
kernel_size: 3 | |
} | |
} | |
layer { | |
name: "inception_5b/double3x3b/bn" | |
type: "BatchNorm" | |
bottom: "inception_5b/double3x3b" | |
top: "inception_5b/double3x3b" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5b/double3x3b/bn/scale" | |
type: "Scale" | |
bottom: "inception_5b/double3x3b" | |
top: "inception_5b/double3x3b" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5b/relu_double3x3b" | |
type: "ReLU" | |
bottom: "inception_5b/double3x3b" | |
top: "inception_5b/double3x3b" | |
} | |
layer { | |
name: "inception_5b/pool" | |
type: "Pooling" | |
bottom: "inception_5a/output" | |
top: "inception_5b/pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_5b/pool_proj" | |
type: "Convolution" | |
bottom: "inception_5b/pool" | |
top: "inception_5b/pool_proj" | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
kernel_size: 1 | |
} | |
} | |
layer { | |
name: "inception_5b/pool_proj/bn" | |
type: "BatchNorm" | |
bottom: "inception_5b/pool_proj" | |
top: "inception_5b/pool_proj" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
} | |
layer { | |
name: "inception_5b/pool_proj/bn/scale" | |
type: "Scale" | |
bottom: "inception_5b/pool_proj" | |
top: "inception_5b/pool_proj" | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "inception_5b/relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_5b/pool_proj" | |
top: "inception_5b/pool_proj" | |
} | |
layer { | |
name: "inception_5b/concat" | |
type: "Concat" | |
bottom: "inception_5b/1x1" | |
bottom: "inception_5b/3x3" | |
bottom: "inception_5b/double3x3b" | |
bottom: "inception_5b/pool_proj" | |
top: "inception_5b/concat" | |
} | |
layer { | |
name: "inception_5b_global_pool" | |
type: "Pooling" | |
bottom: "inception_5b/concat" | |
top: "inception_5b_global_pool" | |
pooling_param { | |
pool: AVE | |
engine: CAFFE | |
global_pooling: true | |
} | |
} | |
layer { | |
name: "inception_5b_1x1_down" | |
type: "Convolution" | |
bottom: "inception_5b_global_pool" | |
top: "inception_5b_1x1_down" | |
convolution_param { | |
num_output: 64 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_5b_1x1_down/relu" | |
type: "ReLU" | |
bottom: "inception_5b_1x1_down" | |
top: "inception_5b_1x1_down" | |
} | |
layer { | |
name: "inception_5b_1x1_up" | |
type: "Convolution" | |
bottom: "inception_5b_1x1_down" | |
top: "inception_5b_1x1_up" | |
convolution_param { | |
num_output: 1024 | |
kernel_size: 1 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "inception_5b_prob" | |
type: "Sigmoid" | |
bottom: "inception_5b_1x1_up" | |
top: "inception_5b_1x1_up" | |
} | |
layer { | |
name: "inception_5b_prob_reshape" | |
type: "Reshape" | |
bottom: "inception_5b_1x1_up" | |
top: "inception_5b_prob_reshape" | |
reshape_param { | |
shape { | |
dim: 0 | |
dim: 0 | |
} | |
} | |
} | |
layer { | |
name: "inception_5b_scale" | |
type: "Scale" | |
bottom: "inception_5b/concat" | |
bottom: "inception_5b_prob_reshape" | |
top: "inception_5b/output" | |
scale_param { | |
axis: 0 | |
bias_term: false | |
} | |
} | |
layer { | |
name: "pool5/7x7_s1" | |
type: "Pooling" | |
bottom: "inception_5b/output" | |
top: "pool5/7x7_s1" | |
pooling_param { | |
pool: AVE | |
kernel_size: 7 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "classifier" | |
type: "InnerProduct" | |
bottom: "pool5/7x7_s1" | |
top: "classifier" | |
inner_product_param { | |
num_output: 1000 | |
} | |
} | |
layer { | |
name: "prob" | |
type: "Softmax" | |
bottom: "classifier" | |
top: "prob" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment