Windows下用cmake编译Caffe
Posted zjutzz
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows下用cmake编译Caffe相关的知识,希望对你有一定的参考价值。
Windows下用cmake编译Caffe
2018年8月24日 23:35:41
by ChrisZZ
环境说明
系统: Windows10
编译器:Visual Studio 2015
构建器:CMake 3.12
Caffe: BVLC官方Caffe的windows分支
CUDA: 9.2
CuDNN:7.0
终端: cmd窗口
具体步骤
1. 下载代码
进cmd敲:
d:
cd work
git clone https://github.com/BVLC/caffe caffe-BVLC
cd caffe-BVLC
git checkout -b window origin/windows
2.改正错误的配置
2.1 cmake/Cuda.cmake,第7行,去掉20和21的算力支持(否则新版cuda会报错),改成:
set(Caffe_known_gpu_archs "30 35 50 52 60 61")
2.2 cmake/Cuda.cmake,第40行左右,手动设定nvcc架构版本,例如我是1080Ti显卡,使用6.1:
set(__nvcc_out "6.1")
(为啥这里的自动获取计算能力版本有问题?大概是字符编码导致输出很多警告,警告信息影响了正确结果的获取)
2.3 下载依赖项
为了避免cmake下载遭遇网络问题,以及修改配置项的方便,根据scripts/download_prebuilt_dependencies.py
手动下载依赖文件:
WIN_DEPENDENCIES_URLS = {
('v120', '2.7'):("https://github.com/willyd/caffe-builder/releases/download/v1.1.0/libraries_v120_x64_py27_1.1.0.tar.bz2",
"ba833d86d19b162a04d68b09b06df5e0dad947d4"),
('v140', '2.7'):("https://github.com/willyd/caffe-builder/releases/download/v1.1.0/libraries_v140_x64_py27_1.1.0.tar.bz2",
"17eecb095bd3b0774a87a38624a77ce35e497cd2"),
('v140', '3.5'):("https://github.com/willyd/caffe-builder/releases/download/v1.1.0/libraries_v140_x64_py35_1.1.0.tar.bz2",
"f060403fd1a7448d866d27c0e5b7dced39c0a607"),
}
下载后的压缩包放到C:Userschris.caffedependenciesdownload目录下,然后解压到download的同级目录
接下来,如果你要用cuda编译,那么一定要修改C:Userschris.caffedependencieslibraries_v140_x64_py27_1.1.0librariesincludeoost-1_61oostconfigcompiler vcc.hpp:注释掉最后三行:
#if !defined(__CUDACC_VER__) || (__CUDACC_VER__ < 70500)
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
#endif
(原因:cuda7.5以后,__CUDACC_VER__
被废除,应当使用__CUDACC_VER_MAJOR_
和__CUDACC_VER_MINOR__
等,参考https://github.com/BVLC/caffe/issues/5994、https://blog.csdn.net/qq_37817177/article/details/80604294)。
2.4 开始编译
回到刚才的cmd,继续敲:
set WITH_NINJA=0 # 不使用ninja,用visual studio。因为编译中间出了问题在vs里面好查看。
# set CPU_ONLY=1 # 如果没有GPU,或者就是想编译CPU版本,则开启
.scriptsuild_win.cmd # 前面我写明的修改项都完成后,本行会顺利执行。
编译期间出现“锟斤拷”的乱码可以忽略,最后:
以上是关于Windows下用cmake编译Caffe的主要内容,如果未能解决你的问题,请参考以下文章