caffe实例编译之cifar10_quick模型的生成与使用(1)
来源:互联网 发布:公务员考试经验知乎 编辑:程序博客网 时间:2024/06/03 23:20
本博客参考的是风翼冰舟的博客:
http://blog.csdn.net/zb1165048017/article/details/51476516
前情提要
我按照网上各路教程安装配置好caffe,人间不易啊。
系统环境:Win7 + VS2013 + caffe + CPU only
把链接贴在这里吧:
http://blog.csdn.net/zb1165048017/article/details/51355143
http://www.cnblogs.com/yixuan-xu/p/5858595.html
http://blog.csdn.net/happynear/article/details/45372231
综合来说,还是风翼冰舟的博客比较详细,配置比较顺畅。
言归正传,讲讲今天我的实验吧。
一、数据准备工作1、数据转换
将下载的cifar二进制数据转换成caffe的数据格式leveldb
参照大神博客的第一到第三步,最后从input_folder生成了output_folder中的两个文件夹:cifar10_test_leveldb和cifar10_test_leveldb。
2、均值文件mean.binaryproto
新建一个cifar10_mean.bat文件:
<span style="font-size:18px;">compute_image_mean.exe output_folder/cifar10_train_leveldb mean.binaryproto --backend=leveldbpause</span>注意,相较于风翼冰舟的博客中的命令,我在最后添加了一句-backend=leveldb,这样就不会在生成均值文件的时候报错。
双击运行bat文件,生成了均值文件mean.binaryproto。
3、准备工作
将Debug文件夹下mean.binaryproto文件和output_folder下的两个文件夹cifar10_test_leveldb和cifar10_train_leveldb拷贝到caffe-windows\examples\cifar10目录中去。
二、模型的训练
1、修改train_test.prototxt文件和solver.prototxt
cifar10_quick_solver.prototxt文件:将最后一行的求解模式改为CPU
cifar10_quick_train_test.prototxt文件:修改数据格式为leveldb以及文件路径
2、模型训练
在caffe-windows文件夹下新建cifar10_train.bat文件,用来训练模型。
<span style="font-size:18px;">Build\x64\Debug\caffe.exe train --solver=examples\cifar10\cifar10_qucick_solver.prototxtpause</span>一定要注意编写命令的时候写正确路径名、文件名!!!我运行bat文件始终不对,结果是自己命令行没写对。面壁思过去。
双击cifar10_train.bat运行,出现如下界面
出现的是Prefetch batch、Read time、Transform time,结果和风翼冰舟的结果一样。
我以为,这是Debug模式下训练的模型,最后生成的文件的后缀格式为.caffemodel.h5和.solverstate.h5,而之前用Release模式下训练mnist数据集,生成的文件后缀格式时.caffemodel和.solverstate。但是最后生成文件的格式与编译模式完全没有关系,而是与模型的网络求解文件有关,即cifar10\cifar10_quick_solver.prototxt和mnist\lenet_solver.prototxt中的相关设置有关。
在cifar10\cifar10_quick_solver.prototxt中,
snapshot: 4000snapshot_format: HDF5snapshot_prefix: "examples\cifar10\cifar10_quick"
在mnist\lenet_solver.prototxt中,
snapshot: 5000snapshot_prefix: "examples\mnist\lenet"所以,最后生成的文件格式是由snap_format设置的,如果没有设置的话,就生成.caffemodel文件,设置格式为HDF5,生成文件后缀为.caffemodel.h5。
问题就是这个cifar数据集有点大啊,我的电脑已经跑了三个多小时了还没跑完,我已经吃了午饭,睡了个午觉,写完这个博客了,它还在跑,你说还要不要继续呢?看到下面的评论说跑了十个小时,有点犹豫了。。。。毕竟早上用MATLAB跑一个网上下的程序,运行了好久好久之后,它说内存不够
放一张刚刚的截图作为结束吧~因为前面看起来都差不多,这张图里面竟然出现了accuracy和loss,截图纪念咯
- caffe实例编译之cifar10_quick模型的生成与使用(1)
- caffe实例编译之cifar10_quick模型的生成与使用(2)
- 【caffe-Windows】cifar实例编译之model的生成
- 【caffe-Windows】mnist实例编译之model的生成
- Microsoft caffe cifar实例编译之model的生成
- 【caffe-Windows】mnist实例编译之model的生成
- 2.【caffe-Windows】cifar实例编译之model的生成
- 【caffe-Windows】cifar实例编译之model的生成
- 【caffe-Windows】cifar实例编译之model的生成
- 【caffe-Windows】cifar实例编译之model的生成
- 【caffe-Windows_2】cifar实例编译之model的生成
- 【caffe-Windows】cifar实例编译之model的使用
- 【caffe-Windows】mnist实例编译之model的使用-classification
- 【caffe-Windows】mnist实例编译之model的使用-matlab
- 3【caffe-Windows】cifar实例编译之model的使用
- 【caffe-Windows】mnist实例编译之model的使用-classification
- 【caffe-Windows】cifar实例编译之model的使用
- 【caffe-Windows】cifar实例编译之model的使用
- 二、什么是MongoDB
- Android的工程依赖
- AndroidSocket通信实现
- flume实时接收kafka消息并保存至HDFS
- mysql与事务
- caffe实例编译之cifar10_quick模型的生成与使用(1)
- 流程控制语句的一些理解和困惑
- mysql 通过2个经纬度 计算距离
- tcpreplay使用笔记
- DockOne技术分享(十八):一篇文章带你了解Flannel
- 微信帐号检测的实用小方法
- javamail 解决1.4空指针bug以及与cxf包冲突问题
- Flask_wtf自定义 field样式(Placeholder, Style)、wtf.html、匹配 Bootstrap4、jinja2 quick_form
- 函数a的内部函数b被函数a外的一个变量引用的时候,就创建了一个闭包