本文转自 http://blog.csdn.net/u010402786/article/details/49469879
Cuda6.5安装
备注:已经装好cuda的请略过,往下看。
记得没有VS2012的一定要先装VS。否则:安装后打开VS2012新建项目不显示NIVIDA解决方案。记住记住记住!重要的事情说三遍!
第一步:安装文件的下载,直接去官网就下载就可以。现在有cuda7.0了。
直接双击exe文件,弹出后,首先会监测一下你的运行环境,如果找不到Nividia对应的显卡设备,他会提示你是否要继续安装。这里面nvidia的显卡,最起码也是8800以上的,要不是无法编写CUDA的。千万不要电脑上面是intel或者AMD的显卡,却要编写cuda,除非你有钱买一个cuda-x86这个编译器。
第二步:和正常安装软件步骤一样,首先弹出的对话框直接OK就行,这个是CUDA的一些安装文件,位置在哪无所谓。会监测你的电脑是否支持cuda的搭建,接下来一步步的走。
第三步:
博主强烈推荐选择自定义安装
博主当初就因为选了精简安装,没安装上SDK。
安装的位置,推荐自己建三个好找的文件夹,不用他默认的路径,免得稍后配置环境变量麻烦。
下一步直接安装就行,等待过程漫长,喝杯茶吧
第四步:
接下来配置cuda的环境变量,默认安装好后,他会自动帮你设置好2个环境变量,但是最好还自己添加下其他的几个,方便日后配置vs使用。有两个是默认的环境变量,只需添加下面四个即可:
第五步:检测Cuda的安装成功与否。
首先启动cmd DOS命令窗口(博主的cuda安装到c:\cuda文件夹下)
默认进来的是c:\users\Admistrator>路径,输入 cd .. 两次,来到c:目录下输入dir 找到安装的cuda文件夹
还是直接上图吧,方便清晰:
至此,万里长征第一项基本成功了。(如果没有安装成功,重新再装下)
最后一步:(这段偷懒直接复制的,图里面的cuda5.5自己当作cuda6.5就好)
5 最后就是VS的配置了
5.1 启动VS2012
5.2 新建一个win32的控制台工程,空的。
5.3 右键源文件文件夹->新建项->选择cuda c/c++->新建一个以.cu结尾的文件
5.4 右键工程-》生成自定义-》选择cuda生成
5.5 右键test.cu-》属性-》选择cuda c/c++编译器
5.6 右键工程-》属性-》链接器-》常规-》附加库目录-》添加目录 $(CUDA_PATH_V5_5)\lib\$(Platform);
5.7 在链接器-》输入中添加 cudart.lib
5.8 在工具-》选项-》文本编辑器-》文件扩展名-》添加cu \cuh两个文件扩展名
至此,编译环境的相关搭建就完成了。
分——————————–割———————————线
分——————————–割———————————线
Caffe安装
老规矩,按照步骤慢慢来,面包会有的!
第一步:首先去http://download.csdn.net/detail/yangkequn/8108035下载,这个Caffe里面有很多的lib,是已经编译好了的。CSDN没有积分的可以私信博主,给你发邮箱去!
然后去https://github.com/niuzhiheng/caffe下载原作者的Caffe!
为什么要下载两个Caffe工程呢?因为1中的Caffe虽然是编好的,有各种lib和include的,但是没有%caffe_path/caffe/build/MSVCmex(其中%caffe_path为自己的路径)这个工程,这个工程用来编译Matlab接口的。所以,下载2的caffe就是要这个工程文件。
第二步:将MSVCmex这个工程复制到1中的caffe/build里面,用VS2012打开工程,直接运行发现不能编译。修改如下用editplus(当然任何编译器都可以,直接在VS里面也可以修改)打开matcaffe.vcxproj中,把里面所有的cuda6.0改成cuda6.5,之后把其中所有的C:/programme/matlab改为你自己的matlab地址。保存。当然部分路径还是需要根据自己的情况全部修改。(比如cuda的路径一般也是需要修改的,博主添加cuda的路径为:C:\cuda\cudatoolkit\lib\x64)接下来你就可以编译matcaffe.sln这个文件了。但是问题来了!会出错的!不是直接就可以的!
不拐弯抹角了,直接正确的修改有以下几项(血泪史):
①在vs2012的工程中,matcaffe.cpp中的这一行init_key=random(); // NOLINT(caffe/random_fn)编译过程中出错了,改成了init_key=rand(); // NOLINT(caffe/random_fn) 就可以正常编译了。
②CUDA编译报错问题:error MSB3721这个是因为编译的路径中存在中文路径,只需要把中文路径改成英文路径即可。
③编译出错:提示找不到各种.h文件。这是因为你没有把include的路径添加到附加包含目录中。
这样找不到头文件这个问题就解决了。
④出现error C2977: “std::tuple”: 模板 参数太多 g:\caffe\caffe for windows vs2012\src\gtest\gtest.h的类似的错误,如下图:
两种解决办法:
第一种打开“解决方案资源管理器”,右键打开项目“属性”,在C/C++ –> “预处理器”–> “预处理定义”中增加以下行即可:
_VARIADIC_MAX=10;
另外一种,用代码编译器打开G:\Caffe\Caffe For Windows\src\gtest文件夹下的gtest.h,增加一下行即可:
⑤生成解决方案停止在caffe.pb.h remains the same as before这句话不动了。其实这个不是错误,是人家还在编译中,需要等待,只要不报错,就等待就行。
⑥又一个错误error C1083: 无法打开包括文件:“mex.h”: No such file or directory g:\caffe\caffe for windows vs2012\matlab\caffe\matcaffe.cpp
http://blog.sina.com.cn/s/blog_7e2e98ad0101hd3c.html
查看上面这个博客 ,添加相关路径。上几个图:注意图中黑体部分
差点忘了:记得把Matlab的安装目录 和bin/include添加到环境变量中去,将caffe for windows下的将3rdparty/bin文件夹加到环境变量的PATH中。
⑦又一个错误error LNK2001: 无法解析的外部符号 “__declspec(dllimport) public
这个错误应该是依赖库的问题,上面那些都配置好理应没有问题的。查资料查资料,最后也是最重要的,记得将平台改为X64的。许多文档中没有指出来!
注意字符集:使用Unicode字符集
再大胆并且抱有希望的重新生成解决方案一次吧!
终于终于OK了!编译了36分钟!
最后:
编译完成后需要将caffe-windows\bin中所有的dll 放到matlab\caffe中,编译完成后并没有把所有的dll都移入。
编译完成后:测试
进入matlab2013b,cd到caffe/matlab/caffe,输入im = imread(‘peppers.png’);
[scores, maxlabel] = matcaffe_demo(im,1);
如果提示错误,可能是在examples/imagent没有训练集文件caffe_reference_imagenet_model,网上能够下载到。
分——————————–割———————————线
分——————————–割———————————线
至此本文结束了,如果有什么安装过程中遇到的问题可以私信博主。另外转载请注明出处,虽然网上安装教程一大把,但是如果都那么顺利,我也没必要写这篇博客了。