Caffe的根目录以下统一称为CAFFE_ROOT
工具准备
1. 运行shell脚本
caffe提供了很多的examples,都放在CAFFE_ROOT/examples
下,而这些examples所需要的数据都存储在 CAFFE_ROOT/data
下。当然现在data下面没有实质的图像数据,但是有一些脚本可以很方便的用来获取网络上公开的一些数据,如有名的数字识别库mnist。但是这些脚本都是Linux下用的 .sh
shell脚本文件。在Windows下运行shell的方法很多,网上也有很多教程 。我由于安装了git,所以利用git bash可以直接运行shell文件。这里选择一个自己喜欢的方式就可以了
2. 安装wget
在这里下载wget,这个软件用于从互联网获取资源。
下载后解压到任意目录即可,然后将wget的目录加入到系统环境变量Path内,确保可以被shell脚本找到。如下:
训练mnist
-
下载mnist数据 (也可以在官网下载:minist数据集,然后解压到下面提到的文件夹下)
运行CAFFE_ROOT/data/mnist/get_mnist.sh
完成下载后会在CAFFE_ROOT/data/mnist
下多出四个文件,如下,即为mnist的数据
-
将下载下来的mnist数据转换为lmdb格式。这种格式的数据更利于快速的读取,提高训练效率。
- 打开
CAFFE_ROOT/windows/Caffe.sln
,生成convert_mnist_data
项目(Release,x64)
生成的项目存储在CAFFE_ROOT/Build/x64/Release
下,这一步可能出现无法打开 libcaffe 之类的错误或者警告,解决方法:首先在上图里面把 libcaffe 右键——>属性——>C/C++常规 里面“将警告视为错误”——>“否”如下图:然后在 Release X64 模式下重新生成 libcaffe,编译通过后,再次在 Release X64 模式下生成 convert_mnist_data (这个也要把属性里面的“将警告视为错误”改为“否”)这次就会编译通过了,可以在 Release 文件夹下看到生成的文件了
- 打开
CAFFE_ROOT/examples/mnist/create_mnist.sh
将
BUILD=build/examples/mnist
改为
BUILD=Build/x64/Release
- 运行
CAFFE_ROOT/examples/mnist/create_mnist.sh
转换好的数据将存在脚本的目录下
- 打开
-
在
CAFFE_ROOT
下新建一个文本文件,命名为run_mnist.bat
内容如下 - 运行
run_mnist.bat
, 即开始训练网络,训练过程中可以看到训练的loss和测试的accuracy,最终结果的识别率在99%以上 - http://blog.youkuaiyun.com/tsyccnh/article/details/51673474