csdn: mnist caffe windows vs2013
https://blog.youkuaiyun.com/jancis/article/details/85082360
code:
https://github.com/microsoft/caffe
(1)D:\caffe-master\caffe-master\windows目录(第二个caffe-master是解压后得到的),将文件CommonSettings.props.example重命名为CommonSettings.props
(2)双击同一目录下的caffe.sln文件,生成解决方案;全部编译成功;
(3)获取数据,打开git bash, 运行get_mnist.sh;
这里遇到了第二个问题:wget unrecognized option,在Windows利用wget和gitbash通过get_mnist.sh脚本下载不了mnist数据集
解决方案:打开get_mnist.sh脚本,修改其内容,将--no-check-certification语句删掉后保存文件。
(4)转换为LMDB
create_mnist.sh
这里遇到了第三个问题:将二进制文件转换成lmdb时出现no such file
解决方案:打开D:\caffe-master\caffe-master\examples\mnist中的create_mnist.sh脚本文件,修改其内容(1、EXAMPLE,将其定位到create_mnist.sh脚本文件所在的地方;2、DATA,将其定位到从数据库下载的二进制格式数据中;3、BUILD,将其定位到有convert_mnist_data.exe所在的地方):
转换好的数据放置于D:\caffe-master\caffe-master\examples\mnist,出现两个新的文件夹mnist_train_lmdb和mnist_test_lmdb,每个文件夹里都有两个文件:data.mdb和lock.mdb:
(5)训练
开始训练神经网络,在Caffe根目录下新建一个文本文件txt,用VS打开txt,在文本中输入以下命令,并将文件名重命名为run_mnist.bat
caffe.exe train --solver=examples\mnist\lenet_solver.prototxt
训练完后在D:\caffe-master\caffe-master\examples\mnist中会出现4个文件,分别是迭代5000次和10000次的模型(因为在训练超参数文件中设置snapshot:5000,意思是每5000次迭代输出中间结果,即保存一次.caffemodel,.solverstate:
(6)预测
.\Build\x64\Release\caffe.exe test -model=examples\mnist\lenet_train_test.prototxt -weights=examples\mnist\lenet_iter_10000.caffemodel -iterations=100
pause
(7)分类
新建mnist_class.bat(除了pause外其他都写在同一行,pause的作用:使命令行界面停住),双击运行,结果如下图(这里只测试了一张自制的图像):
bmp和jpg都行
D:\caffe-master\caffe-master\Build\x64\Release\classification.exe D:\caffe-master\caffe-master\examples\mnist\lenet.prototxt D:\caffe-master\caffe-master\examples\mnist\lenet_iter_10000.caffemodel D:\caffe-master\caffe-master\examples\mnist\mean.binaryproto D:\caffe-master\caffe-master\examples\mnist\synset_words.txt D:\caffe-master\caffe-master\examples\mnist\selftest\26.bmp