本文中将给出一些编译好的依赖库,如果你也是用的Windows 7 64位+VS2013,可以直接使用。
2.准备依赖库
在Windows下配置caffe,一个很主要的问题就是依赖库的编译。不像在Ubuntu下那么方便,在Windows下,依赖库都需要使用vs2013进行编译才能使用。下面我将介绍caffe需要的依赖库(如果你也是win7 64位+VS2013,可以直接使用我提供的依赖库)。
2.1 boost
boost可以下载源码进行编译,也可以直接下载安装文件。我使用的是后者,方便、快捷。
我使用的是:boost_1.56_0-msvc-12.0-64.exe
注意下载适合你的配置环境的boost版本即可。
下载完毕,双击运行安装文件即可。
2.2 Glog+Gflag+Protobuf+LevelDB+HDF5+LMDB+Openblas
这一部分的很多都是谷歌的开源库,不容易下载(你懂的)。所以我使用的是Neil Z. SHAO‘s Blog
提供的编译好的。
下载完,解压得到3rdparty文件夹。在下一段将会用到。
3.建立caffe工程
准备好了caffe需要的依赖库和环境之后,下面就可以建立caffe的vs项目,进行编译了。
3.1 下载caffe源码
可以从caffe的github主页下载源码。
下载地址:Caffe’s GitHub
解压文件,假设caffe源码所在目录为CAFFE_ROOT。
3.2 准备项目需要的依赖库和系统环境变量
经过上一阶段的准备,caffe项目所需的依赖库都已经准备好。
1.首先设置系统环境变量(以我的为例):
CUDA_PATH_V6_5 安装好cuda6.5之后,会自动添加环境变量CUDA_PATH_V6_5
OPENCV_2_49 D:/Tools/opencv2.49/build/
BOOST_1_56 D:/Tools/boost_1_56_0
2.将3rdparty文件夹放到CAFFE_ROOT
3.3 用vs建立caffe项目
1.用VS2013在CAFFE_ROOT下建立 win32 console application,选择空项目。
将项目的平台由32位改为64位
一、问题在成功编译caffe的源码之后,可以在Python环境中使用caffe。
在Ubuntu环境下,打开python解释程序,输入import caffe时:出现以下错误
>>>import caffe
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named caffe
二、解决思路
基本思路是把caffe中的python导入到解释器中
三、解决方法
第一种方法:设置环境变量
在终中输入:
export PYTHONPATH=~/caffe/python #caffe的路径下面的python
则该终端起作用,关掉终端后或重新打开一终端,则失效。
放到配置文件中,可以永久有效果,命令 *** 作如下:
A.把环境变量路径放到 ~/.bashrc文件中
sudo echo export PYTHONPATH="~/caffe/python" >>~/.bashrc
B.使环境变量生效
source ~/.bashrc
第二种方法:通过代码来实现
在每个python代码中使用以下代码: (这个方法在写python代码时有用)
caffe_root = '~/caffe/python '
import sys
sys.path.insert(0, caffe_root + 'python')
import caffe
一、添加附加包含目录法1:-I path(path为头文件路径)
法2:将头文件拷贝到 /usr/local/include中
相当于VS中添加包含路径。
二、添加依赖库
法1,编译阶段,g++编译器编译:
-L path –lcaffe(path为附加库目录路径;-l指定附加依赖项,比如-lcaffe表示附加libcaffe.so动态库文件)。
执行阶段,在工作目录或环境变量中搜索dll文件:
添加环境变量:
2.1 /etc/ld.so.conf 文件中方法:
添加库目录,使其成为共享库:
2.1.1、 打开文件:sudo gedit /etc/ld.so.conf
2.1.2、在文件中添加路径(如libnnpack.so的路径)
2.1.2、使其生效:sudo ldconfig
2.2 export方法,参考:http://blog.csdn.net/xzzppp/article/details/53305120
VS中添加附加库目录路径和附加依赖项,分别如下图所示:
法2,在编译阶段直接指定: path/libcaffe.so(path为附加库目录路径,libcaffe.so为动态库,在执行阶段可以直接运行)
法3,, Linux动态库的默认搜索路径是/lib和/usr/lib,将动态库拷贝到这两个文件夹下面。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)