windows下caffe之训练mnist

来源:互联网 发布:mac口红膏体不光滑 编辑:程序博客网 时间:2024/05/21 06:48

本篇博客主要目的为记录自己学习历程,同时练习写好一个博客,能够将自己的经验总结出来。个人觉得通过这样的方法能够使自己的印象更加深刻。

读到此博客的朋友最好先到本文最后一部分进行阅读,然后再决定是否按照本博客方法,以节约时间。

一、参考资料

悠望南山--CAFFE学习笔记(一)Caffe_Example之训练mnist

二、训练所需要用到的文件

1.mnist_test_lmdb  (测试数据集,里面包括data.mdb和lock.mdb)

2.mnist_train_lmdb (训练数据集,里面包括data.mdb和lock.mdb)

3.lenet_train_test.prototxt  (训练和测试所用到的net模型数据,包括各种layer,如卷积层conv,采样层也即池化层pool,全连接层ip,非线性层Relu,损失层loss。数据以blob形式在各个层中传递)

4.lenet_solver.prototxt(此文件指定了训练中所需要的参数,即训练超参数。包括迭代次数,网络学习速率、冲量,最大迭代次数等,最重要的是caffe的求解模式的设置,需要在此设置是采用CPU还是GPU模式)

5.train_lenet.sh(此文件中存放进行训练的命令)

截图如下:

三、训练准备工作

我是依照悠望南山博客中所说的方法,在caffe.exe文件所在的文件夹下新建一个文件夹,命名为example。caffe.exe文件一般在caffe\build\x64\Debug或者caffe\build\x64\Release文件夹下,视个人在编译caffe时所选用的编译模式。将caffe\examples\mnist文件夹下的两个lmdb数据文件夹拷贝到刚才新建的文件夹下,同时在mnist文件夹下寻找其他三个之前提到的文件并拷贝到新建的文件夹下。


现在开始修改.prototxt文件。

首先打开lenet_train_test.prototxt文件,安装下图所示的方法进行修改即可。


然后打开lenet_solver.prototxt文件,进行设置,同样要设置路径问题,并且在文件最后一行需要把caffe-mode修改为自己需要的模式。


补充说明一下,.caffemodel文件是训练得到的模型权值文件,在测试阶段会用到。.solverstate文件是训练状态文件。这两个文件在windows下一般无法打开,都是ProtoBuffer二进制格式文件。

打开train_lenet.sh文件进行编辑:


caffe.exe train --solver=example/lenet_solver.prototxt

然后将train_lenet.sh文件后缀改为bat,并拷贝到它的上一层文件夹中,即与caffe.exe文件放在同一个文件夹下。为什么要将文件改为bat格式文件呢?因为运行sh文件需要下载单独的软件,而改为bat格式后,直接双击就可以运行。


四、开始训练

双击train_lenet.bat文件,不出意外即可顺利运行。接下来只需等待即可,训练结束后窗口会自动关闭,无法查看log信息即训练的详细过程信息。如果有这方面的需要,可以在train_lenet.bat文件的末尾另起一行输入 sleep 60 即可,表示在运行结束后窗口会等待60秒后关闭。最后可以在example文件夹下看到训练结果,即下图所示的四个文件:


五、总结与补充

将所有需要的数据拷贝到单独新建的文件夹下是为了不修改原始数据个文件,但这样也相应的增加了操作,降低了效率。按照本文各种操作的原理,如果不拷贝各种文件到其他文件夹下的话,.prototxt文件路径应该是不需要修改的,只需要在lenet_solver.prototxt最后一行选择自己需要的caffe:mode。然后在train_lenet.sh文件中输入caffe.exe文件的绝对路径,并将此文件格式改为bat双击运行即可。

训练过程总体来说较为顺利,按照操作来就没有什么问题。测试过程还没有进行,之后可能会再写一个博客吧,看时间了。

0 0
原创粉丝点击