added to archtiecture
This commit is contained in:
parent
df5e2334df
commit
3acb67c623
@ -266,4 +266,4 @@
|
|||||||
},
|
},
|
||||||
"nbformat": 4,
|
"nbformat": 4,
|
||||||
"nbformat_minor": 5
|
"nbformat_minor": 5
|
||||||
}
|
}
|
@ -0,0 +1,478 @@
|
|||||||
|
# AlexNet
|
||||||
|
name: "AlexNet"
|
||||||
|
layer {
|
||||||
|
name: "train-data"
|
||||||
|
type: "Data"
|
||||||
|
top: "data"
|
||||||
|
top: "label"
|
||||||
|
transform_param {
|
||||||
|
mirror: true
|
||||||
|
crop_size: 227
|
||||||
|
}
|
||||||
|
data_param {
|
||||||
|
batch_size: 128
|
||||||
|
}
|
||||||
|
include { stage: "train" }
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "val-data"
|
||||||
|
type: "Data"
|
||||||
|
top: "data"
|
||||||
|
top: "label"
|
||||||
|
transform_param {
|
||||||
|
crop_size: 227
|
||||||
|
}
|
||||||
|
data_param {
|
||||||
|
batch_size: 32
|
||||||
|
}
|
||||||
|
include { stage: "val" }
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 1
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv1"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "data"
|
||||||
|
top: "conv1"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 24
|
||||||
|
kernel_size: 11
|
||||||
|
stride: 4
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu1"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv1"
|
||||||
|
top: "conv1"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "norm1"
|
||||||
|
type: "LRN"
|
||||||
|
bottom: "conv1"
|
||||||
|
top: "norm1"
|
||||||
|
lrn_param {
|
||||||
|
local_size: 5
|
||||||
|
alpha: 0.0001
|
||||||
|
beta: 0.75
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 1.2
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv1.2"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "norm1"
|
||||||
|
top: "conv1.2"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 24
|
||||||
|
kernel_size: 11
|
||||||
|
stride: 4
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu1.2"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv1.2"
|
||||||
|
top: "conv1.2"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "norm1.2"
|
||||||
|
type: "LRN"
|
||||||
|
bottom: "conv1.2"
|
||||||
|
top: "norm1.2"
|
||||||
|
lrn_param {
|
||||||
|
local_size: 5
|
||||||
|
alpha: 0.0001
|
||||||
|
beta: 0.75
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "pool1"
|
||||||
|
type: "Pooling"
|
||||||
|
bottom: "norm1.2"
|
||||||
|
top: "pool1"
|
||||||
|
pooling_param {
|
||||||
|
pool: MAX
|
||||||
|
kernel_size: 3
|
||||||
|
stride: 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 2
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv2"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "pool1"
|
||||||
|
top: "conv2"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 256
|
||||||
|
pad: 2
|
||||||
|
kernel_size: 5
|
||||||
|
group: 2
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu2"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv2"
|
||||||
|
top: "conv2"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "norm2"
|
||||||
|
type: "LRN"
|
||||||
|
bottom: "conv2"
|
||||||
|
top: "norm2"
|
||||||
|
lrn_param {
|
||||||
|
local_size: 5
|
||||||
|
alpha: 0.0001
|
||||||
|
beta: 0.75
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "pool2"
|
||||||
|
type: "Pooling"
|
||||||
|
bottom: "norm2"
|
||||||
|
top: "pool2"
|
||||||
|
pooling_param {
|
||||||
|
pool: MAX
|
||||||
|
kernel_size: 3
|
||||||
|
stride: 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 3
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv3"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "pool2"
|
||||||
|
top: "conv3"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 384
|
||||||
|
pad: 1
|
||||||
|
kernel_size: 3
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu3"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv3"
|
||||||
|
top: "conv3"
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 4
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv4"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "conv3"
|
||||||
|
top: "conv4"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 384
|
||||||
|
pad: 1
|
||||||
|
kernel_size: 3
|
||||||
|
group: 2
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu4"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv4"
|
||||||
|
top: "conv4"
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 5
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv5"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "conv4"
|
||||||
|
top: "conv5"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 256
|
||||||
|
pad: 1
|
||||||
|
kernel_size: 3
|
||||||
|
group: 2
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu5"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv5"
|
||||||
|
top: "conv5"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "pool5"
|
||||||
|
type: "Pooling"
|
||||||
|
bottom: "conv5"
|
||||||
|
top: "pool5"
|
||||||
|
pooling_param {
|
||||||
|
pool: MAX
|
||||||
|
kernel_size: 3
|
||||||
|
stride: 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# DENSE 1
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "fc6"
|
||||||
|
type: "InnerProduct"
|
||||||
|
bottom: "pool5"
|
||||||
|
top: "fc6"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
inner_product_param {
|
||||||
|
num_output: 4096
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.005
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu6"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "fc6"
|
||||||
|
top: "fc6"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "drop6"
|
||||||
|
type: "Dropout"
|
||||||
|
bottom: "fc6"
|
||||||
|
top: "fc6"
|
||||||
|
dropout_param {
|
||||||
|
dropout_ratio: 0.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# DENSE 2
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "fc7"
|
||||||
|
type: "InnerProduct"
|
||||||
|
bottom: "fc6"
|
||||||
|
top: "fc7"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
inner_product_param {
|
||||||
|
num_output: 4096
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.005
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu7"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "fc7"
|
||||||
|
top: "fc7"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "drop7"
|
||||||
|
type: "Dropout"
|
||||||
|
bottom: "fc7"
|
||||||
|
top: "fc7"
|
||||||
|
dropout_param {
|
||||||
|
dropout_ratio: 0.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# OUTPUT
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "fc8"
|
||||||
|
type: "InnerProduct"
|
||||||
|
bottom: "fc7"
|
||||||
|
top: "fc8"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
inner_product_param {
|
||||||
|
# Since num_output is unset, DIGITS will automatically set it to the
|
||||||
|
# number of classes in your dataset.
|
||||||
|
# Uncomment this line to set it explicitly:
|
||||||
|
#num_output: 1000
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# STATS
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "accuracy"
|
||||||
|
type: "Accuracy"
|
||||||
|
bottom: "fc8"
|
||||||
|
bottom: "label"
|
||||||
|
top: "accuracy"
|
||||||
|
include { stage: "val" }
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "loss"
|
||||||
|
type: "SoftmaxWithLoss"
|
||||||
|
bottom: "fc8"
|
||||||
|
bottom: "label"
|
||||||
|
top: "loss"
|
||||||
|
exclude { stage: "deploy" }
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "softmax"
|
||||||
|
type: "Softmax"
|
||||||
|
bottom: "fc8"
|
||||||
|
top: "softmax"
|
||||||
|
include { stage: "deploy" }
|
||||||
|
}
|
@ -0,0 +1,576 @@
|
|||||||
|
# AlexNet
|
||||||
|
name: "AlexNet"
|
||||||
|
layer {
|
||||||
|
name: "train-data"
|
||||||
|
type: "Data"
|
||||||
|
top: "data"
|
||||||
|
top: "label"
|
||||||
|
transform_param {
|
||||||
|
mirror: true
|
||||||
|
crop_size: 227
|
||||||
|
}
|
||||||
|
data_param {
|
||||||
|
batch_size: 128
|
||||||
|
}
|
||||||
|
include { stage: "train" }
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "val-data"
|
||||||
|
type: "Data"
|
||||||
|
top: "data"
|
||||||
|
top: "label"
|
||||||
|
transform_param {
|
||||||
|
crop_size: 227
|
||||||
|
}
|
||||||
|
data_param {
|
||||||
|
batch_size: 32
|
||||||
|
}
|
||||||
|
include { stage: "val" }
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 1
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv1"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "data"
|
||||||
|
top: "conv1"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 24
|
||||||
|
kernel_size: 11
|
||||||
|
stride: 4
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu1"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv1"
|
||||||
|
top: "conv1"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "norm1"
|
||||||
|
type: "LRN"
|
||||||
|
bottom: "conv1"
|
||||||
|
top: "norm1"
|
||||||
|
lrn_param {
|
||||||
|
local_size: 5
|
||||||
|
alpha: 0.0001
|
||||||
|
beta: 0.75
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 1.2
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv1.2"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "norm1"
|
||||||
|
top: "conv1.2"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 24
|
||||||
|
kernel_size: 11
|
||||||
|
stride: 4
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu1.2"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv1.2"
|
||||||
|
top: "conv1.2"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "norm1.2"
|
||||||
|
type: "LRN"
|
||||||
|
bottom: "conv1.2"
|
||||||
|
top: "norm1.2"
|
||||||
|
lrn_param {
|
||||||
|
local_size: 5
|
||||||
|
alpha: 0.0001
|
||||||
|
beta: 0.75
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 1.3
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv1.3"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "norm1.2"
|
||||||
|
top: "conv1.3"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 24
|
||||||
|
kernel_size: 11
|
||||||
|
stride: 4
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu1.3"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv1.3"
|
||||||
|
top: "conv1.3"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "norm1.3"
|
||||||
|
type: "LRN"
|
||||||
|
bottom: "conv1.3"
|
||||||
|
top: "norm1.3"
|
||||||
|
lrn_param {
|
||||||
|
local_size: 5
|
||||||
|
alpha: 0.0001
|
||||||
|
beta: 0.75
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 1.4
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv1.4"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "norm1.3"
|
||||||
|
top: "conv1.4"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 24
|
||||||
|
kernel_size: 11
|
||||||
|
stride: 4
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu1.4"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv1.4"
|
||||||
|
top: "conv1.4"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "norm1.4"
|
||||||
|
type: "LRN"
|
||||||
|
bottom: "conv1.4"
|
||||||
|
top: "norm1.4"
|
||||||
|
lrn_param {
|
||||||
|
local_size: 5
|
||||||
|
alpha: 0.0001
|
||||||
|
beta: 0.75
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "pool1"
|
||||||
|
type: "Pooling"
|
||||||
|
bottom: "norm1.4"
|
||||||
|
top: "pool1"
|
||||||
|
pooling_param {
|
||||||
|
pool: MAX
|
||||||
|
kernel_size: 3
|
||||||
|
stride: 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 2
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv2"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "pool1"
|
||||||
|
top: "conv2"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 256
|
||||||
|
pad: 2
|
||||||
|
kernel_size: 5
|
||||||
|
group: 2
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu2"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv2"
|
||||||
|
top: "conv2"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "norm2"
|
||||||
|
type: "LRN"
|
||||||
|
bottom: "conv2"
|
||||||
|
top: "norm2"
|
||||||
|
lrn_param {
|
||||||
|
local_size: 5
|
||||||
|
alpha: 0.0001
|
||||||
|
beta: 0.75
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "pool2"
|
||||||
|
type: "Pooling"
|
||||||
|
bottom: "norm2"
|
||||||
|
top: "pool2"
|
||||||
|
pooling_param {
|
||||||
|
pool: MAX
|
||||||
|
kernel_size: 3
|
||||||
|
stride: 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 3
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv3"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "pool2"
|
||||||
|
top: "conv3"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 384
|
||||||
|
pad: 1
|
||||||
|
kernel_size: 3
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu3"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv3"
|
||||||
|
top: "conv3"
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 4
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv4"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "conv3"
|
||||||
|
top: "conv4"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 384
|
||||||
|
pad: 1
|
||||||
|
kernel_size: 3
|
||||||
|
group: 2
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu4"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv4"
|
||||||
|
top: "conv4"
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# CONV 5
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "conv5"
|
||||||
|
type: "Convolution"
|
||||||
|
bottom: "conv4"
|
||||||
|
top: "conv5"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
convolution_param {
|
||||||
|
num_output: 256
|
||||||
|
pad: 1
|
||||||
|
kernel_size: 3
|
||||||
|
group: 2
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu5"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "conv5"
|
||||||
|
top: "conv5"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "pool5"
|
||||||
|
type: "Pooling"
|
||||||
|
bottom: "conv5"
|
||||||
|
top: "pool5"
|
||||||
|
pooling_param {
|
||||||
|
pool: MAX
|
||||||
|
kernel_size: 3
|
||||||
|
stride: 2
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# DENSE 1
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "fc6"
|
||||||
|
type: "InnerProduct"
|
||||||
|
bottom: "pool5"
|
||||||
|
top: "fc6"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
inner_product_param {
|
||||||
|
num_output: 4096
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.005
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu6"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "fc6"
|
||||||
|
top: "fc6"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "drop6"
|
||||||
|
type: "Dropout"
|
||||||
|
bottom: "fc6"
|
||||||
|
top: "fc6"
|
||||||
|
dropout_param {
|
||||||
|
dropout_ratio: 0.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# DENSE 2
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "fc7"
|
||||||
|
type: "InnerProduct"
|
||||||
|
bottom: "fc6"
|
||||||
|
top: "fc7"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
inner_product_param {
|
||||||
|
num_output: 4096
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.005
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0.1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "relu7"
|
||||||
|
type: "ReLU"
|
||||||
|
bottom: "fc7"
|
||||||
|
top: "fc7"
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "drop7"
|
||||||
|
type: "Dropout"
|
||||||
|
bottom: "fc7"
|
||||||
|
top: "fc7"
|
||||||
|
dropout_param {
|
||||||
|
dropout_ratio: 0.5
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# OUTPUT
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "fc8"
|
||||||
|
type: "InnerProduct"
|
||||||
|
bottom: "fc7"
|
||||||
|
top: "fc8"
|
||||||
|
param {
|
||||||
|
lr_mult: 1
|
||||||
|
decay_mult: 1
|
||||||
|
}
|
||||||
|
param {
|
||||||
|
lr_mult: 2
|
||||||
|
decay_mult: 0
|
||||||
|
}
|
||||||
|
inner_product_param {
|
||||||
|
# Since num_output is unset, DIGITS will automatically set it to the
|
||||||
|
# number of classes in your dataset.
|
||||||
|
# Uncomment this line to set it explicitly:
|
||||||
|
#num_output: 1000
|
||||||
|
weight_filler {
|
||||||
|
type: "gaussian"
|
||||||
|
std: 0.01
|
||||||
|
}
|
||||||
|
bias_filler {
|
||||||
|
type: "constant"
|
||||||
|
value: 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
################
|
||||||
|
# STATS
|
||||||
|
################
|
||||||
|
|
||||||
|
layer {
|
||||||
|
name: "accuracy"
|
||||||
|
type: "Accuracy"
|
||||||
|
bottom: "fc8"
|
||||||
|
bottom: "label"
|
||||||
|
top: "accuracy"
|
||||||
|
include { stage: "val" }
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "loss"
|
||||||
|
type: "SoftmaxWithLoss"
|
||||||
|
bottom: "fc8"
|
||||||
|
bottom: "label"
|
||||||
|
top: "loss"
|
||||||
|
exclude { stage: "deploy" }
|
||||||
|
}
|
||||||
|
layer {
|
||||||
|
name: "softmax"
|
||||||
|
type: "Softmax"
|
||||||
|
bottom: "fc8"
|
||||||
|
top: "softmax"
|
||||||
|
include { stage: "deploy" }
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user