深度学习caffe(2)——caffe例程之cifar10

从看起来最好玩的cifar10开始。

1)cifar10数据集

cifar10数据集包括60000张32*32*3的图片,这些图片分为10类,分别是飞机、汽车、鸟、猫、狗、鹿、青蛙、马、船、卡车。

数据集下载地址:http://www.cs.toronto.edu/~kriz/cifar.html


下载二进制文件,解压后可以看到文件夹里有6个.bin文件,是60000张图片,每个batch包括10000张图片;


batches.meta.txt双击打开后可以看到里面有10类,注意这一行不要回车分开,另外不要回车,保证除了这一行下面没有其他的东西。


在\caffe-master\examples\cifar10下面新建一个cifar10_binary文件夹存放.bin文件,将batches.meta.txt拷到\caffe-master\examples\cifar10下面

2)数据转换

将图片转化为lmdb格式(leveldb也可以):我这里新建了一个bat文件夹,把脚本文件都放在这里面,另外我全部用的是绝对路径,保证不在路径上犯错误(脚本文件只要新建一个文本文件,复制下面的内容,在把名字改成XXX.bat就可以双击运行了),然后可以看到在\caffe-master\examples\cifar10下面生成了lmdb文件(leveldb个格式只要把lmdb改成leveldb就可以)

E:\caffe\caffe-master\Build\x64\Release\convert_cifar_data.exe  E:\caffe\caffe-master\examples\cifar10\cifar10_binary E:\caffe\caffe-master\examples\cifar10 lmdb

3)生成均值文件

然后是mean文件,同样写个脚本,生成数据均值文件

E:\caffe\caffe-master\Build\x64\Release\compute_image_mean.exe -backend=lmdb E:\caffe\caffe-master\examples\cifar10\cifar10_train_lmdb E:\caffe\caffe-master\examples\cifar10\mean_train.binaryproto
E:\caffe\caffe-master\Build\x64\Release\compute_image_mean.exe -backend=lmdb E:\caffe\caffe-master\examples\cifar10\cifar10_test_lmdb E:\caffe\caffe-master\examples\cifar10\mean_test.binaryproto

4)训练模型

用vs2013打开cifar10_quick_train_test.prototxt(网络模型描述文件)和cifar10_quick_solver.prototxt(超参数配置文件),cifar10_quick_train_test.prototxt中可以看到所用网络的相关信息,在cifar10_quick_solver.prototxt中我们可以修改参数调整网络,在这里不做太多修改。

上面选择cifar10_quick_train_test.prototxt和cifar10_quick_solver.prototxt训练起来快一点,也可以选择cifar10_full_train_test.prototxt和cifar10_full_solver.prototxt,只要注意quick对应quick,full对应full,不要弄混了。

修改cifar10_quick_train_test.prototxt文件路径(改成自己放图片的路径),如果前面生成的是leveldb文件,则还要把backend: LMDB改成backend: LEVELDB


修改cifar10_quick_solver.prototxt文件,不用GPU的改成CPU,我这里把快照格式注释掉了,如果不注释训练生成的是.h5文件,这个也是可以的


改好保存后写脚本训练

E:\caffe\caffe-master\Build\x64\Release\caffe.exe train --solver=E:\caffe\caffe-master\examples\cifar10\cifar10_quick_solver.prototxt
pause

训练好了会生成两个文件


5)图片分类

首先要自己做一张32*32的图片,在网上下载一张图片(比如一只猫),打开画图软件编辑,缩放为32*32就可以了,将这张图片放在cifar10文件夹下,编写脚本进行分类。


E:\caffe\caffe-master\Build\x64\Release\classification.exe E:\caffe\caffe-master\examples\cifar10\cifar10_quick.prototxt E:\caffe\caffe-master\examples\cifar10\cifar10_quick_iter_4000.caffemodel E:\caffe\caffe-master\examples\cifar10\mean_train.binaryproto E:\caffe\caffe-master\examples\cifar10\batches.meta.txt E:\caffe\caffe-master\examples\cifar10\test.jpg
pause

分类结果:

狗:0.7682

马:0.1101

猫:0.1008

可以看到,上面的图片是一只猫。猫:???这个模型到底对猫有什么误解,让我先哭会


另外附上错误总结:http://www.cnblogs.com/aimhabo/p/8721357.html,可以作为参考

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值