1. 准备数据,正负样本的原图和正负样本的路径;
例如:文件夹face,文件夹noface,训练和验证的文件名路径txt
2. 创建数据库
在caffe/example目录下新建目录myself。并将caffe/examples/imagenet目录下create_imagenet.sh文件拷贝到myself中。
create_imagenet.sh的内容如下:
第5行的EXAMPLE指定生成的数据库文件存放路径,生成lmdb。
第6行的DATA指定生成数据库所需文件来源路径,训练train.txt和val.txt的路径。
第9行的TRAIN_DATA_ROOT指明存放训练图片的绝对路径。
第10行的VAL_DATA_ROOT指明存放测试图片的绝对路径的。TRAIN_DATA_ROOT和VAL_DATA_ROOT写错了,就会报一堆找不到图片的错误。
第12行到21行用于将图片调节成统一大小,256X256。
第45、55行指定生成的数据库文件夹的名称。
4. 生成的数据库文件
在caffe的主目录下输了命令./examples/myself/create_imagenet.sh就会在create_imagenet.sh中的EXAMPLE所指定的目录下(此次为example/myself)生成两个数据库文件。
5. 训练网络
① 拷贝models/bvlc_alexnet目录下的train_val.prototxt文件到example/myself目录下。
该文件的定义的为待训练网络的结构。
②拷贝models/bvlc_alexnet目录下的solver.prototxt文件到example/myself目录下。
该文件为训练网络时的所需的一些配置和设置
第1行指定定义网络结构的文件的相对路径。
③ 拷贝examples/imagenet目录下的make_imagenet_mean.sh文件到examples/myself目录下。用于计算图像均值,使用的源文件在/tools/compute_image_mean.cpp。
生成训练数据的均值文件
④ 拷贝examples/imagenet目录下的train_caffenet.sh文件到example/myself目录下。
该文件为一个脚本文件,内容为训练网络的命令
在caffe的主目录下输入命令:./ examples/myself/train_caffenet.sh开始训练网络。