windows下无GPU的caffe的配置

Caffe在windows下的配置
一、下载caffe并创建工程
1、下载caffe
caffe下载地址:https://github.com/BVLC/caffe/tree/master/,下载后解压
1、新建一个VS工程,命名为caffe,建立一个空项目
将解压后的caffe中的文件都拷入到caffe项目中,在caffe项目中建立一个3dparty文件夹,在3dparty目录下建立include和lib文件夹,结果如图:


二、基础环境的搭建
1、Opencv环境
Opencv环境搭建的文章很多,这里给出一个链接:http://blog.csdn.net/quincuntial/article/details/49641437我的Opencv的版本是2.4.9。
注意opencv环境搭建后,将包含头文件目录,库目录,附加依赖项中在VS属性管理器中配置好,在caffe配置过程中不再讲述配置opencv。
2、Boost库的安装
Boost库是为C++语言标准库提供扩展的一些C++程序库的总称,由Boost社区组织开发、维护。我用的是1.56.0,下载地址为:http://sourceforge.net/projects/boost/files/boost-binaries/1.56.0/
根据自己的VS版本选择。配置环境变量path,加入C:\local\boost_1_56_0;根据自己的boost目录调节,boost就是一个解压缩的文件。我的版本是boost_1_56_0-msvc-12.0-64.exe
环境变量中要加入C:\local\boost_1_56_0\lib64-msvc-12.0;否则会在CMake leveldb的时候报错。
3、CUDA的安装
CUDA7.0版本下载地址:https://developer.nvidia.com/cuda-toolkit-70,不支持Win10。
CUDA7.5版本下载地址:https://developer.nvidia.com/cuda-downloads,支持Win10。
CUDA的path会在安装时自动配置,不需要管。
4、OpenBlas的下载
将解压后的文件中的lib文件中的libopenblas.dll.a文件拷贝到caffe项目中的3dparty/lib目录中,将bin目录下的libopenblas.dll文件拷贝到caffe项目目录下,在caffe项目的3dparty/include目录下新建一个文件夹命名为openblas,OpenBlas解压后的include文件夹下的头文件拷贝到3dparty/include/openblas文件夹下。
5、CMake工具下载
下载地址:https://cmake.org/download/,我直接下载的非安装版,即直接解压就能用。我的版本是cmake-3.4.3-win32-x86.zip
6、GFlags
下载地址: https://github.com/gflags/gflags,直接从github上下的最新版本。
解压CMake,解压GFlags,打开bin目录下的cmake-gui.exe,如图


在上图cmake的界面中,上面的是GFlags所在的源文件的目标,即CMakeLists.txt文件所在的目录,一定要保证CMakeLists.txt在目录下,下面的是要生成的VS工程所在的目录,点击Configure, 选择VS的版本及平台,点击finish。



选择BUILD_gflags_LIB等,如图,感觉就BUILD_gflags_LIB有用,其他文献中说CMAKE_INSTALL_PREFIX也要调整,主要是生成的dll文件所在的目录,感觉不需要调整,因为后面会用VS工程生成lib和dll。


点击generate,只要不报错,就没什么问题。


打开生成的VS工程,选择解决方案的平台,要区分debug和release模式,win32跟x64,不同模式下生成不同的lib,在生成caffe时需要根据对应的平台和模式来选择lib文件。运行成功,不报错就OK。
将生成的GFlags的VS工程下的include中的gflags文件夹拷贝到caffe的3dparty/include目录下,类似于openblas的拷贝,将GFlags的VS工程下的lib/Release下的gflags.lib拷贝到caffe工程的3dparty/lib目录下,现在使用的都是release模式,debug模式下对应调整。
7、Glog
下载地址:https://github.com/google/glog,下载后直接解压,这个不需要CMake处理,因为里面有个.sln文件,直接用VS就能打开。VS打开后,要配置工程,本文所有的工程都是在64位平台上的release模式下的,debug对应调整即可。在运行之前,需要把signalhandler.cc添加到libglog中,否则在运行caffe时会出现错误。VS运行没报错,将glog.lib文件同样放到caffe工程的3dparty/lib目录下,将下面的glog头文件拷贝到3dparty/include/glog目录下。




8、LevelDB
下载地址:https://github.com/bureau14/leveldb,google的原版移除了CMake,这个有,同样的用CMake生成VS工程,如果CMake报错,则可能是C:\local\boost_1_56_0\lib64-msvc-12.0没加入到环境变量中,打开VS工程,release下运行,把解压的leveldb的include文件夹下的leveldb拷贝到caffe工程的3dparty/include目录下,leveldb.lib放到caffe工程的3dparty/lib目录下。
9、LMDB
下载地址:http://pan.baidu.com/s/1gejiSG7,缺少的文件已经配置好了,如果出现问题参考
http://blog.csdn.net/quincuntial/article/details/50608808,我的链接地址可能缺了一个文件,自己百度搜一下,或参考下图的下载地址去下载getopt.h等文件。



10、Protobuf
下载地址:http://download.csdn.net/detail/dg_winter/7854717,下载google的新版会出错误,得用旧版。
解压后会有一个vsprojects文件夹,直接用VS打开里面的工程protobuf.sln,设置生成的文件为lib文件,运行libprotobuf和libprotoc,将生成的libprotobuf.lib和libprotoc.lib文件放到caffe工程的3dparty/lib目录下,将解压的src中的google文件夹拷贝到3dparty/include目录下。
11、HDF5
下载对应版本,解压后用CMake编译,用VS打开编译后的工程,在release模式下运行,将生成的libhdf5.lib,libhdf5_hl.lib放到caffe工程的3dparty/lib目录下,将src文件夹中的.h文件放到3dparty/include/hdf5目录下,同时把hl/src中的头文件也放到
3dparty/include/hdf5下。
12、caffe编译
(1)打开caffe工程,添加附加包含目录:


包含目录有:
boost目录:C:\local\boost_1_56_0,CUDA目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\include
caffe目录:D:\VS_PROJECT\Caffe\Caffe\include和D:\VS_PROJECT\Caffe\Caffe\src
第三方包含目录:
D:\VS_PROJECT\CaffeConfig\CaffeConfig\3dparty\include
D:\VS_PROJECT\CaffeConfig\CaffeConfig\3dparty\include\openblas
D:\VS_PROJECT\CaffeConfig\CaffeConfig\3dparty\include\google\protobuf
D:\VS_PROJECT\CaffeConfig\CaffeConfig\3dparty\include\hdf5
D:\VS_PROJECT\CaffeConfig\CaffeConfig\3dparty\include\lmdb
D:\VS_PROJECT\CaffeConfig\CaffeConfig\3dparty\include\leveldb
D:\VS_PROJECT\CaffeConfig\CaffeConfig\3dparty\include\gflags
D:\VS_PROJECT\CaffeConfig\CaffeConfig\3dparty\include\glog
opencv的包含目录已经单独配置好了。
(2)添加库文件目录:


库目录有:
boost库目录:C:\local\boost_1_56_0\lib64-msvc-12.0
CUDA库目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\lib\x64
第三方库目录:D:\VS_PROJECT\Caffe\Caffe\3dparty\lib
opencv库目录已经单独配置好了。
(3)添加附加依赖项:


lib文件有:
cudart.lib
cuda.lib
nppi.lib
cufft.lib
cublas.lib
curand.lib
libglog.lib
libopenblas.dll.a
libprotoc.lib
shlwapi.lib
gflags.lib
libprotobuf.lib
leveldb.lib
lmdb.lib
libhdf5.lib
libhdf5_hl.lib
opencv的lib已经单独配置好。
(4)开始编译文件(记住是编译文件Ctrl+F7):
将src/caffe中的cpp文件通过添加现有项添加到源文件中,一个个文件开始编译。

错误1:编译blob.cpp,报错


缺乏caffe.pb.h文件,打开protobuf的工程,找到protoc.exe文件,将其拷贝到src/caffe/proto目录下,此目录下有个caffe.proto文件,新建一个proto.bat文件,里面写入protoc.exe caffe.proto --cpp_out=./
然后运行proto.bat文件即可生成caffe.pb.h和caffe.pb.cc文件,再次编译blob.cpp,成功。
错误2:编译common.cpp,报错


找不到getpid,是因为缺乏头文件,在common.cpp加上#include<process.h>,编译成功。
编译其他的cpp文件都没报错。
在源文件中点击新建筛选器,将文件夹命名为layers,将src/caffe/layers下的文件添加到layers中,编译所有cpp文件


错误3:在编译CUDA文件bnll_layer.cu文件时会报错,


kBNLL_THRESHOLD改为50,或加上#define kBNLL_THRESHOLD 50

同上建立solvers文件夹,src/caffe/solvers的文件添加到工程中,编译


同上建立util文件夹,src/caffe/util的文件添加到工程中,编译
错误4:在编译hdf5文件时报错,


出错位置为,语法问题,

将case下的操作加上大括号括起来即可。



错误5:编译io文件报错,


加上#include<io.h>即可。将io文件加上 | O_BINARY,否则后面在进行训练自己的数据时会出错


错误6:编译signal_handler.cpp文件报错。

主要是因为windows下的信号量和linux下不一致。
将下面三个函数替换:


换为




换为




换为


重新编译通过。
同上建立proto文件夹,将src/caffe/proto的proto.pb.cpp添加到proto中,编译。


新建一个tools,将caffe/tools中的caffe.cpp加入到tools中,运行。会报缺少dll错误,将该加的dll文件加入到工程目录下,包括gflags.dll,libglog.dll,libgfortran-3.dll(这个是因为libopenblas.dll需要这个dll文件,直接百度下载即可),为什么会缺少dll,是因为在编译这些工程时生成的是dll文件。而不是lib文件,因此在添加了lib之后还需要dll文件。





  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Windows配置Caffe,首先需要确保已经安装了所需的软件和工具。以下是详细的步骤: 1. 安装CUDA和CUDNN:CaffeGPU上进行加速需要CUDA和CUDNN的支持。首先,下载并安装适合你的显卡型号的CUDA驱动程序。然后,从NVIDIA的官方网站下载并安装CUDNN库。 2. 安装依赖库:在Windows上运行Caffe还需要一些依赖库。你可以使用包管理工具(如Chocolatey)快速安装这些库。运行命令`choco install git python2`来安装Git和Python。 3. 克隆Caffe:打开命令提示符,导航到你想要存储Caffe的目录,并使用以下命令克隆Caffe的代码库:`git clone https://github.com/BVLC/caffe.git` 4. 配置环境:进入Caffe目录,在根目录下创建一个新的文件夹"build",用于存储编译后的文件。然后,将模板文件夹"windows"复制到"build"文件夹内。重命名此文件夹为"CMake"。 5. 使用CMake配置:打开CMake GUI,选择"Caffe"文件夹作为源代码目录,选择"build"文件夹作为目标目录。点击"Configure"按钮选择你安装的编译器和生成器(如Visual Studio)。然后点击"Generate"生成解决方案。 6. 编译Caffe:打开生成的解决方案,选择合适的编译选项(如Release、Debug等),然后开始编译。这可能需要一些时间,取决于你的电脑配置和编译选项。 7. 配置环境变量:将Caffe的"build\bin"路径添加到系统的环境变量中,这样才能在命令提示符或其他地方运行Caffe命令。 现在,你已经成功在Windows配置Caffe,可以使用它进行深度学习任务了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值