caffe for windows 实现cifar10图像训练生成caffemodel

本文主要的环境是caffe+win8+vs2013+cuda7.0使用了gpu。Solution是在release版本下。具体的环境请看我转载的happynear大神搭建的caffe框架。

一、数据集准备

到官网中下载cifar10数据集,如果使用的是c++,那么下载.bin文件。数据集介绍已经很详细了。cifar10数据集官网下载
下载并解压,看到共有6个.bin文件,前面五个是训练集,最后一个是测试集。

二、将数据集转成leveldb格式


用vs2013打开项目工程。有一个project是convert_cifar_data。(若没有,则可以在Solution新建一个cuda project,导入tools文件夹中的convert_cifar_data.cpp文件,配置环境即可)。
编译这个project,之后会在../../examples/cifar10/文件夹下找到convert_cifar_data.exe。
新建两个文件夹,分别命名为input_folder,output_folder。input_folder中放入第一阶段准备好的cifar10数据。output_folder为转换数据之后存储位置。
同级目录下新建一个批处理文件,后缀名.bat,输入以下内容并保存。
convert_cifar_data.exe  input_folder output_folders leveldb
pause
这里将数据集转成了leveldb格式。运行convet_cifar_data.bat文件,完成数据的转换。

三、计算数据的均值文件

新建一个cuda project,命名为compute_image_mean,导入tools文件夹中的compute_image_mean.cpp文件,配置环境。

编译,输出路径为为../../bin\,所以,在bin 文件夹下找到生成的compute_image_mean.exe。
将第二阶段生成的input_folder,output_folder拷贝过来。同级目录下新建一个.bat文件。输入以下内容并保存。

compute_image_mean.exe output_folders/cifar10_train_leveldb mean.binaryproto

pause
运行compute_image_mean.bat文件,生成了mean.binaryproto文件。这个文件即为均值文件。

四、训练cifar10数据集

在examples/cifar10/文件夹中,找到cifar10_quick_trian_test.prototxt。
修改里面的mean_file和source的路径。backend一律改为LEVELDB。
只要是编译好的caffe框架,在bin文件夹里面都有一个caffe.exe。这是一个训练数据集的可执行文件,在上级目录下新建一个.bat,添加内容,保存并运行。
.\bin\caffe.exe train --solver=examples/cifar10/cifar10_quick_solver.prototxt
pause
看到在dos窗口已经开始训练了,训练迭代次数等参数均在cifar10_quick_solver.prototxt文件中。这里采用了gpu训练,迭代了4000次,最终的训练精度为0.7061。
在examples/cifar10/文件夹中,找到了训练出来的模型cifar10_quick_iter_4000.caffemodel。



发布了37 篇原创文章 · 获赞 19 · 访问量 15万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章