Skip to content

Instantly share code, notes, and snippets.

@qzhong0605
Created December 2, 2018 01:04
Show Gist options
  • Save qzhong0605/5dcf1f9349651d266114592df2e4a2c2 to your computer and use it in GitHub Desktop.
Save qzhong0605/5dcf1f9349651d266114592df2e4a2c2 to your computer and use it in GitHub Desktop.
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