caffe-windows配置 cuda6.5+vs2012

最好安官方版本,不要作,真的,安caffe-windows后续学习也不方便。

惨痛教训!

 

 

硬要作的话,就看下去好了。。。

 

caffe-windows配置 cuda6.5+vs2012

 

平台:windows8.1

 

准备工作

需要提前安装好的:vs+cuda(建议安装vs2012+cuda6.5或者vs2013+cuda7.0,因为这两个组合网上可以找到对应的编译好的caffe第三方库,我采用的组合是vs2012+cuda6.5)。如果cuda没安装好,可以查看我的上一篇博文cuda7.0安装windows+vs2012 ,cuda6.5和7.0的安装方法是一样的。

需要下载的资源:

1、caffe-windows(暂叫作caffe1) https://github.com/niuzhiheng/caffe 这是niuzhiheng给出的版本,官方并没有windows版

2、caffe的第三方库  http://dl.dropboxusercontent.com/u/3466743/caffe-vs2012/dependency-20140804.7z 这个网址访问需要FQ,所以我这里采用的是别人已经编译好的库。从以下链接可以直接下载Caffe For Windows VS2012完整版,带第三方库(暂叫作caffe2)http://download.csdn.net/detail/thesby/8411969#comment 如果你安装的是vs2013+cuda7.0,网上也可以找到对应资源。

 

 安装步骤

1、将caffe1中bulid\MSVCmex复制到caffe2的bulid文件夹下。

2、打开bulid\MSVC下的matcaffe.vcxproj文件,查找cuda,检查cuda版本是否和你安装的是否一致。举例:你的版本是cuda7.0,则需将CUDAx.x改成cuda7.0,将\CUDA\vx.x改成CUDA\v7.0。总计有四处地方需要修改,如果版本一致,当然不用更改。

matcaffe.vcxproj里的cuda版本号与你实际安装的不一致,而你又没有修改,则在下一步中项目将不能成功加载。

3、将caffe for windows下的将3rdparty/bin文件夹加到环境变量的path中(这一步不确定是否必要),注意path值修改之后要关机重启才有效

4、打开bulid\MSVC下的MainBuilder.sln。配置管理器设置为x64,release和debug都行。

A、项目右键\属性\VC++目录\包含目录 ,添加cuda的头文件目录,如我的是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v6.5\include。

B、项目右键\属性\链接器\常规\附加库目录,添加 $(CUDA_PATH_V6_5)\lib\$(Platform),如果你的版本不一样,例如是7.0,则添加的应该是$(CUDA_PATH_V7_0)\lib\$(Platform)。

C、项目右键\属性\链接器\输入\附加依赖项  添加 

cublas.lib
cublas_device.lib
cuda.lib
cudadevrt.lib
cudart.lib
cudart_static.lib
cufft.lib
cufftw.lib
curand.lib
cusparse.lib
nppc.lib
nppi.lib
npps.lib
nvblas.lib
nvcuvid.lib
OpenCL.lib

D、项目右键\属性\C/C++\附加包含目录   这里面的自动添加了,不需要管。

5、项目右键\生成   慢慢等(最开始一段时间输出日志在caffe.pb.h remains the same as before没动,这不是error,等着就好)。

6、编译其他cpp。将要编译的cpp将他include到MainCaller.cpp(...\Caffe\examples\MainCaller.cpp)中。生成项目。注意不是重新生成项目。

具体来说,打开 MainCaller.cpp,里面的内容如下所示。一次编译一个cpp文件,例如,下面这个编译的是"../../tools/train_net.cpp"。

#include "../../tools/train_net.cpp"
//#include "../../tools/test_net.cpp"
//#include "../../tools/finetune_net.cpp"
//#include "../../tools/net_speed_benchmark.cpp"
//#include "../../tools/dump_network.cpp"

//#include "../../tools/convert_imageset.cpp"
//#include "../../tools/extract_features.cpp"
//#include "../../tools/convert_imageset.cpp"
//include "../../tools/compute_image_mean.cpp"

 

编译matlab接口的方法与上述类似,需要增加的步骤:

1、项目右键\属性\VC++目录\包含目录  添加matlab的头文件,如我的是 I:\APPs\install\matlab\extern\include (缺少这不会报错:无法打开"mex.h")

2、 init_key = randam(); 改为init_key = rand(); 

 

注意,生成过程中有很多warnings,不需要管。如果按上述方法没有成功生成,在输出日志中查找error(因为输出日志很长,直接找肯定找不到),根据具体错误找原因,我的输出日志在I:\APPs\install\Caffe\build\MSVCmex\Release下,matcaffe.log。对,我就是这么小白,才知道要在输出日志中查找error。

 

 参考:Windows7 64位+Cuda6.5+vs2012 的caffe配置历程 http://www.yidianzixun.com/home?page=article&id=0B7Cn6tS  最终来源是csdn,但是我找不到原始链接。

 

以下资源待整理

 cuda 6.5 https://developer.nvidia.com/cuda-toolkit-65

caffe-windows https://github.com/niuzhiheng/caffe

Caffe For Windows VS2012完整版,带第三方库cuda6.5  http://download.csdn.net/detail/thesby/8411969#comment        

Windows7 64位+Cuda6.5+vs2012 的caffe配置历程  http://www.yidianzixun.com/home?page=article&id=0B7Cn6tS

windows+caffe+vs2013+cuda6.5配置记录 http://www.bubuko.com/infodetail-902302.html

caffe+windows7+vs2013配置 http://blog.csdn.net/tjusxh/article/details/48463409

Caffe配置指南 on Windows8.1+CUDA6.5+VS2013  http://www.wtoutiao.com/p/q78qy6.html

四、点击上边工具栏的绿色三角编译吧,编译有段时间。

然而编译完会提示cublas64_65.dll(还有一个dll也找不到,做法一样)找不到。因为我原来安装过cuda6.5,所以从cuda6.5下copy到cuda7.5下。就ok了。

note:可能cuda6.5也可以成功,按照第三步再加几个库目录,这个我没有试。

四、怎样编译tools里的.cpp文件呢

在build文件中已经给出了例子,每个项目就调用了一个.cpp文件。(如covert_image等。)

1.copy一个msvc副本一份

2.在加载的项目中直接把caffe项目中的caffe.cpp去掉,然后加载自己想编译的.cpp。

3.更改项目名称(caffe--》自己的项目名称),compile it. 在bin文件夹下产生相应的.exe。

caffe windows 学习第一步:编译和安装(vs2012+win 64) http://www.cnblogs.com/denny402/p/5041060.html

 Neil Z.Shao的博客https://initialneil.wordpress.com/

 

posted on 2016-01-20 21:27  懒得想名字  阅读(946)  评论(0编辑  收藏  举报

导航