Last active
August 21, 2017 06:49
-
-
Save hustzxd/fcaa7ee79a053015f61a1bfb1248130d to your computer and use it in GitHub Desktop.
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: "MOBILENET" | |
layer { | |
name: "data" | |
type: "Data" | |
top: "data_bgr" | |
top: "label" | |
include { | |
phase: TRAIN | |
} | |
transform_param { | |
mirror: true | |
crop_size: 416 | |
scale: 0.00390625 | |
} | |
data_param { | |
source: "./examples/imagenet/ilsvrc12_train_lmdb" | |
batch_size: 15 | |
backend: LMDB | |
} | |
} | |
layer { | |
name: "data" | |
type: "Data" | |
top: "data_bgr" | |
top: "label" | |
include { | |
phase: TEST | |
} | |
transform_param { | |
scale: 0.00390625 | |
} | |
data_param { | |
# source: "../../../data/yolo/lmdb/test2007_lmdb" | |
source: "./examples/imagenet/ilsvrc12_val_lmdb" | |
batch_size: 5 | |
backend: LMDB | |
} | |
} | |
layer { | |
name: "conv1" | |
type: "Convolution" | |
bottom: "data_bgr" | |
top: "conv1" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 32 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv1/bn" | |
type: "BatchNorm" | |
bottom: "conv1" | |
top: "conv1" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv1/scale" | |
type: "Scale" | |
bottom: "conv1" | |
top: "conv1" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
#default 1, 0 | |
scale_param { | |
bias_term: true | |
filler { | |
value: 1 | |
} | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu1" | |
type: "ReLU" | |
bottom: "conv1" | |
top: "conv1" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "pool1" | |
type: "Pooling" | |
bottom: "conv1" | |
top: "pool1" | |
pooling_param { | |
pool: MAX | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer{ | |
name: "conv2/dw" | |
type: "Convolution" | |
bottom: "pool1" | |
top: "conv2/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 32 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
bias_term: false | |
group: 32 | |
#engine: CAFFE | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv2/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv2/dw" | |
top: "conv2/dw" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv2/dw/scale" | |
type: "Scale" | |
bottom: "conv2/dw" | |
top: "conv2/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu2/dw" | |
type: "ReLU" | |
bottom: "conv2/dw" | |
top: "conv2/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv2/sep" | |
type: "Convolution" | |
bottom: "conv2/dw" | |
top: "conv2/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 64 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv2/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv2/sep" | |
top: "conv2/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv2/sep/scale" | |
type: "Scale" | |
bottom: "conv2/sep" | |
top: "conv2/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu2/sep" | |
type: "ReLU" | |
bottom: "conv2/sep" | |
top: "conv2/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "pool2" | |
type: "Pooling" | |
bottom: "conv2/sep" | |
top: "pool2" | |
pooling_param { | |
pool: MAX | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer{ | |
name: "conv3/dw" | |
type: "Convolution" | |
bottom: "pool2" | |
top: "conv3/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 64 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 64 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv3/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv3/dw" | |
top: "conv3/dw" | |
} | |
layer { | |
name: "conv3/dw/scale" | |
type: "Scale" | |
bottom: "conv3/dw" | |
top: "conv3/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu3/dw" | |
type: "ReLU" | |
bottom: "conv3/dw" | |
top: "conv3/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv3/sep" | |
type: "Convolution" | |
bottom: "conv3/dw" | |
top: "conv3/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv3/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv3/sep" | |
top: "conv3/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv3/sep/scale" | |
type: "Scale" | |
bottom: "conv3/sep" | |
top: "conv3/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu3/sep" | |
type: "ReLU" | |
bottom: "conv3/sep" | |
top: "conv3/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer{ | |
name: "conv4" | |
type: "Convolution" | |
bottom: "conv3/sep" | |
top: "conv4" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 64 | |
kernel_size: 1 | |
pad: 0 #?? | |
stride: 1 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv4/bn" | |
type: "BatchNorm" | |
bottom: "conv4" | |
top: "conv4" | |
} | |
layer { | |
name: "conv4/scale" | |
type: "Scale" | |
bottom: "conv4" | |
top: "conv4" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu4" | |
type: "ReLU" | |
bottom: "conv4" | |
top: "conv4" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer{ | |
name: "conv5/dw" | |
type: "Convolution" | |
bottom: "conv4" | |
top: "conv5/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 64 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 64 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv5/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv5/dw" | |
top: "conv5/dw" | |
} | |
layer { | |
name: "conv5/dw/scale" | |
type: "Scale" | |
bottom: "conv5/dw" | |
top: "conv5/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu5/dw" | |
type: "ReLU" | |
bottom: "conv5/dw" | |
top: "conv5/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv5/sep" | |
type: "Convolution" | |
bottom: "conv5/dw" | |
top: "conv5/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv5/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv5/sep" | |
top: "conv5/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv5/sep/scale" | |
type: "Scale" | |
bottom: "conv5/sep" | |
top: "conv5/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu5/sep" | |
type: "ReLU" | |
bottom: "conv5/sep" | |
top: "conv5/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "pool5" | |
type: "Pooling" | |
bottom: "conv5/sep" | |
top: "pool5" | |
pooling_param { | |
pool: MAX | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer{ | |
name: "conv6/dw" | |
type: "Convolution" | |
bottom: "pool5" | |
top: "conv6/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 128 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 128 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv6/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv6/dw" | |
top: "conv6/dw" | |
} | |
layer { | |
name: "conv6/dw/scale" | |
type: "Scale" | |
bottom: "conv6/dw" | |
top: "conv6/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu6/dw" | |
type: "ReLU" | |
bottom: "conv6/dw" | |
top: "conv6/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv6/sep" | |
type: "Convolution" | |
bottom: "conv6/dw" | |
top: "conv6/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 256 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv6/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv6/sep" | |
top: "conv6/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv6/sep/scale" | |
type: "Scale" | |
bottom: "conv6/sep" | |
top: "conv6/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu6/sep" | |
type: "ReLU" | |
bottom: "conv6/sep" | |
top: "conv6/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv7" | |
type: "Convolution" | |
bottom: "conv6/sep" | |
top: "conv7" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 128 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv7/bn" | |
type: "BatchNorm" | |
bottom: "conv7" | |
top: "conv7" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv7/scale" | |
type: "Scale" | |
bottom: "conv7" | |
top: "conv7" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu7" | |
type: "ReLU" | |
bottom: "conv7" | |
top: "conv7" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer{ | |
name: "conv8/dw" | |
type: "Convolution" | |
bottom: "conv7" | |
top: "conv8/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 128 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 128 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv8/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv8/dw" | |
top: "conv8/dw" | |
} | |
layer { | |
name: "conv8/dw/scale" | |
type: "Scale" | |
bottom: "conv8/dw" | |
top: "conv8/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu8/dw" | |
type: "ReLU" | |
bottom: "conv8/dw" | |
top: "conv8/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv8/sep" | |
type: "Convolution" | |
bottom: "conv8/dw" | |
top: "conv8/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 256 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv8/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv8/sep" | |
top: "conv8/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv8/sep/scale" | |
type: "Scale" | |
bottom: "conv8/sep" | |
top: "conv8/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu8/sep" | |
type: "ReLU" | |
bottom: "conv8/sep" | |
top: "conv8/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "pool8" | |
type: "Pooling" | |
bottom: "conv8/sep" | |
top: "pool8" | |
pooling_param { | |
pool: MAX | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer{ | |
name: "conv9/dw" | |
type: "Convolution" | |
bottom: "pool8" | |
top: "conv9/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 256 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 256 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv9/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv9/dw" | |
top: "conv9/dw" | |
} | |
layer { | |
name: "conv9/dw/scale" | |
type: "Scale" | |
bottom: "conv9/dw" | |
top: "conv9/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu9/dw" | |
type: "ReLU" | |
bottom: "conv9/dw" | |
top: "conv9/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv9/sep" | |
type: "Convolution" | |
bottom: "conv9/dw" | |
top: "conv9/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 512 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv9/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv9/sep" | |
top: "conv9/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv9/sep/scale" | |
type: "Scale" | |
bottom: "conv9/sep" | |
top: "conv9/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu9/sep" | |
type: "ReLU" | |
bottom: "conv9/sep" | |
top: "conv9/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv10" | |
type: "Convolution" | |
bottom: "conv9/sep" | |
top: "conv10" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 256 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv10/bn" | |
type: "BatchNorm" | |
bottom: "conv10" | |
top: "conv10" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv10/scale" | |
type: "Scale" | |
bottom: "conv10" | |
top: "conv10" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu10" | |
type: "ReLU" | |
bottom: "conv10" | |
top: "conv10" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer{ | |
name: "conv11/dw" | |
type: "Convolution" | |
bottom: "conv10" | |
top: "conv11/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 256 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv11/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv11/dw" | |
top: "conv11/dw" | |
} | |
layer { | |
name: "conv11/dw/scale" | |
type: "Scale" | |
bottom: "conv11/dw" | |
top: "conv11/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu11/dw" | |
type: "ReLU" | |
bottom: "conv11/dw" | |
top: "conv11/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv11/sep" | |
type: "Convolution" | |
bottom: "conv11/dw" | |
top: "conv11/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 512 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv11/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv11/sep" | |
top: "conv11/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv11/sep/scale" | |
type: "Scale" | |
bottom: "conv11/sep" | |
top: "conv11/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu11/sep" | |
type: "ReLU" | |
bottom: "conv11/sep" | |
top: "conv11/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv12" | |
type: "Convolution" | |
bottom: "conv11/sep" | |
top: "conv12" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 256 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv12/bn" | |
type: "BatchNorm" | |
bottom: "conv12" | |
top: "conv12" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv12/scale" | |
type: "Scale" | |
bottom: "conv12" | |
top: "conv12" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu12" | |
type: "ReLU" | |
bottom: "conv12" | |
top: "conv12" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer{ | |
name: "conv13/dw" | |
type: "Convolution" | |
bottom: "conv12" | |
top: "conv13/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 256 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 256 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv13/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv13/dw" | |
top: "conv13/dw" | |
} | |
layer { | |
name: "conv13/dw/scale" | |
type: "Scale" | |
bottom: "conv13/dw" | |
top: "conv13/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu13/dw" | |
type: "ReLU" | |
bottom: "conv13/dw" | |
top: "conv13/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv13/sep" | |
type: "Convolution" | |
bottom: "conv13/dw" | |
top: "conv13/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 512 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv13/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv13/sep" | |
top: "conv13/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv13/sep/scale" | |
type: "Scale" | |
bottom: "conv13/sep" | |
top: "conv13/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu13/sep" | |
type: "ReLU" | |
bottom: "conv13/sep" | |
top: "conv13/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "pool13" | |
type: "Pooling" | |
bottom: "conv13/sep" | |
top: "pool13" | |
pooling_param { | |
pool: MAX | |
kernel_size: 2 | |
stride: 2 | |
} | |
} | |
layer{ | |
name: "conv14/dw" | |
type: "Convolution" | |
bottom: "pool13" | |
top: "conv14/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 512 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 512 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv14/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv14/dw" | |
top: "conv14/dw" | |
} | |
layer { | |
name: "conv14/dw/scale" | |
type: "Scale" | |
bottom: "conv14/dw" | |
top: "conv14/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu14/dw" | |
type: "ReLU" | |
bottom: "conv14/dw" | |
top: "conv14/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv14/sep" | |
type: "Convolution" | |
bottom: "conv14/dw" | |
top: "conv14/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 1024 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv14/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv14/sep" | |
top: "conv14/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv14/sep/scale" | |
type: "Scale" | |
bottom: "conv14/sep" | |
top: "conv14/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu14/sep" | |
type: "ReLU" | |
bottom: "conv14/sep" | |
top: "conv14/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv15" | |
type: "Convolution" | |
bottom: "conv14/sep" | |
top: "conv15" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 512 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv15/bn" | |
type: "BatchNorm" | |
bottom: "conv15" | |
top: "conv15" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv15/scale" | |
type: "Scale" | |
bottom: "conv15" | |
top: "conv15" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu15" | |
type: "ReLU" | |
bottom: "conv15" | |
top: "conv15" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer{ | |
name: "conv16/dw" | |
type: "Convolution" | |
bottom: "conv15" | |
top: "conv16/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 512 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 512 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv16/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv16/dw" | |
top: "conv16/dw" | |
} | |
layer { | |
name: "conv16/dw/scale" | |
type: "Scale" | |
bottom: "conv16/dw" | |
top: "conv16/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu16/dw" | |
type: "ReLU" | |
bottom: "conv16/dw" | |
top: "conv16/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv16/sep" | |
type: "Convolution" | |
bottom: "conv16/dw" | |
top: "conv16/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 1024 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv16/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv16/sep" | |
top: "conv16/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv16/sep/scale" | |
type: "Scale" | |
bottom: "conv16/sep" | |
top: "conv16/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu16/sep" | |
type: "ReLU" | |
bottom: "conv16/sep" | |
top: "conv16/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv17" | |
type: "Convolution" | |
bottom: "conv16/sep" | |
top: "conv17" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 512 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv17/bn" | |
type: "BatchNorm" | |
bottom: "conv17" | |
top: "conv17" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv17/scale" | |
type: "Scale" | |
bottom: "conv17" | |
top: "conv17" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu17" | |
type: "ReLU" | |
bottom: "conv17" | |
top: "conv17" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer{ | |
name: "conv18/dw" | |
type: "Convolution" | |
bottom: "conv17" | |
top: "conv18/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 512 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 512 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv18/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv18/dw" | |
top: "conv18/dw" | |
} | |
layer { | |
name: "conv18/dw/scale" | |
type: "Scale" | |
bottom: "conv18/dw" | |
top: "conv18/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu18/dw" | |
type: "ReLU" | |
bottom: "conv18/dw" | |
top: "conv18/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv18/sep" | |
type: "Convolution" | |
bottom: "conv18/dw" | |
top: "conv18/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 1024 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv18/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv18/sep" | |
top: "conv18/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv18/sep/scale" | |
type: "Scale" | |
bottom: "conv18/sep" | |
top: "conv18/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu18/sep" | |
type: "ReLU" | |
bottom: "conv18/sep" | |
top: "conv18/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer{ | |
name: "conv19/dw" | |
type: "Convolution" | |
bottom: "conv18/sep" | |
top: "conv19/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 1024 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 1024 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv19/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv19/dw" | |
top: "conv19/dw" | |
} | |
layer { | |
name: "conv19/dw/scale" | |
type: "Scale" | |
bottom: "conv19/dw" | |
top: "conv19/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu19/dw" | |
type: "ReLU" | |
bottom: "conv19/dw" | |
top: "conv19/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv19/sep" | |
type: "Convolution" | |
bottom: "conv19/dw" | |
top: "conv19/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 1024 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv19/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv19/sep" | |
top: "conv19/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv19/sep/scale" | |
type: "Scale" | |
bottom: "conv19/sep" | |
top: "conv19/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu19/sep" | |
type: "ReLU" | |
bottom: "conv19/sep" | |
top: "conv19/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer{ | |
name: "conv20/dw" | |
type: "Convolution" | |
bottom: "conv19/sep" | |
top: "conv20/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 1024 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 1024 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv20/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv20/dw" | |
top: "conv20/dw" | |
} | |
layer { | |
name: "conv20/dw/scale" | |
type: "Scale" | |
bottom: "conv20/dw" | |
top: "conv20/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu20/dw" | |
type: "ReLU" | |
bottom: "conv20/dw" | |
top: "conv20/dw" | |
relu_param { | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv20/sep" | |
type: "Convolution" | |
bottom: "conv20/dw" | |
top: "conv20/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 1024 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv20/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv20/sep" | |
top: "conv20/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv20/sep/scale" | |
type: "Scale" | |
bottom: "conv20/sep" | |
top: "conv20/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu20/sep" | |
type: "ReLU" | |
bottom: "conv20/sep" | |
top: "conv20/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "reorg1" | |
type: "Reorg" | |
bottom: "conv13/sep" | |
top: "reorg1" | |
reorg_param { | |
stride: 2 | |
} | |
} | |
layer { | |
name: "concat1" | |
type: "Concat" | |
bottom: "reorg1" | |
bottom: "conv20/sep" | |
top: "concat1" | |
} | |
layer{ | |
name: "conv21/dw" | |
type: "Convolution" | |
bottom: "concat1" | |
top: "conv21/dw" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 3072 | |
kernel_size: 3 | |
pad: 1 | |
stride: 1 | |
group: 3072 | |
bias_term: false | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv21/dw/bn" | |
type: "BatchNorm" | |
bottom: "conv21/dw" | |
top: "conv21/dw" | |
} | |
layer { | |
name: "conv21/dw/scale" | |
type: "Scale" | |
bottom: "conv21/dw" | |
top: "conv21/dw" | |
param { # scale | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
param { # bias | |
lr_mult: 1 | |
decay_mult: 0 | |
} | |
scale_param { | |
bias_term: true | |
} | |
} | |
layer { | |
name: "relu21/dw" | |
type: "ReLU" | |
bottom: "conv21/dw" | |
top: "conv21/dw" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "conv21/sep" | |
type: "Convolution" | |
bottom: "conv21/dw" | |
top: "conv21/sep" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
convolution_param { | |
num_output: 1024 | |
bias_term: false | |
pad: 0 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
} | |
} | |
layer { | |
name: "conv21/sep/bn" | |
type: "BatchNorm" | |
bottom: "conv21/sep" | |
top: "conv21/sep" | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
param { | |
lr_mult: 0 | |
decay_mult: 0 | |
} | |
} | |
layer { | |
name: "conv21/sep/scale" | |
type: "Scale" | |
bottom: "conv21/sep" | |
top: "conv21/sep" | |
scale_param { | |
filler { | |
value: 1 | |
} | |
bias_term: true | |
bias_filler { | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "relu21/sep" | |
type: "ReLU" | |
bottom: "conv21/sep" | |
top: "conv21/sep" | |
relu_param{ | |
negative_slope: 0.1 | |
} | |
} | |
layer { | |
name: "pool21" | |
type: "Pooling" | |
bottom: "conv21/sep" | |
top: "pool21" | |
pooling_param { | |
pool: AVE | |
global_pooling: true | |
} | |
} | |
layer { | |
name: "fc22" | |
type: "Convolution" | |
bottom: "pool21" | |
top: "fc22" | |
param { | |
lr_mult: 1 | |
decay_mult: 1 | |
} | |
param { | |
lr_mult: 2 | |
decay_mult: 0 | |
} | |
convolution_param { | |
num_output: 1000 | |
kernel_size: 1 | |
weight_filler { | |
type: "xavier" | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
} | |
layer { | |
name: "accuracy" | |
type: "Accuracy" | |
bottom: "fc22" | |
bottom: "label" | |
top: "accuracy" | |
include { | |
phase: TEST | |
} | |
} | |
layer { | |
name: "loss" | |
type: "SoftmaxWithLoss" | |
bottom: "fc22" | |
bottom: "label" | |
top: "loss" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment