您的位置:首页 > Web前端

Win7x64+cuda8.0+ Microsoft caffe VS2013配置记录

2016-12-15 11:18 513 查看
感觉这1080和CUDA8又是坑,Caffe这么难配,果然是比不上别的框架。

  配完之后,想了想我佛慈悲,分享一下配置过程,功德无量。。。

  主要 参考了: 

  win10 + gtx1060 + cuda8.0 + caffe + vs2013

  Caffe常见问题解决:NuGet Error,无法打开输入文件“opencv_calib3d240d.lib” 

  【caffe-Windows】微软官方caffe之 matlab接口配置

  Caffe配置---配置Windows版 Caffe

  windows7下配置caffe+matlab2016 无GPU(详细教材)

  windows 10 下 Caffe + Matlab 部署

  以及各位博主的分享,以及谢谢网友  @麦迪 @卜居 @永远的tea @ScorpioDoctor的帮助。

  整体总结:

1)如果你的显卡支持cuda7.5,直接用happynear的就好了,没必要折腾。

2)可以先试试,NuGet里安装一遍OpenCV,自己完全弄过opencv太折腾了。虽然整过了,但是感觉其实这Opencv彻底乱掉了,如果谁有精力,可以试试自己再独立整Opencv2.4.10,感觉这样乱的更整齐一点。

3)微软的Caffe是可以使用cudnn5的,再说现在官网已经没有了cudnn4了,你也只能下载cudnn5。不过其实只是看看代码,不用cudnn也行。其实只是看代码用cpu编过就行了。

4)微软已经使得Windows下装Caffe简化了很多,但是这玩意还是有点看人品,

5)
1、安装NVI驱动和CUDA8.0

  之前安装的是显卡自带的驱动,但是这驱动安装好cuda之后,就只能看到一块显卡了,这次从官网下载的驱动,安装后之后,还是可以看到两块显卡。安装的经验就是,安装好NVI驱动之后,直接把NVIDIA GeForce Experience卸载掉,然后再安装CUDA。

  


  然后查看

  


  也可以运行 卜居给的bat : "C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe" -l

  


  这次可以看到两块显卡了。

  最后保险起见,继续测试一把CUDA。

  


  


  完全没问题,CUDA安装成功。
2、下载Microsoft Caffe、cuDNN

  把压缩包都解压到同一个文件夹下面,最好让caffe-master文件夹下面直接就是文件,没有二级目录了。

  


  开启NuGet功能,在工具→扩展和更新中可以找到并且安装,不过发现这其实是和VS Ultimate一起就安装好了。

  


3、配置

  打开caffe-master\windows文件夹,复制CommonSettings.props.example,再将CommonSettings.props.example.副本 重命名为CommonSettings.props(需要先修改配置文件后再打开项目,不然libcaffe和test_all没有加载成功,又会出现新的错误  error C1083: 无法打开包括文件: “caffe/proto/caffe.pb.h”:  No such file or directory)。  

  用VS打开此配置文件,按照自己的配置进行设定,由于显卡是1080,使用的是CUDA8.0,所以CudaVersion需要更改。然后就是打开python和matlab的支持接口。CudaArchitecture写入的是compute_60,sm_60,尽管1080的计算能力是6.1,但是查看了CUDA自带的sample上面的接口显示的是compute_60,sm_60,所以写入这个,因为当时其实有计算能力是2.1的显卡,但是接口都是compute_20,sm_20。

  在运行cuda sample的时候,其实就可以看到各种不同的CudaArchitecture,可以查看自己显卡的计算能力,然后找到对应的CudaArchitecture。

  


  cuda路径是默认搜索的。

  cudnn的路径可以自己在<CuDnnPath>//<CuDnnPath>下重新指定,只需要指定cuda文件夹的路径即可,因为配置文件会自动加上cuda。

  


  


  还需更改python和matlab的路径,python确保下一级中有python.exe即可。python直接用Anaconda的python2.7版本。这样更方便。 

  后面可能会出现要注释xml的情况:<!-- 这里写注释-->

  打开 
CAFFE_ROOT\windows\Caffe.sln,注意这个VS要获得管理员权限
 。

  


  解决方案后中右击每一个项目,属性->C/C++,把“警告等级”调整为等级3,把“将警告视为错误”改成否

  项目→属性→C/C++→常规→把“警告等级”调整为等级3 将警告视为错误 设置为否 

  如果不设置的话在编译boost库的时候会由于文字编码的警告而报错

  


  先把编译器切换到Release x64.然后点击本地windows调试器,nuget会先下载安装需要的一些库文件,下载完后后继续编译操作,中间可能会出现一些报错。 

  首先编译libcaffe,在libcaffe上右键生成就可以了,这样就会在最开始的Caffe和cuda的文件夹新建一个NugetPackages文件夹,包含所有依赖的库。

  然后我这显示错误

  


  https://github.com/Microsoft/caffe/issues/78,
convert_cifar_data

convert_imageset

convert_mnist_data


  这三个项目,但是我试了没有用。

  然后看到了Windows+VS2013爆详细Caffe编译安装教程 下的评论

  


  最后看到了博文 win10 + gtx1060 + cuda8.0 + caffe + vs2013 Caffe常见问题解决:NuGet
Error,无法打开输入文件“opencv_calib3d240d.lib” 以及在热心网友 错过的帮助下,感觉其实这就是opencv的问题,但是对于nuget已无信心,还是自己下载比较方便,感觉这个nuget下载可能是看网速的,我之前nuget自行下载的opencv.2.4.10只有67M,差不多是 卜居 下载的137M的一半,然后自己用 卜居的opencv替换掉自己的还是没用。没办法只能自己下载,然后重新配置过了。其实配置完,才感觉也就是配置一个opencv的问题,应该没那么难。主要是万万没想到nuget或者是opencv居然不靠谱。

  首先下载opencv

  


  为了方便以后查找,我也是解压到了NugetPackages文件夹下面

  配置Opencv的到环境变量下,感觉可能就是opencv的环境变量问题,导致了这opencv的问题。

  


  


  而我找了下,发现Nuget自动下载的opencv里面是没有x86的,只有x64。

  在任意项目下选择管理NuGet程序包,然后找到Opencv,取消掉关联。

  


  然后可以看到,每个项目下的packages.config里面就都没有了opencv。

  


  对每个工程,都配置单独配置opencv,感觉这样其实配置还是有点折腾,如果可以的话,还是用Nuget搞搞,就行了。

  1、选定项目→生成依赖项→生成自定义,去掉Opencv前面的勾。

  


  libcaffe里面整下C/C++常规,就是弄下头文件。

  


  其余的

  


  加上libcaffe.lib和OpenCV的库。

  


  可以先生成caffe和libcaffe看看,能不能跑跑mnist,如果能跑,说明Caffe基本搞定,然后其它的接口再都配配Opencv。
4、配置python接口

  主要是pycaffe,也要配置好opencv,然后注意安装的库为Anaconda2,就没问题了。
5、配置Matlab接口

  Microsoft 的github更新了matcaffe中的caffe_.cpp文件,第16行添加了对gpu/mxGPUArray.h的引用

  


  


  


  修改配置文件CommonSettings.props,添加路径

  


6、测试

  生成成功后

  


  可以再运行查看

  


  发现我这还是有些错误的

  


  


   上面这两张图片虽然是在C盘,但不知道为啥打不开,其它的不知道啥问题。不管了。
7、继续配置Matlab接口

  依据官网

  


  


   然后将".\caffe-master\Build\x64\Release"(如果你的caffe.sln是在Debug下生成的,就把Release换成Debug)加入系统变量path,以供程序找到一些相关的dll模块(配置好环境变量最好重启下,不少人说这需要重启)。

   


  从网盘→Models→BVLC_CAFFENET→下载 bvlc_reference_caffenet.caffemodel放到

  


  在demo文件夹下,新建test.m

  


  运行出错

  把这个\Build\x64\Release\matcaffe\+caffe\private这个文件夹里面的东西全都拷贝到\matlab\+caffe\private覆盖

  


  等于左边这文件只能保留一个caffe_.cpp,再次运行test.m


  

  我这就成功了,如果还有问题的,貌似需要把C:\Caffe\caffe-master\Build\x64\Release下的所有dll文件,拷贝到C:\Caffe\caffe-master\matlab\+caffe\private
8、继续配置Python接口

  还是首先依据官网 

  


   在环境变量的用户变量中,新建用户变量,变量名“PythonPath”,变量值“C:\Caffe\caffe-master\Build\x64\Release\pycaffe”。

  

 

  在C:\Caffe\caffe-master\Build\x64\Release\pycaffe下执行执行python,输入import caffe

  


  出现出错,打开一个新cmd

  

  

  


  到此,PyCaffe应该是配置好了。

  其实发现,虽然改了opencv,但是这opencv其实彻底乱掉了。

  


  还不如一开始 自己直接就下载opencv2.4.10试试,这样可能 乱的更整齐。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: