欢迎大家访问我的博客!

Caffe学习入门(三)——Caffe运行CIFAR10实例

计算机视觉 peike 2188℃ 0评论

CIFAR10数据集介绍

cifar10数据训练样本50000张,测试样本10000张,每张为32*32的彩色三通道图片,共分为10类。

cifar10

下载数据

下载binary格式的cifar10数据集,由于数据集是binary格式的,所以我们要把它转换成leveldb格式。

数据集格式转换

在../caffe-windows/examples/cifar10文件夹中有一个 convert_cifar_data.cpp编译生成convert_cifar_data.exe。

在当前目录下建立一个 bat 批处理文件,实现binary 到 leveldb 数据集格式转换。

./Build/x64/Release/convert_cifar_data.exe ./examples/cifar10/input .examples/cifar10/output leveldb

执行后,在output文件夹下有cifar_train_leveldb和cifar_test_leveldb两个文件夹。里面是转化好的leveldb格式数据。

数据图像均值

编译comput_image_mean.cpp获取comput_image_mean.exe

然后,在当前目录下建立一个bat批处理文件,一定要声明leveldb格式,否则默认lmdb格式运行会导致程序崩溃,代码如下:

./Build/x64/Release/compute_image_mean.exe --backend=leveldb output/cifar10_train_leveldb ./examples/cifar10/mean.binaryproto

训练Caffe网络

为了节省时间,我们进行快速训练(train_quick)。训练分为两个阶段:第一个阶段迭代4000次,调用配置文件cifar10_quick_solver.prototxt,学习率(base_lr)为0.001;第二阶段迭代1000次调用配置文件cifar10_quick_solver_lr1.prototxt,学习率(base_lr)为0.0001。

修改网络配置文件cifar10_quick_train_test.prototxt中的source: “cifar-train-leveldb”    mean_file: “mean.binaryproto”为自己的文件路径。

在/examples/cifar10目录下编写run_cifar10.bat批处理文件,代码如下:

./Build/x64/Release/caffe.exe train --solver=examples/cifar10/cifar10_quick_solver.prototxt
pause
./Build/x64/Release/caffe.exe train --solver=examples/cifar10/cifar10_quick_solver_lr1.prototxt ----snapshot=examples/cifar10/cifar10_quick_iter_4000.solverstate.h5

最终GPU+cudnn大约一分钟时间左右,accuracy75%。

文章发布时间: 2016-11-19 13:49

最后修改于: 2016-11-27 21:13

原始链接: http://www.peikeli.com/computer-vision/caffe-cifar10/

转载请注明: 万物比特 » Caffe学习入门(三)——Caffe运行CIFAR10实例

版权协议: 本作品采用©知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可

喜欢 (3)or分享 (0)
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址