1.数据集的下载与转换
1)我们在mnist数据集上做测试,在这里下载这四个文件:
2)然后解压生成了以下四个文件:
3)数据格式转换
新建一个文本文档,更改后缀为 .bat 在里面复制以下code:
..\..\Build\x64\Release\convert_mnist_data.exe ..\..\data\mnist\train-images.idx3-ubyte ..\..\data\mnist\train-labels.idx1-ubyte ..\..\examples\mnist\mnist_train_lmdb
echo.
..\..\Build\x64\Release\convert_mnist_data.exe ..\..\data\mnist\t10k-images.idx3-ubyte ..\..\data\mnist\t10k-labels.idx1-ubyte ..\..\examples\mnist\mnist_test_lmdb
pause
其实第一个路径就是 exe文件所在路径, 后面两个就是数据所在路径,最后一个是输出文件路径
例如:
F:\caffe-master\caffe-master\Build\x64\Release\convert_mnist_data.exe E:\caffetest\mnist\mnist\train-images.idx3-ubyte E:\caffetest\mnist\mnist\train-labels.idx1-ubyte E:\caffetest\mnist\mnist\mnist_train_lmdb
echo.
F:\caffe-master\caffe-master\Build\x64\Release\convert_mnist_data.exe E:\caffetest\mnist\mnist\t10k-images.idx3-ubyte E:\caffetest\mnist\mnist\t10k-labels.idx1-ubyte E:\caffetest\mnist\mnist\mnist_test_lmdb
pause
保存后,双击运行,生成了两个文件夹:mnist_train_lmdb和mnist_test_lmdb
2.打开lenet_train_test.prototxt
然后打开lenet_solver.prototxt,修改第二行即可,
可以将prototxt文件放在以下的网址,查看网络的结构:http://ethereon.github.io/netscope/#/editor
3.使用caffe.exe 训练网络
利用命令行cd到caffe.exe的工作目录,输入以下的命令:
caffe train -solver=lenet_solver.prototxt -gpu 0
可以得到以下的训练结果:
4.使用Python调用caffe
环境:python+Anaconda;同时将编译生成的python文件夹放在..\anaconda2\Lib\site-packages中。
import caffecaffe.set_mode_gpu()solver = caffe.SGDSolver('lenet_solver.prototxt')solver.solve()
运行代码可以得到以下的结果: