ububtu下caffe训练并验证cifar10

    在跑完mnist数据集后,想跑一下cifar10,发现网上介绍的资料不多,有些步骤有点麻烦,因此就参考训练mnist数据集的方法对cifar10数据进行训练,最后得到了训练结果。

一、下载数据

    进入到caffe根目录,输入下面的代码下载数据:

sudo sh data/cifar10/get_cifar10.sh
可以看到在cifar10文件夹下多了一些文件。

二、转换格式

    下载好的原始数据为二进制文件,需要转换为leveldb或lmdb才能被caffe识别,在caffe根目录下输入下面的代码进行转换:

sudo sh examples/cifar10/create_cifar10.sh
此时在examples/cifar10目录下可以看到cifar10_test_lmdb和cifar10_train_lmdb两个文件夹。

三、进行训练

    在cifar10目录下可以看到train_quick.sh和train_full.sh两个文件,运行这两个文件即可开始数据的训练。

train_quick.sh文件是快速训练,最大迭代次数只有4000,而full最大迭代次数则为60000,因此quick训练速度较快,精度只有百分之七十多,full训练完成需要4个小时左右(机器不同训练时间可能不一样,且这个时间是我在用GPU的情况下的时间),精度为百分之八十多。如果你需要使用cpu进行训练,需要打开相应的模型描述文件进行修改。如:要使用quick方法进行训练,则打开train_quick.sh文件,可以看到这个文件调用了cifar10_quick_solver.prototxt模型文件,打开cifar10_quick_solver.prototxt,可以看到最后一行为设置gpu or cpu模式,此处根据需要进行修改。默认的为gpu。

输入下面代码开始训练:

sudo sh examples/cifar10/train_quick.sh
如果需要full训练的话,方法是一样的。

此处如果不在caffe根目录下运行会报错,原因是.sh文件里调用了编译好的caffe可执行文件,路径是基于根目录的,因此需要在根目录下运行。

四、利用test数据进行分类

    训练过程结束后,可以看到在cifar10文件夹下多了几个文件,其中cifar10_quick_iter_5000.caffemodel.h5是最终得到的模型权值数据,cifar10_quick_iter_5000.solverstate.h5保存了训练状态数据。这两个文件都是二进制数据。此处用来分类的文件为cifar10_quick_iter_5000.caffemodel.h5文件。

依旧是在caffe根目录下输入下面的代码进行分类:

sudo ./build/tools/caffe.bin test -model examples/cifar10/cifar10_quick_train_test.prototxt -weights examples/cifar10/cifar10_quick_iter_5000.caffemodel.h5 -iterations 100
分类过程比较快,几分钟就可以看到分类的结果,我电脑上最终得到的accuracy平均为80+%.
五、总结

    跑例子只是学习的手段之一,在执行上面的每个步骤的过程中,最好理解每一步的原理再去执行会学到更多,在运行这些文件的时候建议看一下这些文件中的代码,确定一下文件之间的调用关系,熟悉caffe训练一个数据集的过程。

以上。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值