mirror of
https://github.com/openmv/openmv.git
synced 2025-11-04 14:49:50 +08:00
NN: Add smile detection network.
This commit is contained in:
parent
5be410c139
commit
175315fd39
BIN
ml/cmsisnn/models/smile/smile.network
Normal file
BIN
ml/cmsisnn/models/smile/smile.network
Normal file
Binary file not shown.
BIN
ml/cmsisnn/models/smile/smile_iter_200000.caffemodel
Normal file
BIN
ml/cmsisnn/models/smile/smile_iter_200000.caffemodel
Normal file
Binary file not shown.
230
ml/cmsisnn/models/smile/smile_train_test.prototxt
Normal file
230
ml/cmsisnn/models/smile/smile_train_test.prototxt
Normal file
@ -0,0 +1,230 @@
|
||||
name: "SmileNet"
|
||||
layer {
|
||||
name: "data"
|
||||
type: "Data"
|
||||
top: "data"
|
||||
top: "label"
|
||||
include {
|
||||
phase: TRAIN
|
||||
}
|
||||
transform_param {
|
||||
mean_file: "caffe/examples/smile/mean.binaryproto"
|
||||
}
|
||||
data_param {
|
||||
source: "caffe/examples/smile/train_lmdb"
|
||||
batch_size: 100
|
||||
backend: LMDB
|
||||
}
|
||||
}
|
||||
layer {
|
||||
name: "data"
|
||||
type: "Data"
|
||||
top: "data"
|
||||
top: "label"
|
||||
include {
|
||||
phase: TEST
|
||||
}
|
||||
transform_param {
|
||||
mean_file: "caffe/examples/smile/mean.binaryproto"
|
||||
}
|
||||
data_param {
|
||||
source: "caffe/examples/smile/test_lmdb"
|
||||
batch_size: 100
|
||||
backend: LMDB
|
||||
}
|
||||
}
|
||||
layer {
|
||||
name: "conv1"
|
||||
type: "Convolution"
|
||||
bottom: "data"
|
||||
top: "conv1"
|
||||
param {
|
||||
lr_mult: 1
|
||||
}
|
||||
param {
|
||||
lr_mult: 2
|
||||
}
|
||||
convolution_param {
|
||||
num_output: 16
|
||||
pad: 1
|
||||
kernel_size: 3
|
||||
stride: 1
|
||||
weight_filler {
|
||||
type: "gaussian"
|
||||
std: 0.0001
|
||||
}
|
||||
bias_filler {
|
||||
type: "constant"
|
||||
}
|
||||
}
|
||||
}
|
||||
layer {
|
||||
name: "dropout"
|
||||
type: "Dropout"
|
||||
bottom: "conv1"
|
||||
top: "conv1"
|
||||
dropout_param {
|
||||
dropout_ratio: 0.5
|
||||
}
|
||||
include {
|
||||
phase: TRAIN
|
||||
}
|
||||
}
|
||||
layer {
|
||||
name: "relu1"
|
||||
type: "ReLU"
|
||||
bottom: "conv1"
|
||||
top: "conv1"
|
||||
}
|
||||
layer {
|
||||
name: "pool1"
|
||||
type: "Pooling"
|
||||
bottom: "conv1"
|
||||
top: "pool1"
|
||||
pooling_param {
|
||||
pool: MAX
|
||||
kernel_size: 2
|
||||
stride: 2
|
||||
}
|
||||
}
|
||||
layer {
|
||||
name: "conv2"
|
||||
type: "Convolution"
|
||||
bottom: "pool1"
|
||||
top: "conv2"
|
||||
param {
|
||||
lr_mult: 1
|
||||
}
|
||||
param {
|
||||
lr_mult: 2
|
||||
}
|
||||
convolution_param {
|
||||
num_output: 16
|
||||
pad: 1
|
||||
kernel_size: 3
|
||||
stride: 1
|
||||
weight_filler {
|
||||
type: "gaussian"
|
||||
std: 0.01
|
||||
}
|
||||
bias_filler {
|
||||
type: "constant"
|
||||
}
|
||||
}
|
||||
}
|
||||
layer {
|
||||
name: "dropout"
|
||||
type: "Dropout"
|
||||
bottom: "conv2"
|
||||
top: "conv2"
|
||||
dropout_param {
|
||||
dropout_ratio: 0.5
|
||||
}
|
||||
include {
|
||||
phase: TRAIN
|
||||
}
|
||||
}
|
||||
layer {
|
||||
name: "relu2"
|
||||
type: "ReLU"
|
||||
bottom: "conv2"
|
||||
top: "conv2"
|
||||
}
|
||||
layer {
|
||||
name: "pool2"
|
||||
type: "Pooling"
|
||||
bottom: "conv2"
|
||||
top: "pool2"
|
||||
pooling_param {
|
||||
pool: AVE
|
||||
kernel_size: 2
|
||||
stride: 2
|
||||
}
|
||||
}
|
||||
layer {
|
||||
name: "conv3"
|
||||
type: "Convolution"
|
||||
bottom: "pool2"
|
||||
top: "conv3"
|
||||
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: "dropout"
|
||||
type: "Dropout"
|
||||
bottom: "conv3"
|
||||
top: "conv3"
|
||||
dropout_param {
|
||||
dropout_ratio: 0.5
|
||||
}
|
||||
include {
|
||||
phase: TRAIN
|
||||
}
|
||||
}
|
||||
layer {
|
||||
name: "relu3"
|
||||
type: "ReLU"
|
||||
bottom: "conv3"
|
||||
top: "conv3"
|
||||
}
|
||||
layer {
|
||||
name: "pool3"
|
||||
type: "Pooling"
|
||||
bottom: "conv3"
|
||||
top: "pool3"
|
||||
pooling_param {
|
||||
pool: AVE
|
||||
kernel_size: 2
|
||||
stride: 2
|
||||
}
|
||||
}
|
||||
layer {
|
||||
name: "ip1"
|
||||
type: "InnerProduct"
|
||||
bottom: "pool3"
|
||||
top: "ip1"
|
||||
param {
|
||||
lr_mult: 1
|
||||
}
|
||||
param {
|
||||
lr_mult: 2
|
||||
}
|
||||
inner_product_param {
|
||||
num_output: 2
|
||||
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"
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user