一、准备数据                                                                                                                               点击此处返回总目录

二、将数据转换成lmdb格式

三、定义网络结构

四、定义超参数文件

五、训练

 

跟在windows上一样。

 

 

这一节课演示caffe的一步一步的操作,首先定义数据,然后配置Net,然后配置Solver,然后run,最后分析结果,如果结果不满意,再回头修改。这样一个循环的过程。这节课使用Mnist作为例子,给大家一个整体的印象。后面再每一个步骤细讲。

                                  Caffe使用流程----以Mnist数据分类为例

 

 

一、准备数据

cd /home/emcas/liupc/caffe/data/mnist

./ get_mnist.sh

下载完后,在本目录下可以看到:

Caffe使用流程----以Mnist数据分类为例

 

二、将数据转换成lmdb格式

cd /home/emcas/liupc/caffe/examples/mnist

vim create_mnist.sh

改成如下内容:

Caffe使用流程----以Mnist数据分类为例

 

sh create_mnist.sh

执行后,可以看到生成了两个文件夹:

              Caffe使用流程----以Mnist数据分类为例

 

 

三、定义网络结构

cd /home/emcas/liupc/caffe/examples/mnist

vim  lenet_train_test.prototxt

改一下两个地方就行。

Caffe使用流程----以Mnist数据分类为例

 

 

 

 

四、编写超参数文件

cd /home/emcas/liupc/caffe/examples/mnist

vim  lenet_solver.prototxt

Caffe使用流程----以Mnist数据分类为例

我使用的CPU,所以最后一个地方改成了CPU。

 

五、训练

输入caffe 之后,可以看到caffe之后可以有四个参数。

 

 

Caffe使用流程----以Mnist数据分类为例

 

caffe time命令用来评估模型执行时间是多少。我们试一下。

cd /home/emcas/liupc/caffe/examples/mnist

caffe time -model lenet_train_test.prototxt -iterations 10      //模型,迭代多少次,默认跑cpu

Caffe使用流程----以Mnist数据分类为例

Caffe使用流程----以Mnist数据分类为例

 

说明迭代十次,使用CPU一共花了322ms。

再试一下GPU。

 

caffe time -model lenet_train_test.prototxt -iterations 10  -gpu 0                      //选择gpu 0

Caffe使用流程----以Mnist数据分类为例

(我没有GPU版本的,所以就不放上结果了)

 

可以通过对比时间,查看两者的差距。

 

我们开始来训练一下:

cd /home/emcas/liupc/caffe/examples/mnist

caffe train -solver lenet_solver.prototxt

运行结果:Caffe使用流程----以Mnist数据分类为例

 

最后跑了1万轮,准确率99.16%

 

跑完之后可以看到生成的模型文件:

Caffe使用流程----以Mnist数据分类为例

 

 

 

训练完之后,就可以画图看看准确率了。或者在网上找一张图片,亲自试一下~~

 

 

 

 

 

 

 

相关文章: