1.数据集的下载与转换
1)我们在mnist数据集上做测试,MNIST handwritten digit database, Yann LeCun, Corinna Cortes and Chris Burge在这里下载这四个文件:
2)然后解压生成了以下四个文件:
3)数据格式转换
新建一个文本文档,更改后缀为 .bat 在里面复制以下code:
....Buildx64Releaseconvert_mnist_data.exe ....datamnist rain-images.idx3-ubyte ....datamnist rain-labels.idx1-ubyte ....examplesmnistmnist_train_lmdb
echo.
....Buildx64Releaseconvert_mnist_data.exe ....datamnist 10k-images.idx3-ubyte ....datamnist 10k-labels.idx1-ubyte ....examplesmnistmnist_test_lmdb
pause
其实第一个路径就是 exe文件所在路径, 后面两个就是数据所在路径,最后一个是输出文件路径
例如:
F:caffe-mastercaffe-masterBuildx64Releaseconvert_mnist_data.exe E:caffetestmnistmnist rain-images.idx3-ubyte E:caffetestmnistmnist rain-labels.idx1-ubyte E:caffetestmnistmnistmnist_train_lmdb
echo.
F:caffe-mastercaffe-masterBuildx64Releaseconvert_mnist_data.exe E:caffetestmnistmnist 10k-images.idx3-ubyte E:caffetestmnistmnist 10k-labels.idx1-ubyte E:caffetestmnistmnistmnist_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文件夹放在..anaconda2Libsite-packages中。
import caffe caffe.set_mode_gpu() solver = caffe.SGDSolver('lenet_solver.prototxt') solver.solve()
运行代码可以得到以下的结果: