Caffe+VS2013+Anaconda3配置(GPU版本)

小彩笔的摸爬滚打之路orz

零、写在前面

如果要安装pycaffe,那么首先要明白,最好用Anaconda2+Python2配置,但是如果我们电脑上安装的是Anaconda3,应该怎么做呢?如果安装的是Anaconda3,那么也要新建一个python2的环境。

一、准备

这篇教程的前提是假设已经安装好了vs2013,cuda,cudnn以及Anaconda3,Anaconda安装不做介绍,其他可参照博文https://blog.csdn.net/weixin_42260102/article/details/104610628中的准备部分进行。

二、创建虚拟环境

  1. 在Anaconda3中建立一个python27的环境:在开始菜单中找到Anaconda3-Anaconda Prompt,打开Anaconda Prompt,输入以下命令,从清华镜像加载,不然总是从官网下载超市。:

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    
    conda config --set show_channel_urls yes
    
    conda config --remove channels defaults
    
  2. 然后开始新建环境命令:

    conda create -n caffe_python27 python=2.7
    

    此处我新建的环境名称为caffe_python27,打开Anaconda3在Environments中就可以看到新建的python27的环境了。
    在这里插入图片描述

  3. 在该环境中安装好下列依赖库(此步骤不知用处是什么,但总归肯定是有用的,参考了很多文章,得出结论选装的库为下表所示,有些库会在安装别的库时自动被安装):

    Cythonnumpy
    scipyscikit-image
    matplotlibipython
    h5pyleveldb
    networkxnose
    pandaspython-dateutil
    protobufPillow
    sixPyWavelets
    cloudpicklecycler
    daskdecorator
    kiwisolverpip
    pyparsingpytz
    setuptoolswheel

三、编译和配置

  1. 打开(caffe目录)\windows 文件夹,把里面的CommonSettings.props.example复制一份,并重命名为CommonSettings.props。
    在这里插入图片描述

  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中。
    在这里插入图片描述

  3. 在VS2013中打开Caffe.sln。(VS2013要以管理员身份运行)
    将CUDA 9.1.props添加到Caffe、pycaffe和libcaffe(这个一开始是加载失败的)中。
    在右侧的列表中打开CommonSettings.props。
    在这里插入图片描述
    怎么让libcaffe加载成功呢?
    将第9行的Cuda版本7.5改为10.2,将13行的PythonSupport改为true,将21行的CudaArchitecture里面,改为你的GPU计算速度。
    在这里插入图片描述
    然后在24行的CuDnnPath里面填写你的cudnn的解压路径。
    在这里插入图片描述
    然后在48行的PythonDir里面填写你的虚拟环境地址。
    在这里插入图片描述
    这时右侧列表中的libcaffe和test_all两项应该是加载失败的状态,右键重新加载即可(当然,我的右键重新加载失败了,可以尝试重启VS,然后我的就成功了)。

  4. 编译(编译过程中的问题请看第四大点)
    打开caffe-master/windows/Caffe.sln,设置为x64 release,然后单击工程下每个项目,右键进入属性,将“警告视为错误”值改为“否”。
    在这里插入图片描述
    编译的顺序为:libacffe->caffe->pycaffe->整个项目,方法为右键,生成。

    注:编译完caffe后,直接双击caffe.cpp文件,然后ctrl+F5直接编译,出现如下命令窗口说明编译成功。
    在这里插入图片描述
    全部编译完成之后,图中caffe目录下有_caffe.pyd证明编译pycaffe成功,将图中的caffe目录拷贝到虚拟环境路径\Lib\site-packages目录下面。
    在这里插入图片描述
    验证
    在pycharm中将解释器切换为新建的虚拟环境,网上有很多教程,自己去看,很简单,新建工程,新建python文件,import caffe,没有错误证明成功。
    在这里插入图片描述

四、可能出现的问题

  1. 错误提示找不到文件python27.lib
    解决办法:将新建的环境python2.7版本中的python27.lib添加进项目的附加依赖项中

    例如我的python27.lib在我Anaconda3环境中,

    D:\tools\Anaconda3\envs\caffe_python27\libs\python27.lib
    

    在这里插入图片描述

  2. 编译pycaffe时候,出现缺少Python27_d.lib
    解决办法:需要修改三处地方:

    第一处修改地方:找到Anaconda3新建python2环境中include目录,修改object.h文件

    如我的目录为:
    在这里插入图片描述
    修改:

    #if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)
    #define Py_TRACE_REFS
    #endif
    

    为:

    #if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)
    //#define Py_TRACE_REFS
    #endif
    

    第二处修改地方:还是在同级include目录下,修改pycongfig.h文件
    修改:

    ifdef _DEBUG
    #				pragma comment(lib,"python27_d.lib")
    #			else
    #				pragma comment(lib,"python27.lib")
    #			endif /* _DEBUG */
    

    为:

    ifdef _DEBUG
    #				pragma comment(lib,"python27.lib")
    #			else
    #				pragma comment(lib,"python27.lib")
    #			endif /* _DEBUG */
    

    第三处修改地方:还是修改刚才的pycongfig.h文件
    修改:

    #ifdef _DEBUG
    #	define Py_DEBUG
    #endif
    

    为:

    #ifdef _DEBUG
    //#	define Py_DEBUG
    #endif
    

    再重新编译pycaffe项目即可。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值