Last active
December 21, 2016 08:38
-
-
Save wenfahu/33451303622bc8d48d38d68b6874eb8a to your computer and use it in GitHub Desktop.
inception triplet face
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "inception_bn" | |
layer{ | |
name: 'data' | |
type: 'Python' | |
top: 'data' | |
top: 'label' | |
python_param { | |
module: 'data_layer' | |
layer: 'DataLayer' | |
} | |
} | |
# layer { | |
# name: "data" | |
# type: "Data" | |
# top: "data" | |
# top: "label" | |
# include { | |
# phase: TRAIN | |
# } | |
# transform_param { | |
# mirror: true | |
# crop_size: 227 | |
# mean_value: 104 | |
# mean_value: 117 | |
# mean_value: 123 | |
# } | |
# data_param { | |
# source: "/home/wenfahu/googlenet_triplet/lfw_lmdb/train_lmdb" | |
# batch_size: 60 | |
# backend: LMDB | |
# } | |
# } | |
# layer { | |
# name: "data" | |
# type: "Data" | |
# top: "data" | |
# top: "label" | |
# include { | |
# phase: TEST | |
# } | |
# transform_param { | |
# mirror: false | |
# crop_size: 227 | |
# mean_value: 104 | |
# mean_value: 117 | |
# mean_value: 123 | |
# } | |
# data_param { | |
# source: "/home/wenfahu/googlenet_triplet/lfw_lmdb/val_lmdb" | |
# batch_size: 20 | |
# backend: LMDB | |
# } | |
# } | |
layer { | |
name: "conv1_7x7_s2" | |
type: "Convolution" | |
bottom: "data" | |
top: "conv1_7x7_s2" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 3 | |
kernel_size: 7 | |
stride: 2 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "conv1_7x7_s2_bn" | |
type: "BatchNorm" | |
bottom: "conv1_7x7_s2" | |
top: "conv1_7x7_s2" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "conv1_7x7_relu" | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "conv2_3x3_reduce_bn" | |
type: "BatchNorm" | |
bottom: "conv2_3x3_reduce" | |
top: "conv2_3x3_reduce" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "conv2_3x3_reduce_relu" | |
type: "ReLU" | |
bottom: "conv2_3x3_reduce" | |
top: "conv2_3x3_reduce" | |
} | |
layer { | |
name: "conv2_3x3" | |
type: "Convolution" | |
bottom: "conv2_3x3_reduce" | |
top: "conv2_3x3" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 192 | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "conv2_3x3_bn" | |
type: "BatchNorm" | |
bottom: "conv2_3x3" | |
top: "conv2_3x3" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "conv2_3x3_relu" | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_3a_1x1_bn" | |
type: "BatchNorm" | |
bottom: "inception_3a_1x1" | |
top: "inception_3a_1x1" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 96 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 128 | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_3a_3x3_bn" | |
type: "BatchNorm" | |
bottom: "inception_3a_3x3" | |
top: "inception_3a_3x3" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_3a_relu_3x3" | |
type: "ReLU" | |
bottom: "inception_3a_3x3" | |
top: "inception_3a_3x3" | |
} | |
layer { | |
name: "inception_3a_5x5_reduce" | |
type: "Convolution" | |
bottom: "pool2_3x3_s2" | |
top: "inception_3a_5x5_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 16 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_3a_5x5_reduce_bn" | |
type: "BatchNorm" | |
bottom: "inception_3a_5x5_reduce" | |
top: "inception_3a_5x5_reduce" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_3a_relu_5x5_reduce" | |
type: "ReLU" | |
bottom: "inception_3a_5x5_reduce" | |
top: "inception_3a_5x5_reduce" | |
} | |
layer { | |
name: "inception_3a_5x5" | |
type: "Convolution" | |
bottom: "inception_3a_5x5_reduce" | |
top: "inception_3a_5x5" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_3a_5x5_bn" | |
type: "BatchNorm" | |
bottom: "inception_3a_5x5" | |
top: "inception_3a_5x5" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_3a_relu_5x5" | |
type: "ReLU" | |
bottom: "inception_3a_5x5" | |
top: "inception_3a_5x5" | |
} | |
layer { | |
name: "inception_3a_pool" | |
type: "Pooling" | |
bottom: "pool2_3x3_s2" | |
top: "inception_3a_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_3a_pool_proj" | |
type: "Convolution" | |
bottom: "inception_3a_pool" | |
top: "inception_3a_pool_proj" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
layer { | |
name: "inception_3a_relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_3a_pool_proj" | |
top: "inception_3a_pool_proj" | |
} | |
layer { | |
name: "inception_3a_output" | |
type: "Concat" | |
bottom: "inception_3a_1x1" | |
bottom: "inception_3a_3x3" | |
bottom: "inception_3a_5x5" | |
bottom: "inception_3a_pool_proj" | |
top: "inception_3a_output" | |
} | |
layer { | |
name: "inception_3b_1x1" | |
type: "Convolution" | |
bottom: "inception_3a_output" | |
top: "inception_3b_1x1" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_3b_1x1_bn" | |
type: "BatchNorm" | |
bottom: "inception_3b_1x1" | |
top: "inception_3b_1x1" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 192 | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_3b_3x3_bn" | |
type: "BatchNorm" | |
bottom: "inception_3b_3x3" | |
top: "inception_3b_3x3" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_3b_relu_3x3" | |
type: "ReLU" | |
bottom: "inception_3b_3x3" | |
top: "inception_3b_3x3" | |
} | |
layer { | |
name: "inception_3b_5x5_reduce" | |
type: "Convolution" | |
bottom: "inception_3a_output" | |
top: "inception_3b_5x5_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_3b_5x5_reduce_bn" | |
type: "BatchNorm" | |
bottom: "inception_3b_5x5_reduce" | |
top: "inception_3b_5x5_reduce" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_3b_relu_5x5_reduce" | |
type: "ReLU" | |
bottom: "inception_3b_5x5_reduce" | |
top: "inception_3b_5x5_reduce" | |
} | |
layer { | |
name: "inception_3b_5x5" | |
type: "Convolution" | |
bottom: "inception_3b_5x5_reduce" | |
top: "inception_3b_5x5" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 96 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_3b_5x5_bn" | |
type: "BatchNorm" | |
bottom: "inception_3b_5x5" | |
top: "inception_3b_5x5" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_3b_relu_5x5" | |
type: "ReLU" | |
bottom: "inception_3b_5x5" | |
top: "inception_3b_5x5" | |
} | |
layer { | |
name: "inception_3b_pool" | |
type: "Pooling" | |
bottom: "inception_3a_output" | |
top: "inception_3b_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_3b_pool_proj" | |
type: "Convolution" | |
bottom: "inception_3b_pool" | |
top: "inception_3b_pool_proj" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
layer { | |
name: "inception_3b_relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_3b_pool_proj" | |
top: "inception_3b_pool_proj" | |
} | |
layer { | |
name: "inception_3b_output" | |
type: "Concat" | |
bottom: "inception_3b_1x1" | |
bottom: "inception_3b_3x3" | |
bottom: "inception_3b_5x5" | |
bottom: "inception_3b_pool_proj" | |
top: "inception_3b_output" | |
} | |
layer { | |
name: "pool3_3x3_s2" | |
type: "Pooling" | |
bottom: "inception_3b_output" | |
top: "pool3_3x3_s2" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "inception_4a_1x1" | |
type: "Convolution" | |
bottom: "pool3_3x3_s2" | |
top: "inception_4a_1x1" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 192 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4a_1x1_bn" | |
type: "BatchNorm" | |
bottom: "inception_4a_1x1" | |
top: "inception_4a_1x1" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
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: "pool3_3x3_s2" | |
top: "inception_4a_3x3_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 96 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 208 | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4a_3x3_bn" | |
type: "BatchNorm" | |
bottom: "inception_4a_3x3" | |
top: "inception_4a_3x3" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4a_relu_3x3" | |
type: "ReLU" | |
bottom: "inception_4a_3x3" | |
top: "inception_4a_3x3" | |
} | |
layer { | |
name: "inception_4a_5x5_reduce" | |
type: "Convolution" | |
bottom: "pool3_3x3_s2" | |
top: "inception_4a_5x5_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 16 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4a_5x5_reduce_bn" | |
type: "BatchNorm" | |
bottom: "inception_4a_5x5_reduce" | |
top: "inception_4a_5x5_reduce" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4a_relu_5x5_reduce" | |
type: "ReLU" | |
bottom: "inception_4a_5x5_reduce" | |
top: "inception_4a_5x5_reduce" | |
} | |
layer { | |
name: "inception_4a_5x5" | |
type: "Convolution" | |
bottom: "inception_4a_5x5_reduce" | |
top: "inception_4a_5x5" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 48 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4a_5x5_bn" | |
type: "BatchNorm" | |
bottom: "inception_4a_5x5" | |
top: "inception_4a_5x5" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4a_relu_5x5" | |
type: "ReLU" | |
bottom: "inception_4a_5x5" | |
top: "inception_4a_5x5" | |
} | |
layer { | |
name: "inception_4a_pool" | |
type: "Pooling" | |
bottom: "pool3_3x3_s2" | |
top: "inception_4a_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_4a_pool_proj" | |
type: "Convolution" | |
bottom: "inception_4a_pool" | |
top: "inception_4a_pool_proj" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
layer { | |
name: "inception_4a_relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_4a_pool_proj" | |
top: "inception_4a_pool_proj" | |
} | |
layer { | |
name: "inception_4a_output" | |
type: "Concat" | |
bottom: "inception_4a_1x1" | |
bottom: "inception_4a_3x3" | |
bottom: "inception_4a_5x5" | |
bottom: "inception_4a_pool_proj" | |
top: "inception_4a_output" | |
} | |
# layer { | |
# name: "loss1_ave_pool" | |
# type: "Pooling" | |
# bottom: "inception_4a_output" | |
# top: "loss1_ave_pool" | |
# pooling_param { | |
# pool: AVE | |
# kernel_size: 5 | |
# stride: 3 | |
# } | |
# } | |
# layer { | |
# name: "loss1_conv" | |
# type: "Convolution" | |
# bottom: "loss1_ave_pool" | |
# top: "loss1_conv" | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# convolution_param { | |
# num_output: 128 | |
# pad: 0 | |
# kernel_size: 1 | |
# stride: 1 | |
# weight_filler { | |
# type: "xavier" | |
# std: 1 | |
# } | |
# bias_filler { | |
# type: "constant" | |
# value: 0.2 | |
# } | |
# } | |
# } | |
# layer { | |
# name: "loss1_conv_bn" | |
# type: "BatchNorm" | |
# bottom: "loss1_conv" | |
# top: "loss1_conv" | |
# batch_norm_param { | |
# use_global_stats: false | |
# } | |
# } | |
# layer { | |
# name: "loss1_relu_conv" | |
# type: "ReLU" | |
# bottom: "loss1_conv" | |
# top: "loss1_conv" | |
# } | |
# layer { | |
# name: "loss1_fc" | |
# type: "InnerProduct" | |
# bottom: "loss1_conv" | |
# top: "loss1_fc" | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# inner_product_param { | |
# num_output: 1024 | |
# weight_filler { | |
# type: "xavier" | |
# std: 1 | |
# } | |
# bias_filler { | |
# type: "constant" | |
# value: 0.2 | |
# } | |
# } | |
# } | |
# layer { | |
# name: "loss1_relu_fc" | |
# type: "ReLU" | |
# bottom: "loss1_fc" | |
# top: "loss1_fc" | |
# } | |
# layer { | |
# name: "loss1_drop_fc" | |
# type: "Dropout" | |
# bottom: "loss1_fc" | |
# top: "loss1_fc" | |
# dropout_param { | |
# dropout_ratio: 0.7 | |
# } | |
# } | |
# layer { | |
# name: "loss1_classifier" | |
# type: "InnerProduct" | |
# bottom: "loss1_fc" | |
# top: "loss1_classifier" | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# inner_product_param { | |
# num_output: 1000 | |
# weight_filler { | |
# type: "xavier" | |
# } | |
# bias_filler { | |
# type: "constant" | |
# value: 0 | |
# } | |
# } | |
# } | |
# layer { | |
# name: "loss1_loss" | |
# type: "SoftmaxWithLoss" | |
# bottom: "loss1_classifier" | |
# bottom: "label" | |
# top: "loss1_loss" | |
# loss_weight: 0.3 | |
# } | |
# layer { | |
# name: "loss1_accuracy_top1" | |
# type: "Accuracy" | |
# bottom: "loss1_classifier" | |
# bottom: "label" | |
# top: "loss1_accuracy_top1" | |
# include { | |
# phase: TEST | |
# } | |
# } | |
# layer { | |
# name: "loss1_accuracy_top5" | |
# type: "Accuracy" | |
# bottom: "loss1_classifier" | |
# bottom: "label" | |
# top: "loss1_accuracy_top5" | |
# include { | |
# phase: TEST | |
# } | |
# accuracy_param { | |
# top_k: 5 | |
# } | |
# } | |
layer { | |
name: "inception_4b_1x1" | |
type: "Convolution" | |
bottom: "inception_4a_output" | |
top: "inception_4b_1x1" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 160 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4b_1x1_bn" | |
type: "BatchNorm" | |
bottom: "inception_4b_1x1" | |
top: "inception_4b_1x1" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 112 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 224 | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4b_3x3_bn" | |
type: "BatchNorm" | |
bottom: "inception_4b_3x3" | |
top: "inception_4b_3x3" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4b_relu_3x3" | |
type: "ReLU" | |
bottom: "inception_4b_3x3" | |
top: "inception_4b_3x3" | |
} | |
layer { | |
name: "inception_4b_5x5_reduce" | |
type: "Convolution" | |
bottom: "inception_4a_output" | |
top: "inception_4b_5x5_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 24 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4b_5x5_reduce_bn" | |
type: "BatchNorm" | |
bottom: "inception_4b_5x5_reduce" | |
top: "inception_4b_5x5_reduce" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4b_relu_5x5_reduce" | |
type: "ReLU" | |
bottom: "inception_4b_5x5_reduce" | |
top: "inception_4b_5x5_reduce" | |
} | |
layer { | |
name: "inception_4b_5x5" | |
type: "Convolution" | |
bottom: "inception_4b_5x5_reduce" | |
top: "inception_4b_5x5" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4b_5x5_bn" | |
type: "BatchNorm" | |
bottom: "inception_4b_5x5" | |
top: "inception_4b_5x5" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4b_relu_5x5" | |
type: "ReLU" | |
bottom: "inception_4b_5x5" | |
top: "inception_4b_5x5" | |
} | |
layer { | |
name: "inception_4b_pool" | |
type: "Pooling" | |
bottom: "inception_4a_output" | |
top: "inception_4b_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_4b_pool_proj" | |
type: "Convolution" | |
bottom: "inception_4b_pool" | |
top: "inception_4b_pool_proj" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
layer { | |
name: "inception_4b_relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_4b_pool_proj" | |
top: "inception_4b_pool_proj" | |
} | |
layer { | |
name: "inception_4b_output" | |
type: "Concat" | |
bottom: "inception_4b_1x1" | |
bottom: "inception_4b_3x3" | |
bottom: "inception_4b_5x5" | |
bottom: "inception_4b_pool_proj" | |
top: "inception_4b_output" | |
} | |
layer { | |
name: "inception_4c_1x1" | |
type: "Convolution" | |
bottom: "inception_4b_output" | |
top: "inception_4c_1x1" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4c_1x1_bn" | |
type: "BatchNorm" | |
bottom: "inception_4c_1x1" | |
top: "inception_4c_1x1" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 256 | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4c_3x3_bn" | |
type: "BatchNorm" | |
bottom: "inception_4c_3x3" | |
top: "inception_4c_3x3" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4c_relu_3x3" | |
type: "ReLU" | |
bottom: "inception_4c_3x3" | |
top: "inception_4c_3x3" | |
} | |
layer { | |
name: "inception_4c_5x5_reduce" | |
type: "Convolution" | |
bottom: "inception_4b_output" | |
top: "inception_4c_5x5_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 24 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4c_5x5_reduce_bn" | |
type: "BatchNorm" | |
bottom: "inception_4c_5x5_reduce" | |
top: "inception_4c_5x5_reduce" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4c_relu_5x5_reduce" | |
type: "ReLU" | |
bottom: "inception_4c_5x5_reduce" | |
top: "inception_4c_5x5_reduce" | |
} | |
layer { | |
name: "inception_4c_5x5" | |
type: "Convolution" | |
bottom: "inception_4c_5x5_reduce" | |
top: "inception_4c_5x5" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4c_5x5_bn" | |
type: "BatchNorm" | |
bottom: "inception_4c_5x5" | |
top: "inception_4c_5x5" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4c_relu_5x5" | |
type: "ReLU" | |
bottom: "inception_4c_5x5" | |
top: "inception_4c_5x5" | |
} | |
layer { | |
name: "inception_4c_pool" | |
type: "Pooling" | |
bottom: "inception_4b_output" | |
top: "inception_4c_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_4c_pool_proj" | |
type: "Convolution" | |
bottom: "inception_4c_pool" | |
top: "inception_4c_pool_proj" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
layer { | |
name: "inception_4c_relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_4c_pool_proj" | |
top: "inception_4c_pool_proj" | |
} | |
layer { | |
name: "inception_4c_output" | |
type: "Concat" | |
bottom: "inception_4c_1x1" | |
bottom: "inception_4c_3x3" | |
bottom: "inception_4c_5x5" | |
bottom: "inception_4c_pool_proj" | |
top: "inception_4c_output" | |
} | |
layer { | |
name: "inception_4d_1x1" | |
type: "Convolution" | |
bottom: "inception_4c_output" | |
top: "inception_4d_1x1" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 112 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4d_1x1_bn" | |
type: "BatchNorm" | |
bottom: "inception_4d_1x1" | |
top: "inception_4d_1x1" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 144 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 288 | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4d_3x3_bn" | |
type: "BatchNorm" | |
bottom: "inception_4d_3x3" | |
top: "inception_4d_3x3" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4d_relu_3x3" | |
type: "ReLU" | |
bottom: "inception_4d_3x3" | |
top: "inception_4d_3x3" | |
} | |
layer { | |
name: "inception_4d_5x5_reduce" | |
type: "Convolution" | |
bottom: "inception_4c_output" | |
top: "inception_4d_5x5_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4d_5x5_reduce_bn" | |
type: "BatchNorm" | |
bottom: "inception_4d_5x5_reduce" | |
top: "inception_4d_5x5_reduce" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4d_relu_5x5_reduce" | |
type: "ReLU" | |
bottom: "inception_4d_5x5_reduce" | |
top: "inception_4d_5x5_reduce" | |
} | |
layer { | |
name: "inception_4d_5x5" | |
type: "Convolution" | |
bottom: "inception_4d_5x5_reduce" | |
top: "inception_4d_5x5" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4d_5x5_bn" | |
type: "BatchNorm" | |
bottom: "inception_4d_5x5" | |
top: "inception_4d_5x5" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4d_relu_5x5" | |
type: "ReLU" | |
bottom: "inception_4d_5x5" | |
top: "inception_4d_5x5" | |
} | |
layer { | |
name: "inception_4d_pool" | |
type: "Pooling" | |
bottom: "inception_4c_output" | |
top: "inception_4d_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_4d_pool_proj" | |
type: "Convolution" | |
bottom: "inception_4d_pool" | |
top: "inception_4d_pool_proj" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 64 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
layer { | |
name: "inception_4d_relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_4d_pool_proj" | |
top: "inception_4d_pool_proj" | |
} | |
layer { | |
name: "inception_4d_output" | |
type: "Concat" | |
bottom: "inception_4d_1x1" | |
bottom: "inception_4d_3x3" | |
bottom: "inception_4d_5x5" | |
bottom: "inception_4d_pool_proj" | |
top: "inception_4d_output" | |
} | |
# layer { | |
# name: "loss2_ave_pool" | |
# type: "Pooling" | |
# bottom: "inception_4d_output" | |
# top: "loss2_ave_pool" | |
# pooling_param { | |
# pool: AVE | |
# kernel_size: 5 | |
# stride: 3 | |
# } | |
# } | |
# layer { | |
# name: "loss2_conv" | |
# type: "Convolution" | |
# bottom: "loss2_ave_pool" | |
# top: "loss2_conv" | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# convolution_param { | |
# num_output: 128 | |
# pad: 0 | |
# kernel_size: 1 | |
# stride: 1 | |
# weight_filler { | |
# type: "xavier" | |
# std: 1 | |
# } | |
# bias_filler { | |
# type: "constant" | |
# value: 0.2 | |
# } | |
# } | |
# } | |
# layer { | |
# name: "loss2_conv_bn" | |
# type: "BatchNorm" | |
# bottom: "loss2_conv" | |
# top: "loss2_conv" | |
# batch_norm_param { | |
# use_global_stats: false | |
# } | |
# } | |
# layer { | |
# name: "loss2_relu_conv" | |
# type: "ReLU" | |
# bottom: "loss2_conv" | |
# top: "loss2_conv" | |
# } | |
# layer { | |
# name: "loss2_fc" | |
# type: "InnerProduct" | |
# bottom: "loss2_conv" | |
# top: "loss2_fc" | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# inner_product_param { | |
# num_output: 1024 | |
# weight_filler { | |
# type: "xavier" | |
# std: 1 | |
# } | |
# bias_filler { | |
# type: "constant" | |
# value: 0.2 | |
# } | |
# } | |
# } | |
# layer { | |
# name: "loss2_relu_fc" | |
# type: "ReLU" | |
# bottom: "loss2_fc" | |
# top: "loss2_fc" | |
# } | |
# layer { | |
# name: "loss2_drop_fc" | |
# type: "Dropout" | |
# bottom: "loss2_fc" | |
# top: "loss2_fc" | |
# dropout_param { | |
# dropout_ratio: 0.7 | |
# } | |
# } | |
# layer { | |
# name: "loss2_classifier" | |
# type: "InnerProduct" | |
# bottom: "loss2_fc" | |
# top: "loss2_classifier" | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# inner_product_param { | |
# num_output: 1000 | |
# weight_filler { | |
# type: "xavier" | |
# } | |
# bias_filler { | |
# type: "constant" | |
# value: 0 | |
# } | |
# } | |
# } | |
# layer { | |
# name: "loss2_loss" | |
# type: "SoftmaxWithLoss" | |
# bottom: "loss2_classifier" | |
# bottom: "label" | |
# top: "loss2_loss" | |
# loss_weight: 0.3 | |
# } | |
# layer { | |
# name: "loss2_accuracy_top1" | |
# type: "Accuracy" | |
# bottom: "loss2_classifier" | |
# bottom: "label" | |
# top: "loss2_accuracy_top1" | |
# include { | |
# phase: TEST | |
# } | |
# } | |
# layer { | |
# name: "loss2_accuracy_top5" | |
# type: "Accuracy" | |
# bottom: "loss2_classifier" | |
# bottom: "label" | |
# top: "loss2_accuracy_top5" | |
# include { | |
# phase: TEST | |
# } | |
# accuracy_param { | |
# top_k: 5 | |
# } | |
# } | |
layer { | |
name: "inception_4e_1x1" | |
type: "Convolution" | |
bottom: "inception_4d_output" | |
top: "inception_4e_1x1" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 256 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4e_1x1_bn" | |
type: "BatchNorm" | |
bottom: "inception_4e_1x1" | |
top: "inception_4e_1x1" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4e_relu_1x1" | |
type: "ReLU" | |
bottom: "inception_4e_1x1" | |
top: "inception_4e_1x1" | |
} | |
layer { | |
name: "inception_4e_3x3_reduce" | |
type: "Convolution" | |
bottom: "inception_4d_output" | |
top: "inception_4e_3x3_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 160 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 320 | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4e_3x3_bn" | |
type: "BatchNorm" | |
bottom: "inception_4e_3x3" | |
top: "inception_4e_3x3" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4e_relu_3x3" | |
type: "ReLU" | |
bottom: "inception_4e_3x3" | |
top: "inception_4e_3x3" | |
} | |
layer { | |
name: "inception_4e_5x5_reduce" | |
type: "Convolution" | |
bottom: "inception_4d_output" | |
top: "inception_4e_5x5_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4e_5x5_reduce_bn" | |
type: "BatchNorm" | |
bottom: "inception_4e_5x5_reduce" | |
top: "inception_4e_5x5_reduce" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4e_relu_5x5_reduce" | |
type: "ReLU" | |
bottom: "inception_4e_5x5_reduce" | |
top: "inception_4e_5x5_reduce" | |
} | |
layer { | |
name: "inception_4e_5x5" | |
type: "Convolution" | |
bottom: "inception_4e_5x5_reduce" | |
top: "inception_4e_5x5" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 128 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4e_5x5_bn" | |
type: "BatchNorm" | |
bottom: "inception_4e_5x5" | |
top: "inception_4e_5x5" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4e_relu_5x5" | |
type: "ReLU" | |
bottom: "inception_4e_5x5" | |
top: "inception_4e_5x5" | |
} | |
layer { | |
name: "inception_4e_pool" | |
type: "Pooling" | |
bottom: "inception_4d_output" | |
top: "inception_4e_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_4e_pool_proj" | |
type: "Convolution" | |
bottom: "inception_4e_pool" | |
top: "inception_4e_pool_proj" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_4e_pool_proj_bn" | |
type: "BatchNorm" | |
bottom: "inception_4e_pool_proj" | |
top: "inception_4e_pool_proj" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_4e_relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_4e_pool_proj" | |
top: "inception_4e_pool_proj" | |
} | |
layer { | |
name: "inception_4e_output" | |
type: "Concat" | |
bottom: "inception_4e_1x1" | |
bottom: "inception_4e_3x3" | |
bottom: "inception_4e_5x5" | |
bottom: "inception_4e_pool_proj" | |
top: "inception_4e_output" | |
} | |
layer { | |
name: "pool4_3x3_s2" | |
type: "Pooling" | |
bottom: "inception_4e_output" | |
top: "pool4_3x3_s2" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "inception_5a_1x1" | |
type: "Convolution" | |
bottom: "pool4_3x3_s2" | |
top: "inception_5a_1x1" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 256 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_5a_1x1_bn" | |
type: "BatchNorm" | |
bottom: "inception_5a_1x1" | |
top: "inception_5a_1x1" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
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: "pool4_3x3_s2" | |
top: "inception_5a_3x3_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 160 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 320 | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_5a_3x3_bn" | |
type: "BatchNorm" | |
bottom: "inception_5a_3x3" | |
top: "inception_5a_3x3" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_5a_relu_3x3" | |
type: "ReLU" | |
bottom: "inception_5a_3x3" | |
top: "inception_5a_3x3" | |
} | |
layer { | |
name: "inception_5a_5x5_reduce" | |
type: "Convolution" | |
bottom: "pool4_3x3_s2" | |
top: "inception_5a_5x5_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_5a_5x5_reduce_bn" | |
type: "BatchNorm" | |
bottom: "inception_5a_5x5_reduce" | |
top: "inception_5a_5x5_reduce" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_5a_relu_5x5_reduce" | |
type: "ReLU" | |
bottom: "inception_5a_5x5_reduce" | |
top: "inception_5a_5x5_reduce" | |
} | |
layer { | |
name: "inception_5a_5x5" | |
type: "Convolution" | |
bottom: "inception_5a_5x5_reduce" | |
top: "inception_5a_5x5" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 128 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_5a_5x5_bn" | |
type: "BatchNorm" | |
bottom: "inception_5a_5x5" | |
top: "inception_5a_5x5" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_5a_relu_5x5" | |
type: "ReLU" | |
bottom: "inception_5a_5x5" | |
top: "inception_5a_5x5" | |
} | |
layer { | |
name: "inception_5a_pool" | |
type: "Pooling" | |
bottom: "pool4_3x3_s2" | |
top: "inception_5a_pool" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 1 | |
pad: 1 | |
} | |
} | |
layer { | |
name: "inception_5a_pool_proj" | |
type: "Convolution" | |
bottom: "inception_5a_pool" | |
top: "inception_5a_pool_proj" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
layer { | |
name: "inception_5a_relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_5a_pool_proj" | |
top: "inception_5a_pool_proj" | |
} | |
layer { | |
name: "inception_5a_output" | |
type: "Concat" | |
bottom: "inception_5a_1x1" | |
bottom: "inception_5a_3x3" | |
bottom: "inception_5a_5x5" | |
bottom: "inception_5a_pool_proj" | |
top: "inception_5a_output" | |
} | |
layer { | |
name: "inception_5b_1x1" | |
type: "Convolution" | |
bottom: "inception_5a_output" | |
top: "inception_5b_1x1" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 384 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_5b_1x1_bn" | |
type: "BatchNorm" | |
bottom: "inception_5b_1x1" | |
top: "inception_5b_1x1" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 192 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 384 | |
pad: 1 | |
kernel_size: 3 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_5b_3x3_bn" | |
type: "BatchNorm" | |
bottom: "inception_5b_3x3" | |
top: "inception_5b_3x3" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_5b_relu_3x3" | |
type: "ReLU" | |
bottom: "inception_5b_3x3" | |
top: "inception_5b_3x3" | |
} | |
layer { | |
name: "inception_5b_5x5_reduce" | |
type: "Convolution" | |
bottom: "inception_5a_output" | |
top: "inception_5b_5x5_reduce" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 48 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_5b_5x5_reduce_bn" | |
type: "BatchNorm" | |
bottom: "inception_5b_5x5_reduce" | |
top: "inception_5b_5x5_reduce" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_5b_relu_5x5_reduce" | |
type: "ReLU" | |
bottom: "inception_5b_5x5_reduce" | |
top: "inception_5b_5x5_reduce" | |
} | |
layer { | |
name: "inception_5b_5x5" | |
type: "Convolution" | |
bottom: "inception_5b_5x5_reduce" | |
top: "inception_5b_5x5" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 128 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
layer { | |
name: "inception_5b_5x5_bn" | |
type: "BatchNorm" | |
bottom: "inception_5b_5x5" | |
top: "inception_5b_5x5" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
} | |
layer { | |
name: "inception_5b_relu_5x5" | |
type: "ReLU" | |
bottom: "inception_5b_5x5" | |
top: "inception_5b_5x5" | |
} | |
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" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 128 | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
std: 1 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.2 | |
} | |
} | |
} | |
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: false | |
} | |
} | |
layer { | |
name: "inception_5b_relu_pool_proj" | |
type: "ReLU" | |
bottom: "inception_5b_pool_proj" | |
top: "inception_5b_pool_proj" | |
} | |
layer { | |
name: "inception_5b_output" | |
type: "Concat" | |
bottom: "inception_5b_1x1" | |
bottom: "inception_5b_3x3" | |
bottom: "inception_5b_5x5" | |
bottom: "inception_5b_pool_proj" | |
top: "inception_5b_output" | |
} | |
layer { | |
name: "pool5_7x7_s1_tune" | |
type: "Pooling" | |
bottom: "inception_5b_output" | |
top: "pool5_7x7_s1_tune" | |
pooling_param { | |
pool: AVE | |
kernel_size: 7 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "pool5_drop_7x7_s1" | |
type: "Dropout" | |
bottom: "pool5_7x7_s1_tune" | |
top: "pool5_7x7_s1_tune" | |
dropout_param { | |
dropout_ratio: 0.4 | |
} | |
} | |
#### triplet loss ##### | |
layer{ | |
name: "embedding" | |
type: "InnerProduct" | |
bottom: "pool5_7x7_s1_tune" | |
top: "embedding" | |
param { | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
inner_product_param { | |
num_output: 128 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler{ | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "norm2" | |
type: "Python" | |
bottom: "embedding" | |
top: "norm2" | |
python_param { | |
module: "l2norm_layer" | |
layer: "L2NormLayer" | |
} | |
} | |
layer { | |
name: "tripletsample" | |
type: "Python" | |
bottom: "norm2" | |
bottom: "label" | |
top: "anchor" | |
top: "positive" | |
top: "negative" | |
python_param { | |
module: "tripletsample_layer" | |
layer: "TripletSampleLayer" | |
} | |
} | |
layer { | |
name: "tripletloss" | |
type: "Python" | |
bottom: "anchor" | |
bottom: "positive" | |
bottom: "negative" | |
top: "loss" | |
python_param { | |
module: "tripletloss_layer" | |
layer: "TripletLayer" | |
param_str: "'margin': 0.2" | |
} | |
loss_weight: 1 | |
} | |
#### softmax loss ##### | |
# layer { | |
# name: "loss3_classifier_390" | |
# type: "InnerProduct" | |
# bottom: "pool5_7x7_s1" | |
# top: "loss3_classifier_390" | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# param { | |
# lr_mult: 0 | |
# decay_mult: 0 | |
# } | |
# inner_product_param { | |
# num_output: 390 | |
# weight_filler { | |
# type: "xavier" | |
# } | |
# bias_filler { | |
# type: "constant" | |
# value: 0 | |
# } | |
# } | |
# } | |
# layer { | |
# name: "loss3_loss" | |
# type: "SoftmaxWithLoss" | |
# bottom: "loss3_classifier_390" | |
# bottom: "label" | |
# top: "loss3_loss" | |
# loss_weight: 1 | |
# } | |
# layer { | |
# name: "loss3_accuracy_top1" | |
# type: "Accuracy" | |
# bottom: "loss3_classifier_390" | |
# bottom: "label" | |
# top: "loss3_accuracy_top1" | |
# include { | |
# phase: TEST | |
# } | |
# } | |
# layer { | |
# name: "loss3_accuracy_top5" | |
# type: "Accuracy" | |
# bottom: "loss3_classifier_390" | |
# bottom: "label" | |
# top: "loss3_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