Skip to content

Instantly share code, notes, and snippets.

@wenfahu
Created April 7, 2019 02:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wenfahu/085491e883978be1cb7c5804223a8cb9 to your computer and use it in GitHub Desktop.
Save wenfahu/085491e883978be1cb7c5804223a8cb9 to your computer and use it in GitHub Desktop.
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