准备
- CUDA7.5:GPU加速运算平台
- 对应版本的cuDNN:用于深度学习加速,需要邮箱注册
- caffe-windows:Caffe的源码
- MNIST测试数据集:手写数字
- VS2013-NuGET拓展包或者直接下载
http://pan.baidu.com/s/1qYpg3bY,提取码f2zx。将已经下载好的NugetPackages文件夹,和并放到和caffe-windows文件夹的同级目录下
配置
- 安装CUDA7.5,选择了其他的目录,但是最后还是在
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
- 将cuDNN里面的三个文件夹复制合并到
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.5
- 解压caffe-windows,将
.\windows\CommonSettings.props.example
备份并改名为CommonSettings.props - 用VS2013打开
caffe-windows\windows\Caffe.sln
配置改为release
VS->项目->属性->配置属性->C/C++->常规->将警告视为错误修改为“否” - 安装NuGet.tools,生成->生成解决方案
编译完成后的所有文件都在..caffe-windows\Build\x64\Release目录下,如果需要在别的机器上使用的话,只需要将Release文件夹拷贝过去即可,不需要再重新编译一遍
测试
- 将数据集mnist的4个解压后的文件放到
. \examples\mnist\mnist_data
文件夹下。 新建bat文件
(1)将训练数据转换成lmdb格式
D:\Study\Caffe\caffe-windows\Build\x64\Release\convert_mnist_data.exe
--backend=lmdb
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\train-images.idx3-ubyte
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\train-labels.idx1-ubyte
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\mnist_train_lmdb
pause
ps:换行是为了方便观看,每条指令以空格分开。
(2)将测试数据转换成lmdb格式
D:\Study\Caffe\caffe-windows\Build\x64\Release\convert_mnist_data.exe
--backend=lmdb
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\t10k-images.idx3-ubyte
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\t10k-labels.idx1-ubyte
D:\Study\Caffe\caffe-windows\examples\mnist\mnist_data\mnist_test_lmdb
Pause
convert_mnist_data.exe的命令格式为:
convert_mnist_data [FLAGS] input_image_file input_label_file output_db_file
[FLAGS]:转换的文件格式可取leveldb或lmdb,示例:–backend=leveldb
Input_image_file:输入的图片文件,示例:train-images.idx3-ubyte
input_label_file:输入的图片标签文件,示例:train-labels.idx1-ubyte
output:保存输出文件的文件夹,示例:mnist_train_lmdb将转换后的数据集文件夹放到
D:\Study\Caffe\caffe-windows\examples\mnist
新建mnist-run.bat文件
D:\Study\Caffe\caffe-windows\Build\x64\Release\caffe.exe
train
--solver=D:\Study\Caffe\caffe-windows\examples\mnist\lenet_solver.prototxt
pause
这里可能会因为路径的问题报错,先说一下解决方法:
主要在lenet_solver.prototxt 和 lenet_train_test.prototxt 两个文件。
修改后,将mnist-run.bat 放到 D:\Study\Caffe\caffe-windows\examples\mnist
目录下运行
我试过将lenet_solver.prototxt 和 lenet_train_test.prototxt 两个文件中的目录采用绝对路径,但还是会报错,原因未知。
训练成功的情况