新手使用caffe实现mnist

        由于课程作业的要求,刚开始使用Matlab跑作者的mnist源码,会出现Out of Memory。于是自己尝试着使用实验室的caffe。也是请教了懂的人。现在把流程和注意事项贴出来,希望对大家有用。

        由于不同的环境配置,新的caffe到你的服务器上需要从新进行编译。比如下面使用make all命令对文件进行编译。



       若此处不进行编译,则在进行下面的操作过程中会出现很多问题,比如会出现libcuda.7.0啥的之类的找不到的问题。

      下面开始下载数据,如下所示,此时的路径是caffe-master-github/data/mnist。然后运行get_mnist.sh文件。

然后由于权限问题,有的机器上get_mnist.sh文件的颜色是白色(注:我这里使用的是putty远程连接器)。说明是没有权限进行执行操作的,如果不确定,可以使用 ls -l 命令来查看一下是否具有权限可以执行。若是-rwxrwrwx之类的

说明是可以运行的。这里,我们可以使用vi get_mnist.sh打开文件看一下。如下所示:

wget以及后面的语句表示从作者的网站上下载原来的数据文件。echo,表示打印提示信息。gunzip表示解压缩文件。此处也会出现文件。如果你运行文件时出现错误,比如XXXNot found。你也可以只需将四个wget语句和四个gunzip语句复制下来,然后直接到Ubuntu的命令窗口中运行。在此过程中,我们下载原始数据的过程OK。

       下面要将下载好,并且解压好的原始数据转换为caffe能够使用的数据。

此处,我们转到examples下的mnist中,我们可以同样的使用vi编辑器打开。create_mnist.sh看一下。如下:

这里的EXAMPLE表示caffe中提供的例子的路径。DATA是刚刚下载并解压好的数据的路径。BUILD路劲里面存放了一个重要的文件convert_mnist_data.bin。就是这个文件,才能将原始数据转换为caffe可使用的数据库数据。此处注意,这个bin文件是放在caffe-master-github/build/example/mnist文件夹下的,而是caffe-master-github/example/mnist文件下没有。因此,若你直接在caffe-master-github/example/mnist运行create_mnist.sh文件,会发现找不到。此时你就必须打开create_mnist.sh文件,查看对应数据的文件路径,对应examples的路径和对应buil/examples/mnist/下的convert_mnist_data.bin文件的路径是否都正确。此处如上图所示,本文中都是将其转换为绝对路径进行处理的。OK,此处的数据转换完毕,下面开始运行程序。此处若直接运行,不出意外还会报错,还是路径问题,我们打开lenet_train_test.prototxt文件看一看便知。

看到上面的data_param{ source:"./mnist_train_lmdb".......}这条语句。source后面的语句表示数据的路径。因为数据是在当前路径下的,所以此处我们只需要使用"./mnist_train_lmdb"即可。就在这个下面,还有几个路径也是需要修改。OK。下面还有一个路径需要设置。如下图,我们打开train_lenet.sh文件

这里的路径也是需要更改,也就是caffe中的solver要指向mnist中的网络sover,打开如下:

我们发现,这个lenet_solver.prototxt文件里面的配置了网络运行的一些参数,其中的一些路径也需要更改,如net:和snapshot_prefix后面的路径。OK,下面再执行train_lenet.sh文件,此时网络就开始训练。训练的最后结果如下所示:

这里的lenet_iter_10000.caffemodel表示迭代了10000次的模型结果参数。lenet_iter_5000.caffemodel表示迭代了5000次的模型的结果参数。但是我们最终能使用的,也就是这两个参数。(第一次写CSDN博文,感觉写的不是很详细,希望大家多多支持~~)




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值