wind10 + cuda9.0 + cudnn7.1 + caffe(c++与python接口) + anconda2 环境搭建

以下链接是个人关于深度学习环境搭建的所有链接,包含了各个框架:
深度学习环境搭建-史上最全无死角系列
有兴趣的朋友可以添加微信 17575010159 相互交流。

资源下载

请 大 家 注 意 : 本 人 编 写 该 博 客 的 时 间 为    2020 − 03 − 25 , 并 不 能 保 证 适 用 于 你 现 在 的 时 间 点 \color{red}{请大家注意:本人编写该博客的时间为~~ 2020-03-25,并不能保证适用于你现在的时间点}   20200325
如 果 百 度 云 失 效 , 大 家 可 以 联 系 本 人 或 者 留 言 \color{red}{如果百度云失效,大家可以联系本人或者留言}
为了大家的方便下载到和本人博客一样的资源,先贴出如下链接(包含了该博客介绍环境的所有资源)
链接:https://pan.baidu.com/s/16XQ130fNo56NbevrlH-fxQ
提取码:1wzo
可以通过官网下载对应的资源如下:

1. anconda2.7:https://www.anaconda.com/distribution/#download-section
注意,只能使用conda2。

2. cuda9.0:https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exelocal
需要注意的是,cuda9.0有4个补丁需要安装,本人只安装了补丁1和补丁2
,
3. cudnn7.1: https://developer.nvidia.com/rdp/cudnn-archive
这里需要注册登录,本人感觉使用微信登陆是最方便的

4. winds-caffe: https://github.com/microsoft/caffe

软件安装

首先我们需要安装如下软件(通过本人百度云下载)
在这里插入图片描述

VS2013安装

该软件的安装十分简单,执行其中的 vs_ultimate.exe 文件即可,也可以百度寻找相关的安装教材。
在这里插入图片描述

anconda2安装

anconda3的安装过程十分简单,主要有两个需要注意的地方:

  1. 记住安装的路径,如本人为 D:\Users\94428\anaconda2
  2. 勾选如下,自动添加到环境变量,在这里插入图片描述

cuda9.0安装

从百度云可以下载到如下文件
在这里插入图片描述
按照上面排列的顺序进行安装即可,记住自己安装的路径,如本人默认安装路径如下:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
安装完成之后拷贝如下文件到,上述安装目录:
在这里插入图片描述
等待安装完成之后,在wind 命令终端执行如下指令nvcc -V,显示如下,即便是安装成功:
在这里插入图片描述
如果发现安装完成下之后,不能执行该命令,请自行百度,大概的原因是需要手动设置环境变量,本人一切正常。

caffe编译

把所有的环境安装完成之后,我们开始编译 caffe-master.zip 文件,首先是解压。解压之后复制一份caffe-master\windows\CommonSettings.props.example,同样放置在该目录,重命名为CommonSettings.props。主要修改如下(以下为本人修改过后的截图-可以根据行号快速 查找):
在这里插入图片描述
在这里插入图片描述
其上

# 使用GPU
<UseCuDNN>true</UseCuDNN>

# cuda版本
<CudaVersion>9.0</CudaVersion>

# 提供python接口
<PythonSupport>true</PythonSupport>

# anconda2的安装路径,
<PythonDir>D:\Users\94428\anaconda2</PythonDir>

首先我们这样简单的配置,后续有需要再进行更改,然后使用VS2013 打开以下工程,如本人:
在这里插入图片描述即caffe-master\windows\Caffe.sln文件。打开该工程之后首先做如下设置,把Debug改成Release,如下:
在这里插入图片描述
然后右键点击libcaffe,如下
在这里插入图片描述
在这里插入图片描述
把警告视为错误设定为否,点击确定。然后再次右键点击libcaffe,选择生成。进行编译。

报错一

错误	1	error MSB4062: 未能从程序集
 C:\Users\94428\Desktop\caffe\NugetPackages\OpenCV.2.4.10\build\native\\private\coapp.NuGetNativeMSBuildTasks.dll 加载任务“NuGetPackageOverlay”。
 未能加载文件或程序集
 “file:///C:\Users\94428\Desktop\caffe\NugetPackages\OpenCV.2.4.10\build\native\private\coapp.NuGetNativeMSBuildTasks.dll
 ”或它的某一个依赖项。系统找不到指定的文件。 
 请确认 <UsingTask> 声明正确,该程序集及其所有依赖项都可用,并且该任务包含实现 
 Microsoft.Build.Framework.ITask 的公共类。	C:\Users\94428\Desktop\caffe\NugetPackages\OpenCV.2.4.10\build\native\OpenCV.targets	772	5	libcaffe

该错误主要是因为opecv版本更新的原因引起,本人通过如下博客解决:
https://blog.csdn.net/u013277656/article/details/75040459
简单来说,
第一步:项目->管理NuGet程序包->更新,此时可以看到opencv后面有更新的按钮,点击更新为opencv2.4.11。
在这里插入图片描述
在这里插入图片描述
更 新 完 成 后 , 关 闭 项 目 重 新 打 开 ( 必 须 要 ) , 先 不 要 编 译 ( 一 定 不 能 先 编 译 ) , 做 第 二 步 操 作 如 下 \color{red}{更新完成后,关闭项目重新打开(必须要),先不要编译(一定不能先编译),做第二步操作如下}

第二步选中工程中的libcaffe:
在这里插入图片描述
右键点击之后选择卸载项目,再右键先择编辑libcaffe.vcproj,把该文件中所有的OpenCV.2.4.10都换成OpenCV.2.4.11,重新加载项目,再进行编译生成即可。

错误二

完成上诉之后,重新编译,依旧会报错libcaffe,如下:

错误	372	error : too few arguments in function call	C:\Users\94428\Desktop\caffe\caffe-master\include\caffe\util\cudnn.hpp	114	1	libcaffe
C:\Users\94428\Desktop\caffe\caffe-master\windows\..\Build\Int\libcaffe\x64\Release -maxrregcount=0  --machine 64 --compile -cudart 
static -Xcudafe "--diag_suppress=exception_spec_override_incompat --diag_suppress=useless_using_declaration --
diag_suppress=field_without_dll_interface" -D_SCL_SECURE_NO_WARNINGS -DGFLAGS_DLL_DECL=    -DHAS_LMDB -
DHAS_HDF5 -DHAS_OPENBLAS -DHAS_OPENCV -DNDEBUG -D_SCL_SECURE_NO_WARNINGS -DUSE_OPENCV -
DUSE_LEVELDB -DUSE_LMDB -DWITH_PYTHON_LAYER -DBOOST_PYTHON_STATIC_LIB -DUSE_CUDNN -D_UNICODE -
DUNICODE -Xcompiler "/EHsc /W1 /nologo /Ox /FS /Zi  /MD " -o C:\Users\94428\Desktop\caffe\caffe-
master\windows\..\Build\Int\libcaffe\x64\Release\absval_layer.cu.obj "C:\Users\94428\Desktop\caffe\caffe-
master\src\caffe\layers\absval_layer.cu"”已退出,返回代码为 2。	C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 9.0.targets	707	9	libcaffe

本人参考以下博客修改:
https://blog.csdn.net/qq_29613155/article/details/85115682
进入libcaffe的属性——》生成事件——》预先生成事件——》在生成中使用——》否,生成事件——》后期生成事件——》在生成中使用——》否,重新编译,的方法解决:
在这里插入图片描述
然后重新编译(重启VS2013)。

报错三

错误	379	error : too few arguments in function call	

C:\Users\94428\Desktop\caffe\caffe-master\include\caffe\util\cudnn.hpp	114	1	libcaffe
错误	380	error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\nvcc.exe" -gencode=arch=compute_35,code=\"sm_35,compute_35\" -
gencode=arch=compute_52,code=\"sm_52,compute_52\" --use-local-env --cl-version 2013 -ccbin 
"D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64" -x cu  -
IC:\Users\94428\Desktop\caffe\NugetPackages\OpenBLAS.0.2.14.1\build\native\..\..\lib\native\include -IC:\Users\94428\Desktop\caffe\NugetPackages\OpenCV.2.4.11\build\native\../../build/native/include/ -
I"C:\Users\94428\Desktop\caffe\caffe-master\windows\libcaffe\\..\..\src\\" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include"     
--keep-dir C:\Users\94428\Desktop\caffe\caffe-master\windows\..\Build\Int\libcaffe\x64\Release -
maxrregcount=0  --machine 64 --compile -cudart static -Xcudafe "--
diag_suppress=exception_spec_override_incompat --diag_suppress=useless_using_declaration --
diag_suppress=field_without_dll_interface" -D_SCL_SECURE_NO_WARNINGS -DGFLAGS_DLL_DECL=    -
DHAS_LMDB -DHAS_HDF5 -DHAS_OPENBLAS -DHAS_OPENCV -DNDEBUG -
D_SCL_SECURE_NO_WARNINGS -DUSE_OPENCV -DUSE_LEVELDB -DUSE_LMDB -
DWITH_PYTHON_LAYER -DBOOST_PYTHON_STATIC_LIB -DUSE_CUDNN -D_UNICODE -DUNICODE -
Xcompiler "/EHsc /W1 /nologo /Ox /FS /Zi  /MD " -o C:\Users\94428\Desktop\caffe\caffe-
master\windows\..\Build\Int\libcaffe\x64\Release\bias_layer.cu.obj "C:\Users\94428\Desktop\caffe\caffe-
master\src\caffe\layers\bias_layer.cu"”已退出,返回代码为 2。	C:\Program Files 
(x86)\MSBuild\Microsoft.Cpp\v4.0\V120\BuildCustomizations\CUDA 9.0.targets	707	9	libcaffe

点击报错的(个参数太少导致报错)

错误	379	error : too few arguments in function call	

可以跳转到如下代码:
在这里插入图片描述
这里缺少了一个参数,补充一个CUDNN_DATA_FLOAT 或CUDNN_DATA_DOUBLE即可如下:
在这里插入图片描述
然后保存,重新生成libcaffe。此时本人 libcaffe 已经能够成功编译。

然后生成解决方案,操作如下:
在这里插入图片描述

报错四

错误	1	error MSB4062: 未能从程序集 C:\Users\94428\Desktop\caffe\NugetPackages\gflags.2.1.2.1\build\native\\private\coapp.NuGetNativeMSBuildTasks.dll 加载任务“NuGetPackageOverlay”。未能加载文件或程序集“file:///C:\Users\94428\Desktop\caffe\NugetPackages\

本人通过如下博客解决
https://blog.csdn.net/u013913216/article/details/80401601
总的来说就是卸载glog包,在重新安装,也可以选择直接更新,但是记得要重新启动VS

报错五

错误	1	error : NuGet Error:文件“C:\Users\94428\Desktop\caffe\NugetPackages\OpenCV.2.4.10\build\native\bin\x64\v120\Release\opencv_nonfree2410.dll”正由另一进程使用,因此该进程无法访问此文件。	C:\Users\94428\Desktop\caffe\NugetPackages\OpenCV.2.4.10\build

本人通过如下博客解决:
https://blog.csdn.net/AI_focus/article/details/79006909
重新以管理员的方式启动VS2013编译即可。

最后可以看到如下提示:
在这里插入图片描述
这样caffe源码我们就编译完成了,最后就是验证GPU的使用了。

caffe代码验证

首先去官网下载数据集:
http://yann.lecun.com/exdb/mnist/
在这里插入图片描述
四个数据集下载之后,放置如下,
在这里插入图片描述
在这里插入图片描述
第一步: 在caffe-master目录下,新建一个create_mnist.bat文件,写入下面代码:

.\Build\x64\Release\convert_mnist_data.exe .\mnist\mnist_train_lmdb\train-images.idx3-ubyte  .\mnist\mnist_train_lmdb\train-labels.idx1-ubyte .\examples\mnist\mnist_train_lmdb 
echo.
.\Build\x64\Release\convert_mnist_data.exe .\mnist\mnist_test_lmdb\t10k-images.idx3-ubyte  .\mnist\mnist_test_lmdb\t10k-labels.idx1-ubyte .\examples\mnist\mnist_test_lmdb
pause

双击该脚本运行,会在.\caffe-master\examples\mnist下生成相应的lmdb数据文件。
在这里插入图片描述
在这里插入图片描述
如果出现问题,可以参考下面的博客:
https://www.cnblogs.com/billyzh/p/6307716.html

第二步: 在.\caffe-master目录下,新建train_mnist.bat,然后写入下面代码:

.\Build\x64\Release\caffe.exe train --solver=.\examples\mnist\lenet_solver.prototxt
        pause

然后双击运行,就会开始训练,训练完毕后会得到相应的准确率和损失率。(用Debug配置运行时,大概要一个小时左右才能训练完),运行现象类似如下:
在这里插入图片描述

python接口使用

根据前面的配置,编译之后,可以找到如下文件:
在这里插入图片描述
将caffe文件夹复制到Anaconda2安装目录下C:\Anaconda2\Lib\site-packages,然后 cmd 终端执行指令:

python
import caffe

本人打印如下:
在这里插入图片描述
可以看到,其有报错出现。

错误一

ImportError: No module named google.protobuf.internal

执行:

pip.exe install protobuf 

本人打印如下:
在这里插入图片描述
再次重新导入caffe包,然后本人没有报错,表示导入成功。到这里,对于 caffe 环境的安装已经介绍完成了,谢谢大家的观看!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江南才尽,年少无知!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值