Created
April 7, 2019 02:35
-
-
Save wenfahu/085491e883978be1cb7c5804223a8cb9 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
layer { | |
name: "train-data" | |
type: "Data" | |
top: "data" | |
top: "label" | |
include { | |
phase: TRAIN | |
} | |
transform_param { | |
mirror: true | |
crop_size: 375 | |
mean_file: "/home/xinge/dataset/ImageEmotion/example2/aug_emo_train_mean.binaryproto" | |
} | |
data_param { | |
source: "/home/xinge/dataset/ImageEmotion/example2/aug_emo_train_lmdb/" | |
batch_size: 64 | |
backend: LMDB | |
} | |
} | |
layer { | |
name: "val-data" | |
type: "Data" | |
top: "data" | |
top: "label" | |
include { | |
phase: TEST | |
} | |
transform_param { | |
crop_size: 375 | |
mean_file: "/home/xinge/dataset/ImageEmotion/example2/aug_emo_val_mean.binaryproto" | |
} | |
data_param { | |
source: "/home/xinge/dataset/ImageEmotion/example2/aug_emo_val_lmdb/" | |
batch_size: 50 | |
backend: LMDB | |
} | |
} | |
layer { | |
name: "conv1" | |
type: "Convolution" | |
bottom: "data" | |
top: "conv1" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 96 | |
kernel_size: 11 | |
stride: 4 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu0" | |
type: "ReLU" | |
bottom: "conv1" | |
top: "conv1" | |
} | |
layer { | |
name: "cccp1" | |
type: "Convolution" | |
bottom: "conv1" | |
top: "cccp1" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 96 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu1" | |
type: "ReLU" | |
bottom: "cccp1" | |
top: "cccp1" | |
} | |
layer { | |
name: "cccp2" | |
type: "Convolution" | |
bottom: "cccp1" | |
top: "cccp2" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 96 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu2" | |
type: "ReLU" | |
bottom: "cccp2" | |
top: "cccp2" | |
} | |
# ==== side 1 ==== | |
# ==== side_1 ============================= | |
layer { | |
name: "pool0" | |
type: "Pooling" | |
bottom: "cccp2" | |
top: "pool0" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
# ===== side_2 ======================= | |
layer { | |
name: "side_2" | |
type: "Convolution" | |
bottom: "pool0" | |
top: "side_2" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 256 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "side_relu2" | |
type: "ReLU" | |
bottom: "side_2" | |
top: "side_2" | |
} | |
layer { | |
name: "side_pool2" | |
type: "Pooling" | |
bottom: "side_2" | |
top: "side_pool2" | |
pooling_param { | |
pool: AVE | |
kernel_size: 46 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "side_drop2" | |
type: "Dropout" | |
bottom: "side_pool2" | |
top: "side_pool2" | |
dropout_param { | |
dropout_ratio: 0.5 | |
} | |
} | |
#========= side_2 ========= | |
layer { | |
name: "conv2" | |
type: "Convolution" | |
bottom: "pool0" | |
top: "conv2" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 256 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu3" | |
type: "ReLU" | |
bottom: "conv2" | |
top: "conv2" | |
} | |
layer { | |
name: "cccp3" | |
type: "Convolution" | |
bottom: "conv2" | |
top: "cccp3" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 256 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu5" | |
type: "ReLU" | |
bottom: "cccp3" | |
top: "cccp3" | |
} | |
layer { | |
name: "cccp4" | |
type: "Convolution" | |
bottom: "cccp3" | |
top: "cccp4" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 256 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu6" | |
type: "ReLU" | |
bottom: "cccp4" | |
top: "cccp4" | |
} | |
layer { | |
name: "pool2" | |
type: "Pooling" | |
bottom: "cccp4" | |
top: "pool2" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
# size: 23 | |
} | |
} | |
# ===== side_3 ======================= | |
layer { | |
name: "side_3" | |
type: "Convolution" | |
bottom: "pool2" | |
top: "side_3" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 256 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "side_relu3" | |
type: "ReLU" | |
bottom: "side_3" | |
top: "side_3" | |
} | |
layer { | |
name: "side_pool3" | |
type: "Pooling" | |
bottom: "side_3" | |
top: "side_pool3" | |
pooling_param { | |
pool: AVE | |
kernel_size: 23 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "side_drop3" | |
type: "Dropout" | |
bottom: "side_pool3" | |
top: "side_pool3" | |
dropout_param { | |
dropout_ratio: 0.5 | |
} | |
} | |
#========= side_3 ========= | |
layer { | |
name: "conv3" | |
type: "Convolution" | |
bottom: "pool2" | |
top: "conv3" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 384 | |
pad: 2 | |
kernel_size: 5 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu7" | |
type: "ReLU" | |
bottom: "conv3" | |
top: "conv3" | |
} | |
layer { | |
name: "cccp5" | |
type: "Convolution" | |
bottom: "conv3" | |
top: "cccp5" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 384 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu8" | |
type: "ReLU" | |
bottom: "cccp5" | |
top: "cccp5" | |
} | |
layer { | |
name: "cccp6" | |
type: "Convolution" | |
bottom: "cccp5" | |
top: "cccp6" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 384 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu9" | |
type: "ReLU" | |
bottom: "cccp6" | |
top: "cccp6" | |
} | |
layer { | |
name: "pool3" | |
type: "Pooling" | |
bottom: "cccp6" | |
top: "pool3" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
layer { | |
name: "drop" | |
type: "Dropout" | |
bottom: "pool3" | |
top: "pool3" | |
dropout_param { | |
dropout_ratio: 0.5 | |
} | |
} | |
# ===== side_4 ======================= | |
layer { | |
name: "side_4" | |
type: "Convolution" | |
bottom: "pool3" | |
top: "side_4" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 256 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "side_relu4" | |
type: "ReLU" | |
bottom: "side_4" | |
top: "side_4" | |
} | |
layer { | |
name: "side_pool4" | |
type: "Pooling" | |
bottom: "side_4" | |
top: "side_pool4" | |
pooling_param { | |
pool: AVE | |
kernel_size: 11 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "side_drop4" | |
type: "Dropout" | |
bottom: "side_pool4" | |
top: "side_pool4" | |
dropout_param { | |
dropout_ratio: 0.5 | |
} | |
} | |
#========= side_4 ========= | |
layer { | |
name: "conv4-1024" | |
type: "Convolution" | |
bottom: "pool3" | |
top: "conv4" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 1024 | |
pad: 1 | |
kernel_size: 4 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu10" | |
type: "ReLU" | |
bottom: "conv4" | |
top: "conv4" | |
} | |
layer { | |
name: "cccp7-1024" | |
type: "Convolution" | |
bottom: "conv4" | |
top: "cccp7" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 512 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu11" | |
type: "ReLU" | |
bottom: "cccp7" | |
top: "cccp7" | |
} | |
layer { | |
name: "cccp8-1024" | |
type: "Convolution" | |
bottom: "cccp7" | |
top: "cccp8" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 256 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.01 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "relu12" | |
type: "ReLU" | |
bottom: "cccp8" | |
top: "cccp8" | |
} | |
layer { | |
name: "pool4" | |
type: "Pooling" | |
bottom: "cccp8" | |
top: "pool4" | |
pooling_param { | |
pool: MAX | |
kernel_size: 3 | |
stride: 2 | |
} | |
} | |
#=======side branch_5 ====== | |
layer { | |
name: "side_5" | |
type: "Convolution" | |
bottom: "pool4" | |
top: "side_5" | |
param { | |
lr_mult: 2.0 | |
decay_mult: 1.0 | |
} | |
param { | |
lr_mult: 2.0 | |
decay_mult: 0.0 | |
} | |
convolution_param { | |
num_output: 256 | |
kernel_size: 1 | |
stride: 1 | |
weight_filler { | |
type: "gaussian" | |
mean: 0.0 | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0.0 | |
} | |
} | |
} | |
layer { | |
name: "side_relu5" | |
type: "ReLU" | |
bottom: "side_5" | |
top: "side_5" | |
} | |
layer { | |
name: "side_pool5" | |
type: "Pooling" | |
bottom: "side_5" | |
top: "side_pool5" | |
pooling_param { | |
pool: AVE | |
kernel_size: 5 | |
stride: 1 | |
} | |
} | |
layer { | |
name: "side_drop5" | |
type: "Dropout" | |
bottom: "side_pool5" | |
top: "side_pool5" | |
dropout_param { | |
dropout_ratio: 0.5 | |
} | |
} | |
#=========================== | |
layer { | |
name: "concat" | |
bottom: "side_pool5" | |
bottom: "side_pool2" | |
bottom: "side_pool3" | |
bottom: "side_pool4" | |
top: "out1" | |
type: "Concat" | |
concat_param { | |
axis: 2 | |
} | |
} | |
layer { | |
name: "relu_con_1" | |
type: "ReLU" | |
bottom: "out1" | |
top: "out1" | |
} | |
layer { | |
name: "fc1" | |
type: "InnerProduct" | |
# learning rate and decay multipliers for the weights | |
param { lr_mult: 2 decay_mult: 1 } | |
# learning rate and decay multipliers for the biases | |
param { lr_mult: 2 decay_mult: 0 } | |
inner_product_param { | |
num_output: 512 | |
weight_filler { | |
type: "gaussian" | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
bottom: "out1" | |
top: "fc1" | |
} | |
layer { | |
name: "relu_con_2" | |
type: "ReLU" | |
bottom: "fc1" | |
top: "fc1" | |
} | |
layer { | |
name: "fc2" | |
type: "InnerProduct" | |
# learning rate and decay multipliers for the weights | |
param { lr_mult: 2 decay_mult: 1 } | |
# learning rate and decay multipliers for the biases | |
param { lr_mult: 2 decay_mult: 0 } | |
inner_product_param { | |
num_output: 8 | |
weight_filler { | |
type: "gaussian" | |
std: 0.05 | |
} | |
bias_filler { | |
type: "constant" | |
value: 0 | |
} | |
} | |
bottom: "fc1" | |
top: "fc2" | |
} | |
layer { | |
name: "accuracy1" | |
type: "Accuracy" | |
bottom: "fc2" | |
bottom: "label" | |
top: "accuracy1" | |
include { | |
phase: TEST | |
} | |
} | |
layer { | |
name: "loss" | |
type: "SoftmaxWithLoss" | |
bottom: "fc2" | |
bottom: "label" | |
top: "loss" | |
loss_weight: 1 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment