操作指南——此文已非常之详细
注意执行convert-mnist-data
是在 Build\x64\Release\ 目录下,而不是存放数据的目录下, 所以用绝对路径定位到该exe文件
训练集脚本:
1 | C:\Users\18771\Desktop\caffenew\caffe-windows\Build\x64\Release\convert_mnist_data.exe train-images.idx3-ubyte train-labels.idx1-ubyte mnist_train_lmdb |
测试集脚本:
1 | C:\Users\18771\Desktop\caffenew\caffe-windows\Build\x64\Release\convert_mnist_data.exe t10k-images.idx3-ubyte t10k-labels.idx1-ubyte mnist_test_lmdb |
把\examples\mnist
下的文件 lenet_solver.prototxt
中的训练平台改为CPU
lenet_train_test.prototxt
是要采用的训练模型的具体实现。
然而,开始训练的时候,魔鬼又出现了。。ImportError: No module named _caffe
明明之前import成功了,后来找到一个解决方案 :把Build\x64\Release\pycaffe\caffe目录下的所有文件复制到caffe-windows\python\caffe目录中,也就是把原文件夹中的一部分文件用编译完成的新文件替换。
用.\draw_net.py
可以查看训练网络的可视化。
在caffe根目录下创建训练运行脚本
1 | C:\Users\18771\Desktop\caffenew\caffe-windows\Build\x64\Release\caffe.exe train --solver=examples/mnist/lenet_solver.prototxt |
接下来参考这篇博客
最终模型存储在lenet_iter_10000
测试脚本
1 | C:\Users\18771\Desktop\caffenew\caffe-windows\Build\x64\Release\caffe.exe test --model examples/mnist/lenet_train_test.prototxt -weights=examples/mnist/lenet_iter_10000.caffemodel |
测试结果
1 | I1219 00:44:56.921839 6236 caffe.cpp:331] accuracy = 0.9854 |
用图片进行测试,参考
脚本生成均值文件mean.binaryproto
1 | C:\Users\18771\Desktop\caffenew\caffe-windows\Build\x64\Release\compute_image_mean mnist_train_lmdb mean.binaryproto |
准备好测试图片,png格式
标签文件lable.txt
图片测试脚本
1 | C:\Users\18771\Desktop\caffenew\caffe-windows\Build\x64\Release\classification lenet.prototxt ./lenet/_iter_10000.caffemodel mean.binaryproto label.txt 8.png |
但是结果有问题,应该是图片格式的原因。
一下步要学习将图片转为Lmdb格式