Windows下使用caffe进行VGG人脸识别深度神经网络模型的微调训练Word格式文档下载.docx
《Windows下使用caffe进行VGG人脸识别深度神经网络模型的微调训练Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Windows下使用caffe进行VGG人脸识别深度神经网络模型的微调训练Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
将训练数据和评估数据的库文件分别放置在下述位置:
J:
/caffe-windows/vggface_mycmd/vggface_train_leveldb
/caffe-windows/vggface_mycmd/vggface_val_leveldb
3.训练网络
第三部分就开始训练网络了,首先需要到vggface的官网上下载vggface的caffe模型(官网还包括matconvnet模型,试过finetuning太慢了,torch没有试过),下载好了,就会有两个文件,一个是VGG_FACE_deploy.prototxt,一个是VGG_FACE.caffemodel(深度网络的模型文件)。
先建立一个.prototxt文件,命名为vggface_train_test.prototx(深度网络的模型框架定义文件)即可,把之前VGG_FACE_deploy.prototxt的所有的复制过来,然后加入数据层。
VGG_FACE.caffemodel(深度网络的模型文件)与vggface_train_test.prototx(深度网络的模型框架定义文件)要相配套。
(1).vggface_train_test.prototxt
name:
"
VGG_ILSVRC_16_layers"
layers{
name:
data"
type:
DATA
include{
phase:
TRAIN
}
transform_param{
crop_size:
224
mean_value:
104
117
123
mirror:
true
data_param{
source:
/caffe-windows/vggface_mycmd/vggface_train_leveldb"
batch_size:
3
backend:
LEVELDB
top:
label"
}
TEST
false
vggface_mycmd/vggface_val_leveldb"
bottom:
conv1_1"
CONVOLUTION
convolution_param{
num_output:
64
pad:
1
kernel_size:
relu1_1"
RELU
conv1_2"
relu1_2"
pool1"
POOLING
pooling_param{
pool:
MAX
2
stride:
conv2_1"
128
relu2_1"
conv2_2"
relu2_2"
pool2"
conv3_1"
256
relu3_1"
conv3_2"
relu3_2"
conv3_3"
relu3_3"
pool3"
conv4_1"
512
relu4_1"
conv4_2"
relu4_2"
conv4_3"
relu4_3"
pool4"
conv5_1"
relu5_1"
conv5_2"
relu5_2"
conv5_3"
relu5_3"
pool5"
fc6"
INNER_PRODUCT
inner_product_param{
4096
relu6"
drop6"
DROPOUT
dropout_param{
dropout_ratio:
0.5
fc7"
relu7"
drop7"
fnc8"
6
prob"
SOFTMAX
所做的修改主要为在原文件的第一个layer之前添加数据层。
拉到文件的最底部,有个num_output:
2622的那一层,这一层主要是概率输出层,就是softmax分类器层。
因为vgg训练这个网络,用了2622个人,所以就是2622,现在可以根据自己的人的个数来设置,我用了6个人,把num_output:
2622改为了num_output:
6,并且把name:
所有的fc8改为了fnc8,即对fc8改名,否则会报错。
好了,现在网络搭建好。
另外,还需修改以下内容:
(2).vgg_solver.prototxt
完成vggface_train_test.prototxt模型框架定义文件后,还需要编制一个对神经网络进行微调训练的参数文件VGG_solver.prototxt。
VGG_solver.prototxt代码如下:
net:
vggface_mycmd/vggface_train_test.prototxt"
test_iter:
500
test_interval:
test_initialization:
display:
40
average_loss:
base_lr:
0.00005
lr_policy:
step"
stepsize:
320000
gamma:
0.96
max_iter:
1000
momentum:
0.9
weight_decay:
0.0002
snapshot:
200
snapshot_prefix:
vggface_mycmd/mymodel"
solver_mode:
CPU
(3).编写训练的命令文件
打开windows下的cmd命令窗口,然后进入J:
\caffe-windows\目录,在cmd命令窗口下输入以下命令:
Build\x64\Release\caffe.exetrain-solvervggface_mycmd\vggface_solver.prototxt-weightsvggface_mycmd\VGG_FACE.caffemodel
就可以对VGG_FACE.caffemodel进行微调了。
跑结果的模型也会保存在J:
\caffe-windows\vggface_mycmd\目录下。
上述命令中,如果不包含-weightsvggface_mycmd\VGG_FACE.caffemodel,则进行训练一个全新的深度神经网络来进行人脸识别。