win10+vs2013+anaconda3+cpu caffe配置

本文档详细记录了在Win10系统下,使用VS2013和Anaconda3配置CPU版Caffe的过程,包括安装步骤、解决Python环境问题、编译错误等常见问题,最终成功编译并运行Caffe。
摘要由CSDN通过智能技术生成

弄了大半天!太恶心了!!!看了无数文档终于弄好了!!一定要写个博客记录一下!!!!

先去github下了caffe-master,不是caffe-windows这个,然后发现不会弄,跟网上教程不一样,网上教程好多都是caffe-windows这个。于是又下了caffe-windows,以及camke。

结果,改caffe-windows中build_win.cmd的配置参数,然后运行,闪退!!什么鬼!!找了一圈没找到解决办法,于是放弃,又开始弄caffe-master这个包,千辛万苦终于成功。于是下面开始讲正儿八经的配置方法。

在windows这个文件夹下CommonSettings.props.example这个文件,复制一个,并把新复制出来的文件名改成CommonSettings.props,于是开始对这个新复制的文件进行操作,也就是改一些配置,基本都能看懂。

<CpuOnlyBuild>true</CpuOnlyBuild>     
<UseCuDNN>false</UseCuDNN>         这两行表示只用cpu,不用gpu加速

<PythonSupport>true</PythonSupport>   这个大家都懂

<MatlabSupport>false</MatlabSupport>  如果要加matlab就改成true,我懒得加了,心累,少改少错

<PropertyGroup Condition="'$(PythonSupport)'=='true'">
        <PythonDir>D:\study\anaconda\conda_setup\envs\py27\</PythonDir>
        <LibraryPath>$(PythonDir)\libs;$(LibraryPath)</LibraryPath>
        <IncludePath>$(PythonDir)\include;$(IncludePath)</IncludePath>
    </PropertyGroup>                         

注意!这里的PythonDir改成自己的python路径,我之前是用电脑里装的python3.5,但是,好像会报错,就用anaconda弄了一个python2.7的环境。而且!这个新装的环境一定要装numpy,不然又会报错。所以这里的路径就是写anaconda下面的python27的路径。

anaconda配python2.7如下

打开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 

#从清华镜像加载,不然总是从官网下载超时。

然后添加python2.7;

conda create -n py27 python=2.7

然后按提示输入y确认就可以,装好以后

conda activate py27     

conda install -n py27 numpy

 

如果要加matlab,下面几行就是,同样也是改一下matlabdir改成自己matlab根目录就可以了。至于还有没有什么坑我也不知道。

这个配置文件其他的就不用管了。开心。

 


接下来,用vs2013打开caffe.sln这个项目。

libcaffe右键,属性,配置属性,上面的配置选debug或者release都可以,平台选x64;c/c++,将警告视为错误,选否,确定。libcaffe项目右键生成。就会刷刷刷的编译。没遇到报错。

然后选中整个解决方法,右键,属性,启动项目,选择第一个 当前选定内容,确定。然后右键生成项目,刷刷刷的编译。warnings不用管。如果最后16个项目全部生成成功,就大功告成啦!

但是!!我遇到了报错:错误    397    error LNK1104: 无法打开文件“python27_d.lib”...

百思不得其解之后参考网上大神的博客,在anaconda/envs/py27/include中改两个配置文件 pyconfig.h, object.h。

1.改pyconfig.h中两处地方:

#ifdef _DEBUG

# define Py_DEBUG

#endif

改为(其实就是注释掉一行)

#ifdef _DEBUG

//# define Py_DEBUG

#endif

还有,

# ifdef _DEBUG

# pragma comment(lib,"python27_d.lib")

# else

# pragma comment(lib,"python27.lib")

# endif /* _DEBUG */

改为(其实就是去掉第一个python27_d的_d)

# ifdef _DEBUG

# pragma comment(lib,"python27.lib")

# else

# pragma comment(lib,"python27.lib")

# endif /* _DEBUG */

2.改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

然后我没遇到问题了!!!开心!!!!!!可以回宿舍睡个安稳觉啦!!!!!

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值