Skip to content

Instantly share code, notes, and snippets.

@dudu159632
Created November 12, 2016 16:03
Show Gist options
  • Save dudu159632/a931fe201b5e30fb0c3713cb2956a7ca to your computer and use it in GitHub Desktop.
Save dudu159632/a931fe201b5e30fb0c3713cb2956a7ca to your computer and use it in GitHub Desktop.
layer {
name: "data"
type: "Data"
top: "data"
top: "label"
include {
phase: TRAIN
}
transform_param {
mirror: true
crop_size: 299
mean_value: 104
mean_value: 117
mean_value: 123
}
data_param {
source: "examples/imagenet/ilsvrc12_train_lmdb"
batch_size: 64
backend: LMDB
}
}
layer {
name: "data"
type: "Data"
top: "data"
top: "label"
include {
phase: TEST
}
transform_param {
mirror: false
crop_size: 299
mean_value: 104
mean_value: 117
mean_value: 123
}
data_param {
source: "examples/imagenet/ilsvrc12_val_lmdb"
batch_size: 64
backend: LMDB
}
}
layer {
name: "conv1_3x3_s2"
type: "Convolution"
bottom: "data"
top: "conv1_3x3_s2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 2
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv1_3x3_s2_bn"
type: "BatchNorm"
bottom: "conv1_3x3_s2"
top: "conv1_3x3_s2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "conv1_3x3_s2_scale"
type: "Scale"
bottom: "conv1_3x3_s2"
top: "conv1_3x3_s2"
scale_param {
bias_term: true
}
}
layer {
name: "conv1_3x3_relu"
type: "ReLU"
bottom: "conv1_3x3_s2"
top: "conv1_3x3_s2"
}
layer {
name: "conv2_3x3_s1"
type: "Convolution"
bottom: "conv1_3x3_s2"
top: "conv2_3x3_s1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 32
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv2_3x3_s1_bn"
type: "BatchNorm"
bottom: "conv2_3x3_s1"
top: "conv2_3x3_s1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "conv2_3x3_s1_scale"
type: "Scale"
bottom: "conv2_3x3_s1"
top: "conv2_3x3_s1"
scale_param {
bias_term: true
}
}
layer {
name: "conv2_3x3_relu"
type: "ReLU"
bottom: "conv2_3x3_s1"
top: "conv2_3x3_s1"
}
layer {
name: "conv3_3x3_s1"
type: "Convolution"
bottom: "conv2_3x3_s1"
top: "conv3_3x3_s1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv3_3x3_s1_bn"
type: "BatchNorm"
bottom: "conv3_3x3_s1"
top: "conv3_3x3_s1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "conv3_3x3_s1_scale"
type: "Scale"
bottom: "conv3_3x3_s1"
top: "conv3_3x3_s1"
scale_param {
bias_term: true
}
}
layer {
name: "conv3_3x3_relu"
type: "ReLU"
bottom: "conv3_3x3_s1"
top: "conv3_3x3_s1"
}
layer {
name: "pool1_3x3_s2"
type: "Pooling"
bottom: "conv3_3x3_s1"
top: "pool1_3x3_s2"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "conv4_3x3_reduce"
type: "Convolution"
bottom: "pool1_3x3_s2"
top: "conv4_3x3_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 80
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv4_3x3_reduce_bn"
type: "BatchNorm"
bottom: "conv4_3x3_reduce"
top: "conv4_3x3_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "conv4_relu_3x3_reduce"
type: "Scale"
bottom: "conv4_3x3_reduce"
top: "conv4_3x3_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "conv4_3x3_reduce_scale"
type: "ReLU"
bottom: "conv4_3x3_reduce"
top: "conv4_3x3_reduce"
}
layer {
name: "conv4_3x3"
type: "Convolution"
bottom: "conv4_3x3_reduce"
top: "conv4_3x3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "conv4_3x3_bn"
type: "BatchNorm"
bottom: "conv4_3x3"
top: "conv4_3x3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "conv4_3x3_scale"
type: "Scale"
bottom: "conv4_3x3"
top: "conv4_3x3"
scale_param {
bias_term: true
}
}
layer {
name: "conv4_relu_3x3"
type: "ReLU"
bottom: "conv4_3x3"
top: "conv4_3x3"
}
layer {
name: "pool2_3x3_s2"
type: "Pooling"
bottom: "conv4_3x3"
top: "pool2_3x3_s2"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "inception_a1_1x1"
type: "Convolution"
bottom: "pool2_3x3_s2"
top: "inception_a1_1x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a1_1x1_bn"
type: "BatchNorm"
bottom: "inception_a1_1x1"
top: "inception_a1_1x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a1_1x1_scale"
type: "Scale"
bottom: "inception_a1_1x1"
top: "inception_a1_1x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a1_1x1_relu"
type: "ReLU"
bottom: "inception_a1_1x1"
top: "inception_a1_1x1"
}
layer {
name: "inception_a1_5x5_reduce"
type: "Convolution"
bottom: "pool2_3x3_s2"
top: "inception_a1_5x5_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 48
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a1_5x5_reduce_bn"
type: "BatchNorm"
bottom: "inception_a1_5x5_reduce"
top: "inception_a1_5x5_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a1_5x5_reduce_scale"
type: "Scale"
bottom: "inception_a1_5x5_reduce"
top: "inception_a1_5x5_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a1_5x5_reduce_relu"
type: "ReLU"
bottom: "inception_a1_5x5_reduce"
top: "inception_a1_5x5_reduce"
}
layer {
name: "inception_a1_5x5"
type: "Convolution"
bottom: "inception_a1_5x5_reduce"
top: "inception_a1_5x5"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a1_5x5_bn"
type: "BatchNorm"
bottom: "inception_a1_5x5"
top: "inception_a1_5x5"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a1_5x5_scale"
type: "Scale"
bottom: "inception_a1_5x5"
top: "inception_a1_5x5"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a1_5x5_relu"
type: "ReLU"
bottom: "inception_a1_5x5"
top: "inception_a1_5x5"
}
layer {
name: "inception_a1_3x3_reduce"
type: "Convolution"
bottom: "pool2_3x3_s2"
top: "inception_a1_3x3_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a1_3x3_reduce_bn"
type: "BatchNorm"
bottom: "inception_a1_3x3_reduce"
top: "inception_a1_3x3_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a1_3x3_reduce_scale"
type: "Scale"
bottom: "inception_a1_3x3_reduce"
top: "inception_a1_3x3_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a1_3x3_reduce_relu"
type: "ReLU"
bottom: "inception_a1_3x3_reduce"
top: "inception_a1_3x3_reduce"
}
layer {
name: "inception_a1_3x3_1"
type: "Convolution"
bottom: "inception_a1_3x3_reduce"
top: "inception_a1_3x3_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 96
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a1_3x3_bn"
type: "BatchNorm"
bottom: "inception_a1_3x3_1"
top: "inception_a1_3x3_1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a1_3x3_scale"
type: "Scale"
bottom: "inception_a1_3x3_1"
top: "inception_a1_3x3_1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a1_3x3_relu"
type: "ReLU"
bottom: "inception_a1_3x3_1"
top: "inception_a1_3x3_1"
}
layer {
name: "inception_a1_3x3_2"
type: "Convolution"
bottom: "inception_a1_3x3_1"
top: "inception_a1_3x3_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 96
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a1_3x3_2_bn"
type: "BatchNorm"
bottom: "inception_a1_3x3_2"
top: "inception_a1_3x3_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a1_3x3_2_scale"
type: "Scale"
bottom: "inception_a1_3x3_2"
top: "inception_a1_3x3_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a1_3x3_2_relu"
type: "ReLU"
bottom: "inception_a1_3x3_2"
top: "inception_a1_3x3_2"
}
layer {
name: "inception_a1_pool"
type: "Pooling"
bottom: "pool2_3x3_s2"
top: "inception_a1_pool"
pooling_param {
pool: AVE
kernel_size: 3
stride: 1
pad: 1
}
}
layer {
name: "inception_a1_pool_proj"
type: "Convolution"
bottom: "inception_a1_pool"
top: "inception_a1_pool_proj"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 32
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a1_pool_proj_bn"
type: "BatchNorm"
bottom: "inception_a1_pool_proj"
top: "inception_a1_pool_proj"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a1_pool_proj_scale"
type: "Scale"
bottom: "inception_a1_pool_proj"
top: "inception_a1_pool_proj"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a1_pool_proj_relu"
type: "ReLU"
bottom: "inception_a1_pool_proj"
top: "inception_a1_pool_proj"
}
layer {
name: "inception_a1_output"
type: "Concat"
bottom: "inception_a1_1x1"
bottom: "inception_a1_5x5"
bottom: "inception_a1_3x3_2"
bottom: "inception_a1_pool_proj"
top: "inception_a1_output"
}
layer {
name: "inception_a2_1x1"
type: "Convolution"
bottom: "inception_a1_output"
top: "inception_a2_1x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a2_1x1_bn"
type: "BatchNorm"
bottom: "inception_a2_1x1"
top: "inception_a2_1x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a2_1x1_scale"
type: "Scale"
bottom: "inception_a2_1x1"
top: "inception_a2_1x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a2_1x1_relu"
type: "ReLU"
bottom: "inception_a2_1x1"
top: "inception_a2_1x1"
}
layer {
name: "inception_a2_5x5_reduce"
type: "Convolution"
bottom: "inception_a1_output"
top: "inception_a2_5x5_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 48
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a2_5x5_reduce_bn"
type: "BatchNorm"
bottom: "inception_a2_5x5_reduce"
top: "inception_a2_5x5_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a2_5x5_reduce_scale"
type: "Scale"
bottom: "inception_a2_5x5_reduce"
top: "inception_a2_5x5_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a2_5x5_reduce_relu"
type: "ReLU"
bottom: "inception_a2_5x5_reduce"
top: "inception_a2_5x5_reduce"
}
layer {
name: "inception_a2_5x5"
type: "Convolution"
bottom: "inception_a2_5x5_reduce"
top: "inception_a2_5x5"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a2_5x5_bn"
type: "BatchNorm"
bottom: "inception_a2_5x5"
top: "inception_a2_5x5"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a2_5x5_scale"
type: "Scale"
bottom: "inception_a2_5x5"
top: "inception_a2_5x5"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a2_5x5_relu"
type: "ReLU"
bottom: "inception_a2_5x5"
top: "inception_a2_5x5"
}
layer {
name: "inception_a2_3x3_reduce"
type: "Convolution"
bottom: "inception_a1_output"
top: "inception_a2_3x3_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a2_3x3_reduce_bn"
type: "BatchNorm"
bottom: "inception_a2_3x3_reduce"
top: "inception_a2_3x3_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a2_3x3_reduce_scale"
type: "Scale"
bottom: "inception_a2_3x3_reduce"
top: "inception_a2_3x3_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a2_3x3_reduce_relu"
type: "ReLU"
bottom: "inception_a2_3x3_reduce"
top: "inception_a2_3x3_reduce"
}
layer {
name: "inception_a2_3x3_1"
type: "Convolution"
bottom: "inception_a2_3x3_reduce"
top: "inception_a2_3x3_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 96
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a2_3x3_bn"
type: "BatchNorm"
bottom: "inception_a2_3x3_1"
top: "inception_a2_3x3_1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a2_3x3_scale"
type: "Scale"
bottom: "inception_a2_3x3_1"
top: "inception_a2_3x3_1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a2_3x3_relu"
type: "ReLU"
bottom: "inception_a2_3x3_1"
top: "inception_a2_3x3_1"
}
layer {
name: "inception_a2_3x3_2"
type: "Convolution"
bottom: "inception_a2_3x3_1"
top: "inception_a2_3x3_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 96
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a2_3x3_2_bn"
type: "BatchNorm"
bottom: "inception_a2_3x3_2"
top: "inception_a2_3x3_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a2_3x3_2_scale"
type: "Scale"
bottom: "inception_a2_3x3_2"
top: "inception_a2_3x3_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a2_3x3_2_relu"
type: "ReLU"
bottom: "inception_a2_3x3_2"
top: "inception_a2_3x3_2"
}
layer {
name: "inception_a2_pool"
type: "Pooling"
bottom: "inception_a1_output"
top: "inception_a2_pool"
pooling_param {
pool: AVE
kernel_size: 3
stride: 1
pad: 1
}
}
layer {
name: "inception_a2_pool_proj"
type: "Convolution"
bottom: "inception_a2_pool"
top: "inception_a2_pool_proj"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a2_pool_proj_bn"
type: "BatchNorm"
bottom: "inception_a2_pool_proj"
top: "inception_a2_pool_proj"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a2_pool_proj_scale"
type: "Scale"
bottom: "inception_a2_pool_proj"
top: "inception_a2_pool_proj"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a2_pool_proj_relu"
type: "ReLU"
bottom: "inception_a2_pool_proj"
top: "inception_a2_pool_proj"
}
layer {
name: "inception_a2_output"
type: "Concat"
bottom: "inception_a2_1x1"
bottom: "inception_a2_5x5"
bottom: "inception_a2_3x3_2"
bottom: "inception_a2_pool_proj"
top: "inception_a2_output"
}
layer {
name: "inception_a3_1x1"
type: "Convolution"
bottom: "inception_a2_output"
top: "inception_a3_1x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a3_1x1_bn"
type: "BatchNorm"
bottom: "inception_a3_1x1"
top: "inception_a3_1x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a3_1x1_scale"
type: "Scale"
bottom: "inception_a3_1x1"
top: "inception_a3_1x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a3_1x1_relu"
type: "ReLU"
bottom: "inception_a3_1x1"
top: "inception_a3_1x1"
}
layer {
name: "inception_a3_5x5_reduce"
type: "Convolution"
bottom: "inception_a2_output"
top: "inception_a3_5x5_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 48
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a3_5x5_reduce_bn"
type: "BatchNorm"
bottom: "inception_a3_5x5_reduce"
top: "inception_a3_5x5_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a3_5x5_reduce_scale"
type: "Scale"
bottom: "inception_a3_5x5_reduce"
top: "inception_a3_5x5_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a3_5x5_reduce_relu"
type: "ReLU"
bottom: "inception_a3_5x5_reduce"
top: "inception_a3_5x5_reduce"
}
layer {
name: "inception_a3_5x5"
type: "Convolution"
bottom: "inception_a3_5x5_reduce"
top: "inception_a3_5x5"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 2
kernel_size: 5
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a3_5x5_bn"
type: "BatchNorm"
bottom: "inception_a3_5x5"
top: "inception_a3_5x5"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a3_5x5_scale"
type: "Scale"
bottom: "inception_a3_5x5"
top: "inception_a3_5x5"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a3_5x5_relu"
type: "ReLU"
bottom: "inception_a3_5x5"
top: "inception_a3_5x5"
}
layer {
name: "inception_a3_3x3_reduce"
type: "Convolution"
bottom: "inception_a2_output"
top: "inception_a3_3x3_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a3_3x3_reduce_bn"
type: "BatchNorm"
bottom: "inception_a3_3x3_reduce"
top: "inception_a3_3x3_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a3_3x3_reduce_scale"
type: "Scale"
bottom: "inception_a3_3x3_reduce"
top: "inception_a3_3x3_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a3_3x3_reduce_relu"
type: "ReLU"
bottom: "inception_a3_3x3_reduce"
top: "inception_a3_3x3_reduce"
}
layer {
name: "inception_a3_3x3_1"
type: "Convolution"
bottom: "inception_a3_3x3_reduce"
top: "inception_a3_3x3_1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 96
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a3_3x3_bn"
type: "BatchNorm"
bottom: "inception_a3_3x3_1"
top: "inception_a3_3x3_1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a3_3x3_scale"
type: "Scale"
bottom: "inception_a3_3x3_1"
top: "inception_a3_3x3_1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a3_3x3_relu"
type: "ReLU"
bottom: "inception_a3_3x3_1"
top: "inception_a3_3x3_1"
}
layer {
name: "inception_a3_3x3_2"
type: "Convolution"
bottom: "inception_a3_3x3_1"
top: "inception_a3_3x3_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 96
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a3_3x3_2_bn"
type: "BatchNorm"
bottom: "inception_a3_3x3_2"
top: "inception_a3_3x3_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a3_3x3_2_scale"
type: "Scale"
bottom: "inception_a3_3x3_2"
top: "inception_a3_3x3_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a3_3x3_2_relu"
type: "ReLU"
bottom: "inception_a3_3x3_2"
top: "inception_a3_3x3_2"
}
layer {
name: "inception_a3_pool"
type: "Pooling"
bottom: "inception_a2_output"
top: "inception_a3_pool"
pooling_param {
pool: AVE
kernel_size: 3
stride: 1
pad: 1
}
}
layer {
name: "inception_a3_pool_proj"
type: "Convolution"
bottom: "inception_a3_pool"
top: "inception_a3_pool_proj"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_a3_pool_proj_bn"
type: "BatchNorm"
bottom: "inception_a3_pool_proj"
top: "inception_a3_pool_proj"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_a3_pool_proj_scale"
type: "Scale"
bottom: "inception_a3_pool_proj"
top: "inception_a3_pool_proj"
scale_param {
bias_term: true
}
}
layer {
name: "inception_a3_pool_proj_relu"
type: "ReLU"
bottom: "inception_a3_pool_proj"
top: "inception_a3_pool_proj"
}
layer {
name: "inception_a3_output"
type: "Concat"
bottom: "inception_a3_1x1"
bottom: "inception_a3_5x5"
bottom: "inception_a3_3x3_2"
bottom: "inception_a3_pool_proj"
top: "inception_a3_output"
}
layer {
name: "reduction_a_pool"
type: "Pooling"
bottom: "inception_a3_output"
top: "reduction_a_pool"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "reduction_a_3x3"
type: "Convolution"
bottom: "inception_a3_output"
top: "reduction_a_3x3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
pad: 0
kernel_size: 3
stride: 2
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "reduction_a_3x3_bn"
type: "BatchNorm"
bottom: "reduction_a_3x3"
top: "reduction_a_3x3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "reduction_a_3x3_scale"
type: "Scale"
bottom: "reduction_a_3x3"
top: "reduction_a_3x3"
scale_param {
bias_term: true
}
}
layer {
name: "reduction_a_3x3_relu"
type: "ReLU"
bottom: "reduction_a_3x3"
top: "reduction_a_3x3"
}
layer {
name: "reduction_a_3x3_2_reduce"
type: "Convolution"
bottom: "inception_a3_output"
top: "reduction_a_3x3_2_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 64
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "reduction_a_3x3_2_reduce_bn"
type: "BatchNorm"
bottom: "reduction_a_3x3_2_reduce"
top: "reduction_a_3x3_2_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "reduction_a_3x3_2_reduce_scale"
type: "Scale"
bottom: "reduction_a_3x3_2_reduce"
top: "reduction_a_3x3_2_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "reduction_a_3x3_2_reduce_relu"
type: "ReLU"
bottom: "reduction_a_3x3_2_reduce"
top: "reduction_a_3x3_2_reduce"
}
layer {
name: "reduction_a_3x3_2"
type: "Convolution"
bottom: "reduction_a_3x3_2_reduce"
top: "reduction_a_3x3_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 96
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "reduction_a_3x3_2_bn"
type: "BatchNorm"
bottom: "reduction_a_3x3_2"
top: "reduction_a_3x3_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "reduction_a_3x3_2_scale"
type: "Scale"
bottom: "reduction_a_3x3_2"
top: "reduction_a_3x3_2"
scale_param {
bias_term: true
}
}
layer {
name: "reduction_a_3x3_2_relu"
type: "ReLU"
bottom: "reduction_a_3x3_2"
top: "reduction_a_3x3_2"
}
layer {
name: "reduction_a_3x3_3"
type: "Convolution"
bottom: "reduction_a_3x3_2"
top: "reduction_a_3x3_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 96
pad: 0
kernel_size: 3
stride: 2
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "reduction_a_3x3_3_bn"
type: "BatchNorm"
bottom: "reduction_a_3x3_3"
top: "reduction_a_3x3_3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "reduction_a_3x3_3_scale"
type: "Scale"
bottom: "reduction_a_3x3_3"
top: "reduction_a_3x3_3"
scale_param {
bias_term: true
}
}
layer {
name: "reduction_a_3x3_3_relu"
type: "ReLU"
bottom: "reduction_a_3x3_3"
top: "reduction_a_3x3_3"
}
layer {
name: "reduction_a_concat"
type: "Concat"
bottom: "reduction_a_pool"
bottom: "reduction_a_3x3"
bottom: "reduction_a_3x3_3"
top: "reduction_a_concat"
}
layer {
name: "inception_b1_pool_ave"
type: "Pooling"
bottom: "reduction_a_concat"
top: "inception_b1_pool_ave"
pooling_param {
pool: AVE
kernel_size: 3
stride: 1
pad: 1
}
}
layer {
name: "inception_b1_1x1"
type: "Convolution"
bottom: "inception_b1_pool_ave"
top: "inception_b1_1x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b1_1x1_bn"
type: "BatchNorm"
bottom: "inception_b1_1x1"
top: "inception_b1_1x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b1_1x1_scale"
type: "Scale"
bottom: "inception_b1_1x1"
top: "inception_b1_1x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b1_1x1_relu"
type: "ReLU"
bottom: "inception_b1_1x1"
top: "inception_b1_1x1"
}
layer {
name: "inception_b1_1x1_2"
type: "Convolution"
bottom: "reduction_a_concat"
top: "inception_b1_1x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b1_1x1_2_bn"
type: "BatchNorm"
bottom: "inception_b1_1x1_2"
top: "inception_b1_1x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b1_1x1_2_scale"
type: "Scale"
bottom: "inception_b1_1x1_2"
top: "inception_b1_1x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b1_1x1_2_relu"
type: "ReLU"
bottom: "inception_b1_1x1_2"
top: "inception_b1_1x1_2"
}
layer {
name: "inception_b1_1x7_reduce"
type: "Convolution"
bottom: "reduction_a_concat"
top: "inception_b1_1x7_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b1_1x7_reduce_bn"
type: "BatchNorm"
bottom: "inception_b1_1x7_reduce"
top: "inception_b1_1x7_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b1_1x7_reduce_scale"
type: "Scale"
bottom: "inception_b1_1x7_reduce"
top: "inception_b1_1x7_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b1_1x7_reduce_relu"
type: "ReLU"
bottom: "inception_b1_1x7_reduce"
top: "inception_b1_1x7_reduce"
}
layer {
name: "inception_b1_1x7"
type: "Convolution"
bottom: "inception_b1_1x7_reduce"
top: "inception_b1_1x7"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b1_1x7_bn"
type: "BatchNorm"
bottom: "inception_b1_1x7"
top: "inception_b1_1x7"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b1_1x7_scale"
type: "Scale"
bottom: "inception_b1_1x7"
top: "inception_b1_1x7"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b1_1x7_relu"
type: "ReLU"
bottom: "inception_b1_1x7"
top: "inception_b1_1x7"
}
layer {
name: "inception_b1_7x1"
type: "Convolution"
bottom: "inception_b1_1x7"
top: "inception_b1_7x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b1_7x1_bn"
type: "BatchNorm"
bottom: "inception_b1_7x1"
top: "inception_b1_7x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b1_7x1_scale"
type: "Scale"
bottom: "inception_b1_7x1"
top: "inception_b1_7x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b1_7x1_relu"
type: "ReLU"
bottom: "inception_b1_7x1"
top: "inception_b1_7x1"
}
layer {
name: "inception_b1_7x1_reduce"
type: "Convolution"
bottom: "reduction_a_concat"
top: "inception_b1_7x1_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b1_7x1_reduce_bn"
type: "BatchNorm"
bottom: "inception_b1_7x1_reduce"
top: "inception_b1_7x1_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b1_7x1_reduce_scale"
type: "Scale"
bottom: "inception_b1_7x1_reduce"
top: "inception_b1_7x1_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b1_7x1_reduce_relu"
type: "ReLU"
bottom: "inception_b1_7x1_reduce"
top: "inception_b1_7x1_reduce"
}
layer {
name: "inception_b1_7x1_2"
type: "Convolution"
bottom: "inception_b1_7x1_reduce"
top: "inception_b1_7x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b1_7x1_2_bn"
type: "BatchNorm"
bottom: "inception_b1_7x1_2"
top: "inception_b1_7x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b1_7x1_2_scale"
type: "Scale"
bottom: "inception_b1_7x1_2"
top: "inception_b1_7x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b1_7x1_2_relu"
type: "ReLU"
bottom: "inception_b1_7x1_2"
top: "inception_b1_7x1_2"
}
layer {
name: "inception_b1_1x7_2"
type: "Convolution"
bottom: "inception_b1_7x1_2"
top: "inception_b1_1x7_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b1_1x7_2_bn"
type: "BatchNorm"
bottom: "inception_b1_1x7_2"
top: "inception_b1_1x7_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b1_1x7_2_scale"
type: "Scale"
bottom: "inception_b1_1x7_2"
top: "inception_b1_1x7_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b1_1x7_2_relu"
type: "ReLU"
bottom: "inception_b1_1x7_2"
top: "inception_b1_1x7_2"
}
layer {
name: "inception_b1_7x1_3"
type: "Convolution"
bottom: "inception_b1_1x7_2"
top: "inception_b1_7x1_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b1_7x1_3_bn"
type: "BatchNorm"
bottom: "inception_b1_7x1_3"
top: "inception_b1_7x1_3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b1_7x1_3_scale"
type: "Scale"
bottom: "inception_b1_7x1_3"
top: "inception_b1_7x1_3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b1_7x1_3_relu"
type: "ReLU"
bottom: "inception_b1_7x1_3"
top: "inception_b1_7x1_3"
}
layer {
name: "inception_b1_1x7_3"
type: "Convolution"
bottom: "inception_b1_7x1_3"
top: "inception_b1_1x7_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b1_1x7_3_bn"
type: "BatchNorm"
bottom: "inception_b1_1x7_3"
top: "inception_b1_1x7_3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b1_1x7_3_scale"
type: "Scale"
bottom: "inception_b1_1x7_3"
top: "inception_b1_1x7_3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b1_1x7_3_relu"
type: "ReLU"
bottom: "inception_b1_1x7_3"
top: "inception_b1_1x7_3"
}
layer {
name: "inception_b1_concat"
type: "Concat"
bottom: "inception_b1_1x1"
bottom: "inception_b1_1x1_2"
bottom: "inception_b1_7x1"
bottom: "inception_b1_1x7_3"
top: "inception_b1_concat"
}
layer {
name: "inception_b2_pool_ave"
type: "Pooling"
bottom: "inception_b1_concat"
top: "inception_b2_pool_ave"
pooling_param {
pool: AVE
kernel_size: 3
stride: 1
pad: 1
}
}
layer {
name: "inception_b2_1x1"
type: "Convolution"
bottom: "inception_b2_pool_ave"
top: "inception_b2_1x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b2_1x1_bn"
type: "BatchNorm"
bottom: "inception_b2_1x1"
top: "inception_b2_1x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b2_1x1_scale"
type: "Scale"
bottom: "inception_b2_1x1"
top: "inception_b2_1x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b2_1x1_relu"
type: "ReLU"
bottom: "inception_b2_1x1"
top: "inception_b2_1x1"
}
layer {
name: "inception_b2_1x1_2"
type: "Convolution"
bottom: "inception_b1_concat"
top: "inception_b2_1x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b2_1x1_2_bn"
type: "BatchNorm"
bottom: "inception_b2_1x1_2"
top: "inception_b2_1x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b2_1x1_2_scale"
type: "Scale"
bottom: "inception_b2_1x1_2"
top: "inception_b2_1x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b2_1x1_2_relu"
type: "ReLU"
bottom: "inception_b2_1x1_2"
top: "inception_b2_1x1_2"
}
layer {
name: "inception_b2_1x7_reduce"
type: "Convolution"
bottom: "inception_b1_concat"
top: "inception_b2_1x7_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b2_1x7_reduce_bn"
type: "BatchNorm"
bottom: "inception_b2_1x7_reduce"
top: "inception_b2_1x7_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b2_1x7_reduce_scale"
type: "Scale"
bottom: "inception_b2_1x7_reduce"
top: "inception_b2_1x7_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b2_1x7_reduce_relu"
type: "ReLU"
bottom: "inception_b2_1x7_reduce"
top: "inception_b2_1x7_reduce"
}
layer {
name: "inception_b2_1x7"
type: "Convolution"
bottom: "inception_b2_1x7_reduce"
top: "inception_b2_1x7"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b2_1x7_bn"
type: "BatchNorm"
bottom: "inception_b2_1x7"
top: "inception_b2_1x7"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b2_1x7_scale"
type: "Scale"
bottom: "inception_b2_1x7"
top: "inception_b2_1x7"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b2_1x7_relu"
type: "ReLU"
bottom: "inception_b2_1x7"
top: "inception_b2_1x7"
}
layer {
name: "inception_b2_7x1"
type: "Convolution"
bottom: "inception_b2_1x7"
top: "inception_b2_7x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b2_7x1_bn"
type: "BatchNorm"
bottom: "inception_b2_7x1"
top: "inception_b2_7x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b2_7x1_scale"
type: "Scale"
bottom: "inception_b2_7x1"
top: "inception_b2_7x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b2_7x1_relu"
type: "ReLU"
bottom: "inception_b2_7x1"
top: "inception_b2_7x1"
}
layer {
name: "inception_b2_7x1_reduce"
type: "Convolution"
bottom: "inception_b1_concat"
top: "inception_b2_7x1_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b2_7x1_reduce_bn"
type: "BatchNorm"
bottom: "inception_b2_7x1_reduce"
top: "inception_b2_7x1_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b2_7x1_reduce_scale"
type: "Scale"
bottom: "inception_b2_7x1_reduce"
top: "inception_b2_7x1_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b2_7x1_reduce_relu"
type: "ReLU"
bottom: "inception_b2_7x1_reduce"
top: "inception_b2_7x1_reduce"
}
layer {
name: "inception_b2_7x1_2"
type: "Convolution"
bottom: "inception_b2_7x1_reduce"
top: "inception_b2_7x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b2_7x1_2_bn"
type: "BatchNorm"
bottom: "inception_b2_7x1_2"
top: "inception_b2_7x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b2_7x1_2_scale"
type: "Scale"
bottom: "inception_b2_7x1_2"
top: "inception_b2_7x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b2_7x1_2_relu"
type: "ReLU"
bottom: "inception_b2_7x1_2"
top: "inception_b2_7x1_2"
}
layer {
name: "inception_b2_1x7_2"
type: "Convolution"
bottom: "inception_b2_7x1_2"
top: "inception_b2_1x7_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b2_1x7_2_bn"
type: "BatchNorm"
bottom: "inception_b2_1x7_2"
top: "inception_b2_1x7_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b2_1x7_2_scale"
type: "Scale"
bottom: "inception_b2_1x7_2"
top: "inception_b2_1x7_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b2_1x7_2_relu"
type: "ReLU"
bottom: "inception_b2_1x7_2"
top: "inception_b2_1x7_2"
}
layer {
name: "inception_b2_7x1_3"
type: "Convolution"
bottom: "inception_b2_1x7_2"
top: "inception_b2_7x1_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b2_7x1_3_bn"
type: "BatchNorm"
bottom: "inception_b2_7x1_3"
top: "inception_b2_7x1_3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b2_7x1_3_scale"
type: "Scale"
bottom: "inception_b2_7x1_3"
top: "inception_b2_7x1_3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b2_7x1_3_relu"
type: "ReLU"
bottom: "inception_b2_7x1_3"
top: "inception_b2_7x1_3"
}
layer {
name: "inception_b2_1x7_3"
type: "Convolution"
bottom: "inception_b2_7x1_3"
top: "inception_b2_1x7_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b2_1x7_3_bn"
type: "BatchNorm"
bottom: "inception_b2_1x7_3"
top: "inception_b2_1x7_3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b2_1x7_3_scale"
type: "Scale"
bottom: "inception_b2_1x7_3"
top: "inception_b2_1x7_3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b2_1x7_3_relu"
type: "ReLU"
bottom: "inception_b2_1x7_3"
top: "inception_b2_1x7_3"
}
layer {
name: "inception_b2_concat"
type: "Concat"
bottom: "inception_b2_1x1"
bottom: "inception_b2_1x1_2"
bottom: "inception_b2_7x1"
bottom: "inception_b2_1x7_3"
top: "inception_b2_concat"
}
layer {
name: "inception_b3_pool_ave"
type: "Pooling"
bottom: "inception_b2_concat"
top: "inception_b3_pool_ave"
pooling_param {
pool: AVE
kernel_size: 3
stride: 1
pad: 1
}
}
layer {
name: "inception_b3_1x1"
type: "Convolution"
bottom: "inception_b3_pool_ave"
top: "inception_b3_1x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b3_1x1_bn"
type: "BatchNorm"
bottom: "inception_b3_1x1"
top: "inception_b3_1x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b3_1x1_scale"
type: "Scale"
bottom: "inception_b3_1x1"
top: "inception_b3_1x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b3_1x1_relu"
type: "ReLU"
bottom: "inception_b3_1x1"
top: "inception_b3_1x1"
}
layer {
name: "inception_b3_1x1_2"
type: "Convolution"
bottom: "inception_b2_concat"
top: "inception_b3_1x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b3_1x1_2_bn"
type: "BatchNorm"
bottom: "inception_b3_1x1_2"
top: "inception_b3_1x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b3_1x1_2_scale"
type: "Scale"
bottom: "inception_b3_1x1_2"
top: "inception_b3_1x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b3_1x1_2_relu"
type: "ReLU"
bottom: "inception_b3_1x1_2"
top: "inception_b3_1x1_2"
}
layer {
name: "inception_b3_1x7_reduce"
type: "Convolution"
bottom: "inception_b2_concat"
top: "inception_b3_1x7_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b3_1x7_reduce_bn"
type: "BatchNorm"
bottom: "inception_b3_1x7_reduce"
top: "inception_b3_1x7_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b3_1x7_reduce_scale"
type: "Scale"
bottom: "inception_b3_1x7_reduce"
top: "inception_b3_1x7_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b3_1x7_reduce_relu"
type: "ReLU"
bottom: "inception_b3_1x7_reduce"
top: "inception_b3_1x7_reduce"
}
layer {
name: "inception_b3_1x7"
type: "Convolution"
bottom: "inception_b3_1x7_reduce"
top: "inception_b3_1x7"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b3_1x7_bn"
type: "BatchNorm"
bottom: "inception_b3_1x7"
top: "inception_b3_1x7"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b3_1x7_scale"
type: "Scale"
bottom: "inception_b3_1x7"
top: "inception_b3_1x7"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b3_1x7_relu"
type: "ReLU"
bottom: "inception_b3_1x7"
top: "inception_b3_1x7"
}
layer {
name: "inception_b3_7x1"
type: "Convolution"
bottom: "inception_b3_1x7"
top: "inception_b3_7x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b3_7x1_bn"
type: "BatchNorm"
bottom: "inception_b3_7x1"
top: "inception_b3_7x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b3_7x1_scale"
type: "Scale"
bottom: "inception_b3_7x1"
top: "inception_b3_7x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b3_7x1_relu"
type: "ReLU"
bottom: "inception_b3_7x1"
top: "inception_b3_7x1"
}
layer {
name: "inception_b3_7x1_reduce"
type: "Convolution"
bottom: "inception_b2_concat"
top: "inception_b3_7x1_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b3_7x1_reduce_bn"
type: "BatchNorm"
bottom: "inception_b3_7x1_reduce"
top: "inception_b3_7x1_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b3_7x1_reduce_scale"
type: "Scale"
bottom: "inception_b3_7x1_reduce"
top: "inception_b3_7x1_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b3_7x1_reduce_relu"
type: "ReLU"
bottom: "inception_b3_7x1_reduce"
top: "inception_b3_7x1_reduce"
}
layer {
name: "inception_b3_7x1_2"
type: "Convolution"
bottom: "inception_b3_7x1_reduce"
top: "inception_b3_7x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b3_7x1_2_bn"
type: "BatchNorm"
bottom: "inception_b3_7x1_2"
top: "inception_b3_7x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b3_7x1_2_scale"
type: "Scale"
bottom: "inception_b3_7x1_2"
top: "inception_b3_7x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b3_7x1_2_relu"
type: "ReLU"
bottom: "inception_b3_7x1_2"
top: "inception_b3_7x1_2"
}
layer {
name: "inception_b3_1x7_2"
type: "Convolution"
bottom: "inception_b3_7x1_2"
top: "inception_b3_1x7_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b3_1x7_2_bn"
type: "BatchNorm"
bottom: "inception_b3_1x7_2"
top: "inception_b3_1x7_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b3_1x7_2_scale"
type: "Scale"
bottom: "inception_b3_1x7_2"
top: "inception_b3_1x7_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b3_1x7_2_relu"
type: "ReLU"
bottom: "inception_b3_1x7_2"
top: "inception_b3_1x7_2"
}
layer {
name: "inception_b3_7x1_3"
type: "Convolution"
bottom: "inception_b3_1x7_2"
top: "inception_b3_7x1_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 160
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b3_7x1_3_bn"
type: "BatchNorm"
bottom: "inception_b3_7x1_3"
top: "inception_b3_7x1_3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b3_7x1_3_scale"
type: "Scale"
bottom: "inception_b3_7x1_3"
top: "inception_b3_7x1_3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b3_7x1_3_relu"
type: "ReLU"
bottom: "inception_b3_7x1_3"
top: "inception_b3_7x1_3"
}
layer {
name: "inception_b3_1x7_3"
type: "Convolution"
bottom: "inception_b3_7x1_3"
top: "inception_b3_1x7_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b3_1x7_3_bn"
type: "BatchNorm"
bottom: "inception_b3_1x7_3"
top: "inception_b3_1x7_3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b3_1x7_3_scale"
type: "Scale"
bottom: "inception_b3_1x7_3"
top: "inception_b3_1x7_3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b3_1x7_3_relu"
type: "ReLU"
bottom: "inception_b3_1x7_3"
top: "inception_b3_1x7_3"
}
layer {
name: "inception_b3_concat"
type: "Concat"
bottom: "inception_b3_1x1"
bottom: "inception_b3_1x1_2"
bottom: "inception_b3_7x1"
bottom: "inception_b3_1x7_3"
top: "inception_b3_concat"
}
layer {
name: "inception_b4_pool_ave"
type: "Pooling"
bottom: "inception_b3_concat"
top: "inception_b4_pool_ave"
pooling_param {
pool: AVE
kernel_size: 3
stride: 1
pad: 1
}
}
layer {
name: "inception_b4_1x1"
type: "Convolution"
bottom: "inception_b4_pool_ave"
top: "inception_b4_1x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b4_1x1_bn"
type: "BatchNorm"
bottom: "inception_b4_1x1"
top: "inception_b4_1x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b4_1x1_scale"
type: "Scale"
bottom: "inception_b4_1x1"
top: "inception_b4_1x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b4_1x1_relu"
type: "ReLU"
bottom: "inception_b4_1x1"
top: "inception_b4_1x1"
}
layer {
name: "inception_b4_1x1_2"
type: "Convolution"
bottom: "inception_b3_concat"
top: "inception_b4_1x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b4_1x1_2_bn"
type: "BatchNorm"
bottom: "inception_b4_1x1_2"
top: "inception_b4_1x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b4_1x1_2_scale"
type: "Scale"
bottom: "inception_b4_1x1_2"
top: "inception_b4_1x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b4_1x1_2_relu"
type: "ReLU"
bottom: "inception_b4_1x1_2"
top: "inception_b4_1x1_2"
}
layer {
name: "inception_b4_1x7_reduce"
type: "Convolution"
bottom: "inception_b3_concat"
top: "inception_b4_1x7_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b4_1x7_reduce_bn"
type: "BatchNorm"
bottom: "inception_b4_1x7_reduce"
top: "inception_b4_1x7_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b4_1x7_reduce_scale"
type: "Scale"
bottom: "inception_b4_1x7_reduce"
top: "inception_b4_1x7_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b4_1x7_reduce_relu"
type: "ReLU"
bottom: "inception_b4_1x7_reduce"
top: "inception_b4_1x7_reduce"
}
layer {
name: "inception_b4_1x7"
type: "Convolution"
bottom: "inception_b4_1x7_reduce"
top: "inception_b4_1x7"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b4_1x7_bn"
type: "BatchNorm"
bottom: "inception_b4_1x7"
top: "inception_b4_1x7"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b4_1x7_scale"
type: "Scale"
bottom: "inception_b4_1x7"
top: "inception_b4_1x7"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b4_1x7_relu"
type: "ReLU"
bottom: "inception_b4_1x7"
top: "inception_b4_1x7"
}
layer {
name: "inception_b4_7x1"
type: "Convolution"
bottom: "inception_b4_1x7"
top: "inception_b4_7x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b4_7x1_bn"
type: "BatchNorm"
bottom: "inception_b4_7x1"
top: "inception_b4_7x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b4_7x1_scale"
type: "Scale"
bottom: "inception_b4_7x1"
top: "inception_b4_7x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b4_7x1_relu"
type: "ReLU"
bottom: "inception_b4_7x1"
top: "inception_b4_7x1"
}
layer {
name: "inception_b4_7x1_reduce"
type: "Convolution"
bottom: "inception_b3_concat"
top: "inception_b4_7x1_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_b4_7x1_reduce_bn"
type: "BatchNorm"
bottom: "inception_b4_7x1_reduce"
top: "inception_b4_7x1_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b4_7x1_reduce_scale"
type: "Scale"
bottom: "inception_b4_7x1_reduce"
top: "inception_b4_7x1_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b4_7x1_reduce_relu"
type: "ReLU"
bottom: "inception_b4_7x1_reduce"
top: "inception_b4_7x1_reduce"
}
layer {
name: "inception_b4_7x1_2"
type: "Convolution"
bottom: "inception_b4_7x1_reduce"
top: "inception_b4_7x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b4_7x1_2_bn"
type: "BatchNorm"
bottom: "inception_b4_7x1_2"
top: "inception_b4_7x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b4_7x1_2_scale"
type: "Scale"
bottom: "inception_b4_7x1_2"
top: "inception_b4_7x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b4_7x1_2_relu"
type: "ReLU"
bottom: "inception_b4_7x1_2"
top: "inception_b4_7x1_2"
}
layer {
name: "inception_b4_1x7_2"
type: "Convolution"
bottom: "inception_b4_7x1_2"
top: "inception_b4_1x7_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b4_1x7_2_bn"
type: "BatchNorm"
bottom: "inception_b4_1x7_2"
top: "inception_b4_1x7_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b4_1x7_2_scale"
type: "Scale"
bottom: "inception_b4_1x7_2"
top: "inception_b4_1x7_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b4_1x7_2_relu"
type: "ReLU"
bottom: "inception_b4_1x7_2"
top: "inception_b4_1x7_2"
}
layer {
name: "inception_b4_7x1_3"
type: "Convolution"
bottom: "inception_b4_1x7_2"
top: "inception_b4_7x1_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "inception_b4_7x1_3_bn"
type: "BatchNorm"
bottom: "inception_b4_7x1_3"
top: "inception_b4_7x1_3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b4_7x1_3_scale"
type: "Scale"
bottom: "inception_b4_7x1_3"
top: "inception_b4_7x1_3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b4_7x1_3_relu"
type: "ReLU"
bottom: "inception_b4_7x1_3"
top: "inception_b4_7x1_3"
}
layer {
name: "inception_b4_1x7_3"
type: "Convolution"
bottom: "inception_b4_7x1_3"
top: "inception_b4_1x7_3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "inception_b4_1x7_3_bn"
type: "BatchNorm"
bottom: "inception_b4_1x7_3"
top: "inception_b4_1x7_3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_b4_1x7_3_scale"
type: "Scale"
bottom: "inception_b4_1x7_3"
top: "inception_b4_1x7_3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_b4_1x7_3_relu"
type: "ReLU"
bottom: "inception_b4_1x7_3"
top: "inception_b4_1x7_3"
}
layer {
name: "inception_b4_concat"
type: "Concat"
bottom: "inception_b4_1x1"
bottom: "inception_b4_1x1_2"
bottom: "inception_b4_7x1"
bottom: "inception_b4_1x7_3"
top: "inception_b4_concat"
}
layer {
name: "auxiliary_loss_ave_pool"
type: "Pooling"
bottom: "inception_b4_concat"
top: "auxiliary_loss_ave_pool"
pooling_param {
pool: AVE
kernel_size: 5
stride: 3
}
}
layer {
name: "auxiliary_loss_conv"
type: "Convolution"
bottom: "auxiliary_loss_ave_pool"
top: "auxiliary_loss_conv"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 128
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "auxiliary_loss_conv_bn"
type: "BatchNorm"
bottom: "auxiliary_loss_conv"
top: "auxiliary_loss_conv"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "auxiliary_loss_conv_scale"
type: "Scale"
bottom: "auxiliary_loss_conv"
top: "auxiliary_loss_conv"
scale_param {
bias_term: true
}
}
layer {
name: "auxiliary_loss_relu_conv"
type: "ReLU"
bottom: "auxiliary_loss_conv"
top: "auxiliary_loss_conv"
}
layer {
name: "auxiliary_loss_fc"
type: "InnerProduct"
bottom: "auxiliary_loss_conv"
top: "auxiliary_loss_fc"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 768
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "auxiliary_loss_fc_relu"
type: "ReLU"
bottom: "auxiliary_loss_fc"
top: "auxiliary_loss_fc"
}
layer {
name: "auxiliary_loss_classifier"
type: "InnerProduct"
bottom: "auxiliary_loss_fc"
top: "auxiliary_loss_classifier"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 101
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "auxiliary_loss"
type: "SoftmaxWithLoss"
bottom: "auxiliary_loss_classifier"
bottom: "label"
top: "auxiliary_loss"
loss_weight: 0.4
}
layer {
name: "reduction_b_pool"
type: "Pooling"
bottom: "inception_b4_concat"
top: "reduction_b_pool"
pooling_param {
pool: MAX
kernel_size: 3
stride: 2
}
}
layer {
name: "reduction_b_3x3_reduce"
type: "Convolution"
bottom: "inception_b4_concat"
top: "reduction_b_3x3_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "reduction_b_3x3_reduce_bn"
type: "BatchNorm"
bottom: "reduction_b_3x3_reduce"
top: "reduction_b_3x3_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "reduction_b_3x3_reduce_scale"
type: "Scale"
bottom: "reduction_b_3x3_reduce"
top: "reduction_b_3x3_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "reduction_b_3x3_reduce_relu"
type: "ReLU"
bottom: "reduction_b_3x3_reduce"
top: "reduction_b_3x3_reduce"
}
layer {
name: "reduction_b_3x3"
type: "Convolution"
bottom: "reduction_b_3x3_reduce"
top: "reduction_b_3x3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 320
pad: 0
kernel_size: 3
stride: 2
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "reduction_b_3x3_bn"
type: "BatchNorm"
bottom: "reduction_b_3x3"
top: "reduction_b_3x3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "reduction_b_3x3_scale"
type: "Scale"
bottom: "reduction_b_3x3"
top: "reduction_b_3x3"
scale_param {
bias_term: true
}
}
layer {
name: "reduction_b_3x3_relu"
type: "ReLU"
bottom: "reduction_b_3x3"
top: "reduction_b_3x3"
}
layer {
name: "reduction_b_1x7_reduce"
type: "Convolution"
bottom: "inception_b4_concat"
top: "reduction_b_1x7_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "reduction_b_1x7_reduce_bn"
type: "BatchNorm"
bottom: "reduction_b_1x7_reduce"
top: "reduction_b_1x7_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "reduction_b_1x7_reduce_scale"
type: "Scale"
bottom: "reduction_b_1x7_reduce"
top: "reduction_b_1x7_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "reduction_b_1x7_reduce_relu"
type: "ReLU"
bottom: "reduction_b_1x7_reduce"
top: "reduction_b_1x7_reduce"
}
layer {
name: "reduction_b_1x7"
type: "Convolution"
bottom: "reduction_b_1x7_reduce"
top: "reduction_b_1x7"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 3
kernel_h: 1
kernel_w: 7
}
}
layer {
name: "reduction_b_1x7_bn"
type: "BatchNorm"
bottom: "reduction_b_1x7"
top: "reduction_b_1x7"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "reduction_b_1x7_scale"
type: "Scale"
bottom: "reduction_b_1x7"
top: "reduction_b_1x7"
scale_param {
bias_term: true
}
}
layer {
name: "reduction_b_1x7_relu"
type: "ReLU"
bottom: "reduction_b_1x7"
top: "reduction_b_1x7"
}
layer {
name: "reduction_b_7x1"
type: "Convolution"
bottom: "reduction_b_1x7"
top: "reduction_b_7x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 3
pad_w: 0
kernel_h: 7
kernel_w: 1
}
}
layer {
name: "reduction_b_7x1_bn"
type: "BatchNorm"
bottom: "reduction_b_7x1"
top: "reduction_b_7x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "reduction_b_7x1_scale"
type: "Scale"
bottom: "reduction_b_7x1"
top: "reduction_b_7x1"
scale_param {
bias_term: true
}
}
layer {
name: "reduction_b_7x1_relu"
type: "ReLU"
bottom: "reduction_b_7x1"
top: "reduction_b_7x1"
}
layer {
name: "reduction_b_3x3_2"
type: "Convolution"
bottom: "reduction_b_7x1"
top: "reduction_b_3x3_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 3
stride: 2
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "reduction_b_3x3_2_bn"
type: "BatchNorm"
bottom: "reduction_b_3x3_2"
top: "reduction_b_3x3_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "reduction_b_3x3_2_scale"
type: "Scale"
bottom: "reduction_b_3x3_2"
top: "reduction_b_3x3_2"
scale_param {
bias_term: true
}
}
layer {
name: "reduction_b_3x3_2_relu"
type: "ReLU"
bottom: "reduction_b_3x3_2"
top: "reduction_b_3x3_2"
}
layer {
name: "reduction_b_concat"
type: "Concat"
bottom: "reduction_b_pool"
bottom: "reduction_b_3x3"
bottom: "reduction_b_3x3_2"
top: "reduction_b_concat"
}
layer {
name: "inception_c1_pool"
type: "Pooling"
bottom: "reduction_b_concat"
top: "inception_c1_pool"
pooling_param {
pool: AVE
kernel_size: 3
stride: 1
pad: 1
}
}
layer {
name: "inception_c1_1x1"
type: "Convolution"
bottom: "inception_c1_pool"
top: "inception_c1_1x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_c1_1x1_bn"
type: "BatchNorm"
bottom: "inception_c1_1x1"
top: "inception_c1_1x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c1_1x1_scale"
type: "Scale"
bottom: "inception_c1_1x1"
top: "inception_c1_1x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c1_1x1_relu"
type: "ReLU"
bottom: "inception_c1_1x1"
top: "inception_c1_1x1"
}
layer {
name: "inception_c1_1x1_2"
type: "Convolution"
bottom: "reduction_b_concat"
top: "inception_c1_1x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 320
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_c1_1x1_2_bn"
type: "BatchNorm"
bottom: "inception_c1_1x1_2"
top: "inception_c1_1x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c1_1x1_2_scale"
type: "Scale"
bottom: "inception_c1_1x1_2"
top: "inception_c1_1x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c1_1x1_2_relu"
type: "ReLU"
bottom: "inception_c1_1x1_2"
top: "inception_c1_1x1_2"
}
layer {
name: "inception_c1_1x3_reduce"
type: "Convolution"
bottom: "reduction_b_concat"
top: "inception_c1_1x3_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_c1_1x3_reduce_bn"
type: "BatchNorm"
bottom: "inception_c1_1x3_reduce"
top: "inception_c1_1x3_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c1_1x3_reduce_scale"
type: "Scale"
bottom: "inception_c1_1x3_reduce"
top: "inception_c1_1x3_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c1_1x3_reduce_relu"
type: "ReLU"
bottom: "inception_c1_1x3_reduce"
top: "inception_c1_1x3_reduce"
}
layer {
name: "inception_c1_1x3"
type: "Convolution"
bottom: "inception_c1_1x3_reduce"
top: "inception_c1_1x3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 1
kernel_h: 1
kernel_w: 3
}
}
layer {
name: "inception_c1_1x3_bn"
type: "BatchNorm"
bottom: "inception_c1_1x3"
top: "inception_c1_1x3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c1_1x3_scale"
type: "Scale"
bottom: "inception_c1_1x3"
top: "inception_c1_1x3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c1_1x3_relu"
type: "ReLU"
bottom: "inception_c1_1x3"
top: "inception_c1_1x3"
}
layer {
name: "inception_c1_3x1"
type: "Convolution"
bottom: "inception_c1_1x3"
top: "inception_c1_3x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 1
pad_w: 0
kernel_h: 3
kernel_w: 1
}
}
layer {
name: "inception_c1_3x1_bn"
type: "BatchNorm"
bottom: "inception_c1_3x1"
top: "inception_c1_3x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c1_3x1_scale"
type: "Scale"
bottom: "inception_c1_3x1"
top: "inception_c1_3x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c1_3x1_relu"
type: "ReLU"
bottom: "inception_c1_3x1"
top: "inception_c1_3x1"
}
layer {
name: "inception_c1_3x3_reduce"
type: "Convolution"
bottom: "reduction_b_concat"
top: "inception_c1_3x3_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 448
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_c1_3x3_reduce_bn"
type: "BatchNorm"
bottom: "inception_c1_3x3_reduce"
top: "inception_c1_3x3_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c1_3x3_reduce_scale"
type: "Scale"
bottom: "inception_c1_3x3_reduce"
top: "inception_c1_3x3_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c1_3x3_reduce_relu"
type: "ReLU"
bottom: "inception_c1_3x3_reduce"
top: "inception_c1_3x3_reduce"
}
layer {
name: "inception_c1_3x3"
type: "Convolution"
bottom: "inception_c1_3x3_reduce"
top: "inception_c1_3x3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_c1_3x3_bn"
type: "BatchNorm"
bottom: "inception_c1_3x3"
top: "inception_c1_3x3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c1_3x3_scale"
type: "Scale"
bottom: "inception_c1_3x3"
top: "inception_c1_3x3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c1_3x3_relu"
type: "ReLU"
bottom: "inception_c1_3x3"
top: "inception_c1_3x3"
}
layer {
name: "inception_c1_1x3_2"
type: "Convolution"
bottom: "inception_c1_3x3"
top: "inception_c1_1x3_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 1
kernel_h: 1
kernel_w: 3
}
}
layer {
name: "inception_c1_1x3_2_bn"
type: "BatchNorm"
bottom: "inception_c1_1x3_2"
top: "inception_c1_1x3_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c1_1x3_2_scale"
type: "Scale"
bottom: "inception_c1_1x3_2"
top: "inception_c1_1x3_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c1_1x3_2_relu"
type: "ReLU"
bottom: "inception_c1_1x3_2"
top: "inception_c1_1x3_2"
}
layer {
name: "inception_c1_3x1_2"
type: "Convolution"
bottom: "inception_c1_1x3_2"
top: "inception_c1_3x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 1
pad_w: 0
kernel_h: 3
kernel_w: 1
}
}
layer {
name: "inception_c1_3x1_2_bn"
type: "BatchNorm"
bottom: "inception_c1_3x1_2"
top: "inception_c1_3x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c1_3x1_2_scale"
type: "Scale"
bottom: "inception_c1_3x1_2"
top: "inception_c1_3x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c1_3x1_2_relu"
type: "ReLU"
bottom: "inception_c1_3x1_2"
top: "inception_c1_3x1_2"
}
layer {
name: "inception_c1_concat"
type: "Concat"
bottom: "inception_c1_1x1"
bottom: "inception_c1_1x1_2"
bottom: "inception_c1_3x1"
bottom: "inception_c1_3x1_2"
top: "inception_c1_concat"
}
layer {
name: "inception_c2_pool"
type: "Pooling"
bottom: "inception_c1_concat"
top: "inception_c2_pool"
pooling_param {
pool: MAX
kernel_size: 3
stride: 1
pad: 1
}
}
layer {
name: "inception_c2_1x1"
type: "Convolution"
bottom: "inception_c2_pool"
top: "inception_c2_1x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 192
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_c2_1x1_bn"
type: "BatchNorm"
bottom: "inception_c2_1x1"
top: "inception_c2_1x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c2_1x1_scale"
type: "Scale"
bottom: "inception_c2_1x1"
top: "inception_c2_1x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c2_1x1_relu"
type: "ReLU"
bottom: "inception_c2_1x1"
top: "inception_c2_1x1"
}
layer {
name: "inception_c2_1x1_2"
type: "Convolution"
bottom: "inception_c1_concat"
top: "inception_c2_1x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 320
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_c2_1x1_2_bn"
type: "BatchNorm"
bottom: "inception_c2_1x1_2"
top: "inception_c2_1x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c2_1x1_2_scale"
type: "Scale"
bottom: "inception_c2_1x1_2"
top: "inception_c2_1x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c2_1x1_2_relu"
type: "ReLU"
bottom: "inception_c2_1x1_2"
top: "inception_c2_1x1_2"
}
layer {
name: "inception_c2_1x3_reduce"
type: "Convolution"
bottom: "inception_c1_concat"
top: "inception_c2_1x3_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_c2_1x3_reduce_bn"
type: "BatchNorm"
bottom: "inception_c2_1x3_reduce"
top: "inception_c2_1x3_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c2_1x3_reduce_scale"
type: "Scale"
bottom: "inception_c2_1x3_reduce"
top: "inception_c2_1x3_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c2_1x3_reduce_relu"
type: "ReLU"
bottom: "inception_c2_1x3_reduce"
top: "inception_c2_1x3_reduce"
}
layer {
name: "inception_c2_1x3"
type: "Convolution"
bottom: "inception_c2_1x3_reduce"
top: "inception_c2_1x3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 1
kernel_h: 1
kernel_w: 3
}
}
layer {
name: "inception_c2_1x3_bn"
type: "BatchNorm"
bottom: "inception_c2_1x3"
top: "inception_c2_1x3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c2_1x3_scale"
type: "Scale"
bottom: "inception_c2_1x3"
top: "inception_c2_1x3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c2_1x3_relu"
type: "ReLU"
bottom: "inception_c2_1x3"
top: "inception_c2_1x3"
}
layer {
name: "inception_c2_3x1"
type: "Convolution"
bottom: "inception_c2_1x3"
top: "inception_c2_3x1"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 1
pad_w: 0
kernel_h: 3
kernel_w: 1
}
}
layer {
name: "inception_c2_3x1_bn"
type: "BatchNorm"
bottom: "inception_c2_3x1"
top: "inception_c2_3x1"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c2_3x1_scale"
type: "Scale"
bottom: "inception_c2_3x1"
top: "inception_c2_3x1"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c2_3x1_relu"
type: "ReLU"
bottom: "inception_c2_3x1"
top: "inception_c2_3x1"
}
layer {
name: "inception_c2_3x3_reduce"
type: "Convolution"
bottom: "inception_c1_concat"
top: "inception_c2_3x3_reduce"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 448
pad: 0
kernel_size: 1
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_c2_3x3_reduce_bn"
type: "BatchNorm"
bottom: "inception_c2_3x3_reduce"
top: "inception_c2_3x3_reduce"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c2_3x3_reduce_scale"
type: "Scale"
bottom: "inception_c2_3x3_reduce"
top: "inception_c2_3x3_reduce"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c2_3x3_reduce_relu"
type: "ReLU"
bottom: "inception_c2_3x3_reduce"
top: "inception_c2_3x3_reduce"
}
layer {
name: "inception_c2_3x3"
type: "Convolution"
bottom: "inception_c2_3x3_reduce"
top: "inception_c2_3x3"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
pad: 1
kernel_size: 3
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "inception_c2_3x3_bn"
type: "BatchNorm"
bottom: "inception_c2_3x3"
top: "inception_c2_3x3"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c2_3x3_scale"
type: "Scale"
bottom: "inception_c2_3x3"
top: "inception_c2_3x3"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c2_3x3_relu"
type: "ReLU"
bottom: "inception_c2_3x3"
top: "inception_c2_3x3"
}
layer {
name: "inception_c2_1x3_2"
type: "Convolution"
bottom: "inception_c2_3x3"
top: "inception_c2_1x3_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 0
pad_w: 1
kernel_h: 1
kernel_w: 3
}
}
layer {
name: "inception_c2_1x3_2_bn"
type: "BatchNorm"
bottom: "inception_c2_1x3_2"
top: "inception_c2_1x3_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c2_1x3_2_scale"
type: "Scale"
bottom: "inception_c2_1x3_2"
top: "inception_c2_1x3_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c2_1x3_2_relu"
type: "ReLU"
bottom: "inception_c2_1x3_2"
top: "inception_c2_1x3_2"
}
layer {
name: "inception_c2_3x1_2"
type: "Convolution"
bottom: "inception_c2_1x3_2"
top: "inception_c2_3x1_2"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
convolution_param {
num_output: 384
stride: 1
weight_filler {
type: "xavier"
std: 0.01
}
bias_filler {
type: "constant"
value: 0.2
}
pad_h: 1
pad_w: 0
kernel_h: 3
kernel_w: 1
}
}
layer {
name: "inception_c2_3x1_2_bn"
type: "BatchNorm"
bottom: "inception_c2_3x1_2"
top: "inception_c2_3x1_2"
batch_norm_param {
use_global_stats: false
}
}
layer {
name: "inception_c2_3x1_2_scale"
type: "Scale"
bottom: "inception_c2_3x1_2"
top: "inception_c2_3x1_2"
scale_param {
bias_term: true
}
}
layer {
name: "inception_c2_3x1_2_relu"
type: "ReLU"
bottom: "inception_c2_3x1_2"
top: "inception_c2_3x1_2"
}
layer {
name: "inception_c2_concat"
type: "Concat"
bottom: "inception_c2_1x1"
bottom: "inception_c2_1x1_2"
bottom: "inception_c2_3x1"
bottom: "inception_c2_3x1_2"
top: "inception_c2_concat"
}
layer {
name: "pool_8x8_s1"
type: "Pooling"
bottom: "inception_c2_concat"
top: "pool_8x8_s1"
pooling_param {
pool: AVE
kernel_size: 8
}
}
layer {
name: "pool_8x8_s1_drop"
type: "Dropout"
bottom: "pool_8x8_s1"
top: "pool_8x8_s1_drop"
dropout_param {
dropout_ratio: 0.2
}
}
layer {
name: "classifier"
type: "InnerProduct"
bottom: "pool_8x8_s1_drop"
top: "classifier"
param {
lr_mult: 1
decay_mult: 1
}
param {
lr_mult: 2
decay_mult: 0
}
inner_product_param {
num_output: 101
weight_filler {
type: "xavier"
}
bias_filler {
type: "constant"
value: 0
}
}
}
layer {
name: "loss"
type: "SoftmaxWithLoss"
bottom: "classifier"
bottom: "label"
top: "loss"
}
layer {
name: "accuracy_top1"
type: "Accuracy"
bottom: "classifier"
bottom: "label"
top: "accuracy_top1"
include {
phase: TEST
}
}
layer {
name: "accuracy_top5"
type: "Accuracy"
bottom: "classifier"
bottom: "label"
top: "accuracy_top5"
include {
phase: TEST
}
accuracy_param {
top_k: 5
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment