完整教程:使用caffe测试mnist数据集

这篇原创笔记来自铁粉zhupc,感谢为大家提供的这份caffe测试mnist数据集的精彩总结。

想要入门深度学习没有几个趁手的兵器是不行的,目前流行的框架tensorflow、pytorch、caffe等,笔者也是最近接触了caffe,发现caffe非常适合初学者入门深度学习。不必像tensorflow那样,先学习Python,然后在学习tf,这个过程感觉像在重新学习一门语言。caffe是c++编写的,所以从github上下载下来后需要你自己编译,令人高兴的是caffe也支持windows,你去github上下载微软发布的caffe用vs2013编译即可成功,它也区分cpu版本与gpu版本,如何编译安装的百度上教程基本可用,笔者在windows跟ubuntu都编译成功了。入门的童鞋基本上接触的第一个教程就是mnist识别手写数字,caffe无疑可以让你最快的搭建整个网络并跑通。

这里假设你已经安装好caffe。caffe给我们配备了很多个例子,安装好的caffe中,在example文件夹下,有很多现成的网络,以mnist为例。首先,我们需要下mnist数据集,在进入到data文件夹下,有个获取数据的脚本 caffe/data/mnist/get_mnist.sh,执行完成后会得到下面几个文件,通过名字判断可知道分别是测试集与训练集的样本与标签。

进入到caffe/examples/mnist 文件夹下,执行./create_mnist.sh 脚本,如果你的caffe没有编译,可能会提示错误convert_mnist_data.bin: not found。 重新编译一下caffe即可。脚本执行成功后你会得到两个文件夹

Lmdb是一种数据库,查询和插入非常高效,caffe使用lmdb作为数据源,同时caffe也支持hdf5文件。

Caffe搭建网络是基于prototxt文件,超参数也在里面配置。所以只需要根据自己的需求配置网络与超参数prototxt文件,就可以了。在mnist目录下,有以下几个文件:

找到 文件caffe/examples/mnist/lenet_train_test.prototxt 这个文件是训练用的文件,想要自定义网络就可以这个文件配置网络。

简单粗暴的配置,相信你很容易看懂,配置数据源,定义layer类型。

你还需要caffe/examples/mnist/lenet_sover.prototxt文件。lenet_solver文件是用来配置超参数,打开这个文件

框选出来的是几个重要的配置,首先定义网络文件位置,配置测试集迭代次数,定义学习率。以及最大迭代次数,文件末尾也可以自由的定义使用GPU或者CPU,snapshot_prefix指的是快照生成的路径,这里要配置好。另外建议,数据源最好配置上绝对路径,这样的话在任何目录下都可以执行下面命令。

找到tools文件夹下的caffe,配置solver路径后,即可运行。

有的童鞋可能用我的命令执行不通过,你只需要查看三个路径是否配置正确,一个是solver文件中的 net 路径,跟快照路径,网络文件中的数据源路径。还需要注意的是你在什么路径下执行 train命令。

如果出现上面的界面恭喜你,你已经成功,如还有问题,欢迎一起交流学习。

最后再次感谢铁粉 zhupc 供稿,相信定会对大家有帮助!如果对你有帮助,可打赏zhupc. 同时欢迎点赞转发。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181107G0FMH400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券