为了程序的简洁,在caffe中是不带练习数据的,因此需要自己去下载。但在caffe根目录下的data文件夹里,作者已经为我们编写好了下载数据的脚本文件,我们只需要联网,运行这些脚本文件就行了。
Mnist介绍:mnist是一个手写数字库,由DL大牛YanLeCun进行维护。mnist最初用于支票上的手写数字识别,现在成了DL的入门练习库。征对mnist识别的专门模型是Lenet,算是最早的cnn模型了。mnist数据训练样本为60000张,测试样本为10000张,每个样本为28*28大小的黑白图片,手写数字为0-9,因此分为10类。
注意:在caffe中运行所有程序,都必须在根目录下进行,否则会出错
第一步:打开caffe根目录
train-images-idx3-ubyte:训练集样本 (9912422 bytes)
train-labels-idx1-ubyte: 训练集对应标注 (28881 bytes)
t10k-images-idx3-ubyte: 测试集图片 (1648877 bytes)
t10k-labels-idx1-ubyte: 测试集对应标注 (4542 bytes)
这些数据不能在caffe中直接使用,需要转换成LMDB数据
第三步:转换成LMDB数据
我刚开始在执行这条指令的时候出现问题,大概错误意思就是,某某文件不存在不能发现。
后来解决办法是:将caffe-master目录下build文件夹剪切到桌面,通过指令打开根目录:cd ~/caffe/caffe-master,在它目录下,重建一个build文件夹:mkdirbuild,然后再进入build文件夹下,注意:是这个文件夹里面。执行指令cmake..待执行完,再make以下,等它编译完成并成功。
然后在caffe根目录下面,重新执行第三步。这一次就通过了,转换成功的标志就是:会在caffe/caffe-master/examples/mnist/目录下,生成两个文件夹,分别是mnist_train_lmdb和mnist_test_lmdb,里面存放的data.mdb和lock.mdb,就是我们需要的运行数据。
路径问题,BUILD=examples/mnist
然而bin文件不再这个目录下,此目录为cpp源文件,
convert_mnist_data.bin文件在caffe/build/examples/mnist下
但是build文件是一个符号链接链接地址为.build_release
所以更改路径为
BUILD=.build_release/examples/mnist
多说两句:
create_mnist.sh是利用caffe-master/build/examples/mnist/的convert_mnist_data.bin工具,将mnistdate转化为可用的lmdb格式的文件。并将新生成的2个文件mnist-train-lmdb 和 mnist-test-lmdb放于create_mnist.sh同目录下。
第四步:运行这个例子
Caffe根目录下执行:
成功运行,在泰坦显卡的机子上运行时间大概是3分钟,因为机子有英伟达的显卡,GPU-CUDA也装好,所以就没有修改配置文件这一步。
精度为99.03%。