caffe for windows 训练cifar10
来源:互联网 发布:百度时序数据库 编辑:程序博客网 时间:2024/05/18 02:17
在Windows下编译CAFFE并使用其matlab和python接口
本文主要的环境是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 leveldbpause这里将数据集转成了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.binaryprotopause运行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.prototxtpause看到在dos窗口已经开始训练了,训练迭代次数等参数均在cifar10_quick_solver.prototxt文件中。这里采用了gpu训练,迭代了4000次,最终的训练精度为0.7061。在examples/cifar10/文件夹中,找到了训练出来的模型cifar10_quick_iter_4000.caffemodel。
1 cifar10数据库
60000张32*32 彩色图片 共10类
50000张训练
10000张测试
下载cifar10数据库:http://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz
这是binary格式的,所以我们要把它转换成leveldb格式。
2 在../caffe-windows/examples/cifar10文件夹中有一个 convert_cifar_data.cpp
将他include到MainCaller.cpp中。如下:
编译....我是一次就通过了 ,在bin文件夹里出现convert_cifar_data.exe。然后 就可以进行格式转换。binary→leveldb
可以在bin文件夹下新建一个input文件夹。将cifar10.binary文件放在input文件夹中,这样转换时就不用写路径了。
cmd进入bin文件夹
执行后,在output文件夹下有cifar_train_leveldb和cifar_test_leveldb两个文件夹。里面是转化好的leveldb格式数据。
当然,也可以写一个bat文件处理,方便以后再次使用。
3 下面我们要求数据图像的均值
编译../../tools/comput_image_mean.cpp
编译成功后。接下来求mean
cmd进入bin。
执行后,在bin文件夹下出现一个mean.binaryproto文件,这就是所需的均值文件。
4 训练cifar网络
在.../examples/cifar10文件夹里已经有网络的配置文件,我们只需要将cifar_train_leveldb和cifar_test_leveldb两个文件夹还有mean.binaryproto文件拷到cifar0文件夹下。
修改cifar10_quick_train.prototxt中的source: "cifar-train-leveldb" mean_file: "mean.binaryproto" 和cifar10_quick_test.prototxt中的source: "cifar-test-leveldb"
mean_file: "mean.binaryproto"就可以了,
后面再训练就类似于MNIST的训练。写一个train_quick.bat,内容如下:
- copy ..\\..\\bin\\MainCaller.exe ..\\..\\bin\\train_net.exe
- SET GLOG_logtostderr=1
- "../../bin/train_net.exe" cifar10_quick_solver.prototxt
- pause
先编译一遍 train_net.cpp
运行train_quick.bat
5 运行结果
- caffe for windows 训练cifar10
- caffe for windows 训练cifar10
- caffe for windows 训练cifar10
- caffe for windows 训练cifar10
- Caffe for Windows 训练cifar10
- caffe for windows 训练cifar10
- caffe for windows 训练cifar10
- caffe for windows 训练cifar10
- Caffe for Windows 训练cifar10 VS2013
- Caffe for windows 训练cifar10数据集
- caffe for windows 训练cifar10 及若干问题
- caffe学习笔记之Caffe for Windows 训练cifar10
- caffe for windows 实现cifar10图像训练生成caffemodel
- 用Caffe for Windows版本配置并训练cifar10
- windows上 caffe例程cifar10的训练
- windows环境下训练caffe中cifar10数据集
- windows下运行caffe例子:cifar10图像训练生成caffemodel
- Windows caffe (二) cifar10 demo 训练与测试
- const char*转换成wstring类型
- 第十五章上机练习4
- PHP多线程模拟秒杀抢单
- tomcat 多域名配置
- 组策略 gpedit.msc 出错解决
- caffe for windows 训练cifar10
- bit程序设计 括号序列 栈+前缀和
- grails2.2.2学习(一)开发环境搭建
- 手撸一个Android饼状图表
- Java集合总结之Collection整体框架
- Stroke filter: 一种用于OCR预处理的文字滤波器
- POJ 1061 青蛙的约会
- android权限(permission)大全
- [java学习笔记]Iterator和Iterable接口