您的位置:首页 > Web前端

caffe自带examples里面的数据的训练以及测试

2017-05-22 16:35 225 查看
我的caffe安装是在cpu模式下进行的

1.使用MNIST数据集进行训练

下面指令如果没有特殊说明都是在caffe目录下进行的

(1)首先需要获取数据:

(caffe自带的数据不是以数据的形式存在,而是以一个脚本文件存在,因此,你需要先运行脚本文件获取数据)步骤如下:

先到caffe下的以下路径:

cddata/mnist

运行:

sudo sh./get_mnist.sh

会得到四个文件:t10k-images-idx3-ubyte, t10k-labels-idx1-ubyte, train-images-idx3-ubyte, train-labels-idx1-ubyte
(2)把数据处理成LDB文件(这是以后你如果想要训练自己的数据而得到自己的模型很重要的一步)

sudo sh./examples/mnist/create_mnist.sh

生成mnist-train-
c5ca
leveldb/和mnist-test-leveldb/文件夹,这里包含了LDB格式的数据集
(3)训练MNIST
此时我们主要修改的是solver.prototxt文件,此文件对于以后的学习很重要,后续我会对此文件做一些讲解。
cd/examples/mnist/

vilenet_solver.prototxt

将文件最后的solver_mode:GPU改为solver_mode:CPU

修改完成之后,就可以进行训练了:

sudo sh./examples/mnist/train_lenet.sh

训练完成之后会得到一个lenet_iter_10000.caffemodel。

(这个10000与solver.prototxt里面最大迭代次数有关,由于我们是cpu模式,速度上应该是不太快,因此为了节省时间,你可以修改为1000,熟悉下整个过程就好)

训练完如下:

2.使用MNIST数据集进行测试

训练完成之后,我们当然需要对我们训练的模型进行测试。

我是参照的命令行方式。也可以使用python,matlab进行编译。

首先需要在cd到./caffe-master/examples/mnist文件夹下,新建一个sh文件,生成指令为:
touchtest_lenet.sh    #生成.sh文件
接着进入该文件进行编辑:
vimtest_lenet.sh

编辑的内容为(可Copy):

#!/usr/bin/envsh
./build/tools/caffetest --model=examples/mnist/lenet_train_test.prototxt--weights=examples/mnist/lenet_iter_10000.caffemodel -iterations
100
这里其实就只有两行,一定要保证这一点。否则会出错。
然后
sudosh ./examples/mnist/test_lenet.sh
测试成功之后可以得到:



最后的batch 49与solver.prototxt文件里的batch_size有关,这个后续会介绍。

补充:对于examples里面的许多例子都可以尝试训练测试,比如cifar10等等,,过程都大致差不多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐