机器学习14:Caffe实现卷积神经网络操作流程整理
(1)caffe的卷积神经网络操作总流程:
1)数据格式化处理:图片的打标和打包;
2)编写网络结构文件:.prototxt文件,定义模型的网络结构,如层数/各层的特征图数/输入输出等。
3)编写网络求解文件:solver.prototxt文件,设置求解网络/梯度下降参数/迭代次数等参数。网络求解文件的输入是上一步定义的网络结构。
4)训练模型:将网络求解文件作为caffe的输入参数,调用caffe的可执行文件进行训练。
(2)文件调用过程总结:
首先,caffe 可执行文件调用solver.prototxt网络求解文件;
其次,网络求解文件调用网络结构文件;
然后,网络结构文件中调用输入的训练数据图片。
因此,训练自己的caffe模型,需要准备三个文件:数据文件(lmdb)/网络结构文件(.prototxt)/网络求解文件(solver.prototxt)。
(3)lmdb数据格式的生成:
在caffe---example---imagenet文件夹下的一些脚本文件,如create_imagenet.sh可以帮助快速生成caffe需要的一些数据,只需要把脚本文件复制出来,稍作修改,就可以对训练图片/标注文件打包为lmdb文件。
同时需要创建四个文件:
1.文件夹train用于存放训练图片;
2.文件夹val用于存放验证图片;
3.文件train.txt用于包含每张图片的名称和对应的标签;
4.文件val.txt用于保存图片名称和对应标签。