windows下运行caffe例子:cifar10图像训练生成caffemodel
来源:互联网 发布:蝉知cms 编辑:程序博客网 时间:2024/05/16 14:47
硕士毕业论文第二点扯到了CNN上,准备用caffe框架来做,装好windows下caffe后运行了第一个经典例子LeNet :参考:http://blog.csdn.net/tianrolin/article/details/51434687
运行第二个cifar10例子时,不会写bat文件,运行也各种错误,这里总结一下我遇到的问题和解决办法。亲测有用!
一、数据集准备
到官网中下载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。
结果如下:
出现问题和注意事项:
1. 问题一:路径问题
- 就是要注意替换
.prototxt
文件中的mean_file
和source
的路径,以及caffe.exe
等文件的路径也要确保.bat
文件可以找到并运行。(我是本办法:写绝对路径,因为一直不知道环境变量怎么设置)
2. 报错: “db_lmdb.hpp:14] Check failed: mdb_status == 0 (112 vs. 0) 磁盘空间不足。”
这问题是由于lmdb在windows下无法使用lmdb的库,所以要改成leveldb。
但是要**注意**,由于backend默认的是lmdb,所以你每一次用到生成的图片leveldb数据的时候, 都要把“--backend=leveldb”带上,这个很容易忘了,
还有在.prototxt中
data_param { source: "./mysample_val_leveldb" batch_size: 100 backend: LEVELDB //这个也要改掉的,原来是LMDB }
第二个问题参考:http://blog.csdn.net/u010595179/article/details/50581570
- windows下运行caffe例子:cifar10图像训练生成caffemodel
- caffe for windows 实现cifar10图像训练生成caffemodel
- caffe for windows 下使用caffemodel 实现cifar10的图像分类
- Windows下caffe用fine-tuning训练好的caffemodel来进行图像分类
- 在VS2013下编译caffe-windows,并加载已经训练好的caffemodel做图像分类
- 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
- GPU下caffe训练cifar10
- windows环境下训练caffe中cifar10数据集
- WINDOWS+VS2013下生成caffe并进行cifar10分类测试
- Caffe for Windows 训练cifar10 VS2013
- Caffe for windows 训练cifar10数据集
- 二叉搜索树后序遍历序列判断
- Exynos4412 文件系统制作(二)—— 文件系统简介
- mail工具的安装、配置及问题处理
- Python 小练习_班级平均分
- Exynos4412 文件系统制作(一)—— 文件系统的启动过程分析
- windows下运行caffe例子:cifar10图像训练生成caffemodel
- 6.15两个乒乓球对进行比赛,各出三人。
- tcflag_t是什么数据类型
- 一念永恒 > 第111章 触摸桎梏
- 一念永恒 > 第112章 金风玉露一相逢!
- Exynos4412 内核移植(七)—— 内核相关知识补充
- NodeJS、NPM安装配置步骤(windows版本)
- 一念永恒 > 第110章 发配万蛇谷
- 第12周 数据结构和算法 线性表-7 队列 插入、删除