caffe windows+visual studio 2013+cuda8.0训练自己的数据经验
我采用的是AlexNet模型做的图像的一个分类,也是在初始阶段,自己积累了一些经验,分享一下。做以下步骤的前提是先将caffe训练成功。
一、 建立.bat命令文件,将数据转化为mtraindb文件。(有一个小小的经验,可以自己编一个程序实现自动读取文件夹图片, 并产生txt文档,我用的是matlab编的,省很大的力气,你们可以选择一个自己熟悉的语言啦,python,c++,。。。都是可以的啦)
步骤为:1、建立train文件夹,将训练集图片分类编号放进去。
2、建立train.txt文件夹,将训练集图像标签文件输入txt文件。
3、原理同1,建立val测试集图片夹。
4、原理同2,建立val.txt文件
5、新建.bat命令文件,将图片数据转化为mtraindb文件。(写的时候一定要注意路径选择和空格等)
训练过程展示:
成功转化的文件夹为:
二、means.bat命令文件计算均值文件。
步骤1、建立means.bat命令文件,
2、运行.bat文件,这里一定要注意,运行时会提示能否成功读取每一个图像,有时候所有的图片不一定能够完全读取出来,这个时候要检查一下你在建立txt文档时名称是否正确。我的经验是,空格都不能多。
三、训练开始
步骤1、建立strat.bat命令文件开始训练模型。
2、修改train_val.protxt文件,在这里要特别注意batch_size的大小,如果设置的过大会造成内存溢出,如果你的GPU比较小的话,就设置一个小于100的数值,如果还是内存溢出的话就视情况再设小一些,还有一个特别注意的是输出类型要设为自己要分类的类型,原模型里是1000类。
3、修改solver.txt文件,solver文件是参数配置文件,在这里可以设置你的模型保存路径,accuracy.loss值产生频率,以及最终迭代次数。
4、点击运行.bat文件,开始训练,保存的模型为:
四、测试分类结果
步骤1、建立category.txt文件,定义识别类型。
2、建立待测试图片集文件夹。
3、建立result.bat命令文件,测试模型性能。
产生类似于这样的结果就是成功完成自己的训练了。