转自:(1)https://blog.csdn.net/u013295579/article/details/78398678
(2)https://blog.csdn.net/renyhui/article/details/60871888
- 测试数据和训练数据集的获取:https://pan.baidu.com/s/1hry1f4g 将下载下来并解压得到的测试和训练数据mnist-test-leveldb和mnist-train-leveldb复制到.\caffe-master\examples\mnist\目录下
- 将./caffe-master\windows\目录下的CommonSettings.props做如下改动并保存:
true false 7.5 true true(为了调用Python接口,将默认的false改为true) C:\ProgramData\Anaconda3\(红色部分为Python.exe根目录,注意最后一道斜杠)
(CommonSettings.props文件修改完成)
- 修改.\caffe-master\examples\mnist\下的lenet_train_test.prototxt 做如下修改:
第13行修改为:data_param { source: "C:/ProgramData/Caffe/caffe-master/examples/mnist/mnist-train-leveldb" batch_size: 64 backend: LEVELDB }
第30行修改为:
data_param { source: "C:/ProgramData/Caffe/caffe-master/examples/mnist/mnist-train-leveldb" batch_size: 64 backend: LEVELDB }
注意:source属性值的数据路径的斜杠是’/’而不是windows下的’\’
4. GPU和CPU的切换在lenet_solver.prototxt修改,最后一行把GPU改成CPU即可5.编写windows下脚本文件run.bat
.\Build\x64\Release\caffe.exe train --solver=examples/mnist/lenet_solver.prototxt pause
将run.bat文件放在./caffe-master/文件下,双击run.bat文件可以看到训练的结果如下:
... ... I1030 22:57:11.207583 11204 sgd_solver.cpp:106] Iteration 9600, lr = 0.00603682 I1030 22:57:17.158367 11204 solver.cpp:228] Iteration 9700, loss = 0.00264511 I1030 22:57:17.158869 11204 solver.cpp:244] Train net output #0: loss = 0.00264498 (* 1 = 0.00264498 loss) I1030 22:57:17.159369 11204 sgd_solver.cpp:106] Iteration 9700, lr = 0.00601382 I1030 22:57:23.735081 11204 solver.cpp:228] Iteration 9800, loss = 0.0104211 I1030 22:57:23.735081 11204 solver.cpp:244] Train net output #0: loss = 0.010421 (* 1 = 0.010421 loss) I1030 22:57:23.735581 11204 sgd_solver.cpp:106] Iteration 9800, lr = 0.00599102 I1030 22:57:29.758888 11204 solver.cpp:228] Iteration 9900, loss = 0.00677528 I1030 22:57:29.759388 11204 solver.cpp:244] Train net output #0: loss = 0.00677515 (* 1 = 0.00677515 loss) I1030 22:57:29.759891 11204 sgd_solver.cpp:106] Iteration 9900, lr = 0.00596843 I1030 22:57:35.597347 11204 solver.cpp:454] Snapshotting to binary proto file examples/mnist/lenet_iter_10000.caffemodel I1030 22:57:35.615355 11204 sgd_solver.cpp:273] Snapshotting solver state to binary proto file examples/mnist/lenet_iter_10000.solverstate I1030 22:57:35.664417 11204 solver.cpp:317] Iteration 10000, loss = 0.00254389 I1030 22:57:35.664916 11204 solver.cpp:337] Iteration 10000, Testing net (#0) I1030 22:57:39.652560 11204 solver.cpp:404] Test net output #0: accuracy = 0.9912 I1030 22:57:39.653061 11204 solver.cpp:404] Test net output #1: loss = 0.0287646 (* 1 = 0.0287646 loss) I1030 22:57:39.653559 11204 solver.cpp:322] Optimization Done. I1030 22:57:39.654062 11204 caffe.cpp:255] Optimization Done. C:\ProgramData\Caffe\caffe-master>pause 请按任意键继续. . .
可以看到预测的准确率达到了0.9912 ,测试成功。
-
测试模型
在根目录下创建test_mnist.bat,内容如下:
.\Build\x64\Release\caffe.exe test -model=examples\mnist\lenet_train_test.prototxt -weights=examples\mnist\lenet_iter_10000.caffemodel -iterations=100 pause
注意:这里一定不要因为一行过长,使用回车,不然会报错,Check failure stack trace: