因为参加比赛的缘故,要在linux下用caffe对数据集中的人脸进行分类训练,训练一个网络,然后主办方在后期放出测试集之后,我用训练好的网络对测试集里面的图片进行测试分类。
我先介绍下打大体流程:
首先训练的数据集是CCPR主办方给的,然后我分为8类,在ubuntu下用nvidia公司推出的digits2.0傻瓜软件把训练集转换为caffe需要的mdb格式,然后在上面用两块GPU训练一个googlenet网络,最后得到一个网络结构文件,多个迭代权值(选最后一个)文件,还有一个图像均值文件,然后再需要一张图片,用caffe的python接口,编写简单脚本,就可以用这几个文件构建训练好的网络,来测试特定的单张图片,然后得到具体的标签结果。
表情数据集是比赛官方提供的,我先在windows下用matlab把比赛提供的12W张图片分成了要求的8类,然后加上CK(一个小的表情库),总共接近13W张图片,放在8个文件夹中,然后用FTP传到ubuntu服务器上,具体位置放在/home/qi66/CCPR/CCPRTem/train_choseAndCK/目录下,如下图所示
然后,我们用nvidia官方出品的digits2.0,将图片做成caffe训练所需要的mdb文件,digits2.0使用教程,大家可以百度,我这边就不详细说了,很简单的,需要注意的是,生成数据集的时候,url要写你已经分类好的数据集的上层文件路径,比如我的数据集放在/home/qi66/CCPR/CCPRTem/train_choseAndCK/下,digits2.0会自动识别这个目录下面有8个文件夹,自动生成8类,8个标签0-7,但是