好不容易闲下来,决定跑一下Caffe看看,碰到几个配置的小问题,将配置过程记录如下:
基本的环境:
Windows 64-bit
MS Visual Studio 2012
CUDA toolkit 6.0
Other dependencies which you can directly download from
here
.
源代码下载:
https://github.com/niuzhiheng/caffe
安装运行步骤:
https://github.com/niuzhiheng/caffe/blob/windows/README.md
a. 为了确保完全重新编译,删除src/caffe/proto下的caffe.pb.cc以及caffe.pb.h文件
b.打开工程属性配置,进入CUDA c/c++选项,将Device下的code generation 修改为 compute_20,sm_20。重新编译即可。
c. 注意:arch的属性修改是根据显卡来的,因此需要根据机器硬件的不同来设置。具体可以参考
https://github.com/BVLC/caffe/commit/6b7aba6e5ebecff93bea3181 2537dc06235a6533
,文件中CUDA_ARCH的参数(我自己的机器为GeForce GTX650)。
4. 也可以只使用CPU运行程序,只需要将examples/minst/lent_solver.prototxt文件最后一项修改为CPU即可。
源代码下载:
编译 :
1. 下载并解压源码。
2. 下载CUDA的toolkit后按照提示进行安装。
3. 下载第三方库,将下载的内容拷贝到3rdparty目录下
4. 到bulid/MSVC下打开MainBuilder.sln文件进行编译,编译过程中可能会出现头文件找不到的情况,到工程属性中找到 “c/c++ /常规/附加包含目录” 添加 “../../include”路径。
5. 重新编译,成功。
运行mnist的sample:
1. 到这里
http://dl
.
dropboxusercontent.com/u/3466743/caffe-vs2012/mnist-leveldb.7z
下载已经转换好的mnist的数据库
2. 将解压后的训练集和测试集目录拷贝到examples/mnist下,运行train_lenet.bat
3. 运行过程中可能会出现Invalid device function的错误,这是因为GPU的Arch不一样导致的,此时需要修改编译配置,将原来编译的内容清空: