您的位置:首页 > Web前端

【caffe-Windows】mnist实例编译之model的生成

2016-06-27 19:01 561 查看
其实这个和cifar的实例基本相同,只不过数据转换的方法不一样

【说明,此博客按照我自己的路径设置的相关操作,读者如果自行选择其他路径,记得在bat和prototxt等文件修改路径】

第一步

下载数据集THE MNIST DATABASE of handwritten digits官方网址:http://yann.lecun.com/exdb/mnist/

为了避免部分人下载速度缓慢或者打不开网址,这个上传了百度云:链接:http://pan.baidu.com/s/1c2kHfgO 密码:ffr7

下载以后放到如下路径,并解压,操作完毕的文件如下,这个文件夹应该是在Linux下调用sh命令下载数据的地方,我们直接放到这里面:

【这里自己把解压后的文件重新命名一下,原始解压后的文件是"."而不是"-"】



第二步

数据格式的转换,依旧是转换为leveldb,不过和cifar的转换方法不同



按照上图,在对应路径下新建一个bat文件,内容如下:

set DATA=../../data/mnist
set TOOLS=../../Build/x64/Release

REM set BACKEND=lmdb
set BACKEND=leveldb

echo "Creating %BACKEND%..."

rd /s /q "mnist_train_%BACKEND%"
rd /s /q "mnist_test_%BACKEND%"

"%TOOLS%/convert_mnist_data.exe" %DATA%/train-images-idx3-ubyte %DATA%/train-labels-idx1-ubyte mnist_train_%BACKEND% --backend=%BACKEND%
"%TOOLS%/convert_mnist_data.exe" %DATA%/t10k-images-idx3-ubyte %DATA%/t10k-labels-idx1-ubyte mnist_test_%BACKEND% --backend=%BACKEND%

echo "Done."

pause

运行以后就会多出上图的两个文件夹。

【更新日志2017-9-15】这一步很多人不会, 那就提供一个简单点的转换方法

转换测试集:

..\..\Build\x64\Release\convert_mnist_data.exe train-images-idx3-ubyte train-labels-idx1-ubyte train_leveldb -backend=leveldb
pause转换训练集:
..\..\Build\x64\Release\convert_mnist_data.exe train-images-idx3-ubyte train-labels-idx1-ubyte train_leveldb -backend=leveldb
pause

第三步

【注意】可以发现cifar在这里还计算过均值

修改prototxt文件,依旧是老地方,leveldb的路径问题





第四步

【注意】如果你用的是CPU,记得修改lenet_solver.prototxt里面最后一行为CPU

直接开始训练了,同样新建bat文件,路径和内容如下:





bat 的内容如下:

.\Build\x64\Release\caffe.exe train --solver=examples/mnist/lenet_solver.prototxt
pause


第五步

得到结果模型


.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: