Windows下Caffe的安装与配置(GPU版)

零、写在前面

由于Caffe的依赖项相当多,在配置时可能会遇到各种问题,整个过程繁琐而痛苦,需要足够的耐心,请全程保持微笑:)
由于毕业设计,近期正在进行机器学习、深度学习的学习,学到caffe,正好把整个过程进行记录,建议大家在大三时起就主动进行学习,不要像我一样大四才开始知道着急。
好了说到这里,我的电脑配置如下所示。
操作系统:win10家庭中文版
处理器: i5-6300HQ
内存:8G
显卡:GTX 950M 4G独显

一、准备

  1. 首先确认你的电脑是否装有NviDIA的独立显卡,如果没有,查看CPU版的配置过程。

  2. Visual Studio 2013:Caffe仅支持VS2013和VS2015,但在VS2015下问题比较多,所以选择VS2013进行编译和调试。如果安装了更高版本的Visual Studio,先卸载掉。

    *不同版本的VS应该是可以共存的,需要先安装低版本再安装高版本。但是保险起见,先只保留VS2013吧。

  3. caffe-windows:下载地址,直接下载zip解压即可。

  4. NviDIA CUDA和CudNN:
    CUDA:https://developer.nvidia.com/cuda-downloads
    CudNN:https://developer.nvidia.com/cudnn
    首先进入NviDIA控制面板,在“系统信息”的“组件”选项卡中查看你的显卡支持的最高CUDA版本,如下图:
    Windows下Caffe的安装与配置(GPU版)_第1张图片
    如果低于官网给出的版本(10.2),请先把显卡驱动升级至最新。
    安装完毕后,下载对应版本的cudNN(对应CUDA10.2的应该是7.6版本),下载的是zip格式的压缩包,无需安装,将解压后的三个文件夹bin、include、lib复制到CUDA的安装路径下。
    *默认路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
    *下载cudnn需要注册NviDIA账号,要填一个问卷调查你的开发领域之类的,如实填写即可。

二、编译和配置

  1. 打开(caffe目录)\windows 文件夹,把里面的CommonSettings.props.example复制一份,并重命名为CommonSettings.props。
    Windows下Caffe的安装与配置(GPU版)_第2张图片

  2. 把C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\visual_studio_integration\MSBuildExtensions下的CUDA 10.2.props和CUDA 10.2.targets复制到
    C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\V120\ BuildCustomizations中。
    Windows下Caffe的安装与配置(GPU版)_第3张图片

  3. 在VS2013中打开Caffe.sln。(VS2013要以管理员身份运行)
    将CUDA 9.1.props添加到Caffe和libcaffe(这个一开始是加载失败的)中。
    在右侧的列表中打开CommonSettings.props。
    Windows下Caffe的安装与配置(GPU版)_第4张图片
    怎么让libcaffe加载成功呢?
    将第9行的Cuda版本7.5改为10.2,将21行的CudaArchitecture里面,改为你的GPU计算速度。
    Windows下Caffe的安装与配置(GPU版)_第5张图片
    在这里插入图片描述
    *比如我的GPU计算速度为5.0,就把上面代码改为compute_50,sm_50

    然后在24行的CuDnnPath里面填写你的cudnn的解压路径。
    在这里插入图片描述
    填写到解压出来的cuda文件夹的上一级即可。
    这时右侧列表中的libcaffe和test_all两项应该是加载失败的状态,右键重新加载即可(当然,我的右键重新加载失败了,可以尝试重启VS,然后我的就成功了)。

  4. 把最上面的编译方式改为Release。
    在这里插入图片描述
    同时在libcaffe的属性中同样把上面改为Release,把“将警告视为错误”改为NO。
    Windows下Caffe的安装与配置(GPU版)_第6张图片

  5. 编译libcaffe,如果是第一次编译,需要等待相当长的一段时间,VS需要自动下载并安装caffe所需的依赖包,具体时间由网速决定。可以去上个自习睡个觉看个电影什么的,回来之后准备迎接报错。
    可能遇到的错误1:error: too few arguments in function call
    解决办法:双击查看报错函数cudnnSetConvolution2dDescriptor,在参数列表末尾补充一个参数 CUDNN_DATA_FLOAT 或CUDNN_DATA_DOUBLE即可。
    Windows下Caffe的安装与配置(GPU版)_第7张图片
    可能遇到的错误2:error MSB4062: 未能从程序集 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\Nvda.Build.CudaTasks.v8.0.dll 加载任务“Nvda.Build.CudaTasks.SanitizePaths”。未能加载文件或程序集“Microsoft.Build.Utilities.v3.5, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。 请确认 声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现 Microsoft.Build.Framework.ITask 的公共类

    解决方法:检查是否安装了.NET Framework 3.5。
    可能遇到的错误3:错误 error C2220: 警告被视为错误 - 没有生成“object”文件
    解决方案:
    1) 启动Microsoft Visual Studio,文件->打开->选择该cpp,然后保存。从新打开程序文件运行,此错误不再出现,如果不行,则 2;
    2) 如果上述不能去掉错误,还可以点击项目,右击选择属性->配置属性->c/c+±>常规,将“警告视为错误”的选项改为“否”;
    3) 当然以上两种方法对我的电脑均不适用,我选择的是,使用记事本打开对应的文件,另存为,编码格式选择“ANSI”,在替换掉原来的文件,成功!
    可能遇到的其他错误:但愿没有…
    解决方法:百度……

  6. 成功编译libcaffe后,就可以编译整个解决方案了,顺利的话应该可以一次成功。编译结束后,打开Caffe.cpp,Ctrl+F5,出现如下界面说明Caffe环境配置成功,可以开始愉快地训练了。
    Windows下Caffe的安装与配置(GPU版)_第8张图片

你可能感兴趣的:(机器学习)