Created
October 21, 2015 07:22
-
-
Save ducha-aiki/6457bbd49fea8b7634a7 to your computer and use it in GitHub Desktop.
Batchnorm example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "CIFAR10_full" | |
layer { | |
name: "cifar" | |
type: "Data" | |
top: "data" | |
top: "label" | |
include { | |
phase: TRAIN | |
} | |
transform_param { | |
mean_file: "examples/cifar10/mean.binaryproto" | |
} | |
data_param { | |
source: "examples/cifar10/cifar10_train_lmdb" | |
batch_size: 100 | |
backend: LMDB | |
} | |
} | |
layer { | |
name: "cifar" | |
type: "Data" | |
top: "data" | |
top: "label" | |
include { | |
phase: TEST | |
} | |
transform_param { | |
mean_file: "examples/cifar10/mean.binaryproto" | |
} | |
data_param { | |
source: "examples/cifar10/cifar10_test_lmdb" | |
batch_size: 1000 | |
backend: LMDB | |
} | |
} | |
layer { | |
name: "conv1" | |
type: "Convolution" | |
bottom: "data" | |
top: "conv1" | |
param { | |
lr_mult: 1 | |
} | |
param { | |
lr_mult: 2 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.0001 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layer { | |
name: "pool1" | |
type: "Pooling" | |
bottom: "conv1" | |
top: "pool1" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "bn1" | |
type: "BatchNorm" | |
bottom: "pool1" | |
top: "bn1" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TRAIN | |
} | |
} | |
layer { | |
name: "bn1" | |
type: "BatchNorm" | |
bottom: "pool1" | |
top: "bn1" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TEST | |
} | |
} | |
layer { | |
name: "Sigmoid1" | |
type: "Sigmoid" | |
bottom: "bn1" | |
top: "Sigmoid1" | |
} | |
layer { | |
name: "conv2" | |
type: "Convolution" | |
bottom: "Sigmoid1" | |
top: "conv2" | |
param { | |
lr_mult: 1 | |
} | |
param { | |
lr_mult: 2 | |
} | |
convolution_param { | |
num_output: 32 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layer { | |
name: "bn2" | |
type: "BatchNorm" | |
bottom: "conv2" | |
top: "bn2" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TRAIN | |
} | |
} | |
layer { | |
name: "bn2" | |
type: "BatchNorm" | |
bottom: "conv2" | |
top: "bn2" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TEST | |
} | |
} | |
layer { | |
name: "Sigmoid2" | |
type: "Sigmoid" | |
bottom: "bn2" | |
top: "Sigmoid2" | |
} | |
layer { | |
name: "pool2" | |
type: "Pooling" | |
bottom: "Sigmoid2" | |
top: "pool2" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "conv3" | |
type: "Convolution" | |
bottom: "pool2" | |
top: "conv3" | |
convolution_param { | |
num_output: 64 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
param { | |
lr_mult: 1 | |
} | |
param { | |
lr_mult: 1 | |
} | |
} | |
layer { | |
name: "bn3" | |
type: "BatchNorm" | |
bottom: "conv3" | |
top: "bn3" | |
batch_norm_param { | |
use_global_stats: false | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TRAIN | |
} | |
} | |
layer { | |
name: "bn3" | |
type: "BatchNorm" | |
bottom: "conv3" | |
top: "bn3" | |
batch_norm_param { | |
use_global_stats: true | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
} | |
include { | |
phase: TEST | |
} | |
} | |
layer { | |
name: "Sigmoid3" | |
type: "Sigmoid" | |
bottom: "bn3" | |
top: "Sigmoid3" | |
} | |
layer { | |
name: "pool3" | |
type: "Pooling" | |
bottom: "Sigmoid3" | |
top: "pool3" | |
pooling_param { | |
pool: AVE | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "ip1" | |
type: "InnerProduct" | |
bottom: "pool3" | |
top: "ip1" | |
param { | |
lr_mult: 1 | |
decay_mult: 250 | |
} | |
param { | |
lr_mult: 0.2 | |
decay_mult: 0 | |
} | |
inner_product_param { | |
num_output: 10 | |
weight_filler { | |
type: "gaussian" | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
} | |
} | |
} | |
layer { | |
name: "accuracy" | |
type: "Accuracy" | |
bottom: "ip1" | |
bottom: "label" | |
top: "accuracy" | |
include { | |
phase: TEST | |
} | |
} | |
layer { | |
name: "loss" | |
type: "SoftmaxWithLoss" | |
bottom: "ip1" | |
bottom: "label" | |
top: "loss" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Maybe you missed the
Scale
layer afterBatchNorm
layer?