300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Ubuntu16.04系统 GPU1070Ti下搭建Caffe++Nvidia显卡驱动+Cuda9.0+Cudnn7.0.5

Ubuntu16.04系统 GPU1070Ti下搭建Caffe++Nvidia显卡驱动+Cuda9.0+Cudnn7.0.5

时间:2024-05-18 03:43:40

相关推荐

Ubuntu16.04系统 GPU1070Ti下搭建Caffe++Nvidia显卡驱动+Cuda9.0+Cudnn7.0.5

前言 :

为了能跑个深度学习特意买了一台式机,其实主要是想用cuda来加速,我的机器显卡是1070Ti,买的时候激情澎湃左挑右选,到货后更是热血沸腾的开始了caffe深度学习环境的搭配,但是激情和热血很快就被配置学习环境中各种曲折和困难给消磨掉了,以至于后来都不想配置caffe了,其实开始确实不怎么想用caffe,想用TF,但公司在用caffe。虽然caffe和TF各有所长,但caffe在安装过程中的各种坑确实招致很多人的吐槽,假如你是个新手也没有其他限制,建议安装TF吧,毕竟这些就是一个库和工具,真正困难和难搞的是一些算法、工程实践过程。

总之caffe的GPU深度学习环境的搭配确实一条坎坷曲折的道路,如果你一次搞定,那确实很厉害了,多少估计也有些运气的成分(在网上找到或参考的配置资料,正好适用你)。

caffe的GPU深度学习环境的搭配为啥这么坎坷啦?caffe GPU配置的大致过程:

安装Ubuntu-->安装一堆依赖库-->安装Nvidia显卡驱动(Nvidia的显卡驱动安装确实蛋疼,不知道这么大个公司怎么这个都搞不好)-->安装cuda-->配置cudnn-->安装opencv及接口-->编译caffe

这是一个串联的过程,在编译caffe之前任何一个小误差,都可能将导致失败,其中最困难当属cuda的安装配置。并且很多人对这配置过程都没啥经验,虽然找到的参考资料上的机器、GPU啥的都一样,也照着参考一步步来着,结果中间出现了各种错误,这更别提参考的资料上的机器、GPU不一样的情况了。其实这主要是由下面原因造成的:

1、不细心+不耐心

如果ubuntu已经安装好,其他软件包下载准备好的情况,感觉最快也得2小时左右吧,因此这个配置过程有些长,最好是抽空一天来配置它,不要中断,断断续续的配置更容易出错,在配置过程中一定要有耐性。如果多次配置还是没决绝问题,还不如从头开始在配。很多时候推倒重来比在原来错误道路上折腾来的快。

2、参考资料中作者有疏漏或记录不全

网上的博客或文章不乏优秀的和记录详细的,但有些作者还是有疏漏的,我觉的最好还是参考官网的安装和配置过程来比较好,

啰嗦了这么多其实就是想主要把配置caffe的一些思考和一些放之四海而皆准的学习经验总结一下。下面就把配置的一些要点做些记录和说明,这里假设已经安装好了Ubuntu16.04。

预先安装的一些工具和库:

git : sudo apt-get install git

cmake : sudo apt-get install cmake

build-essential: sudo apt-get install build-essential

一、安装Nvidia显卡驱动过程

ubuntu下安装Nvidia显卡驱动确实很不人性化。

首先进入官网驱动下载地方:/Download/index.aspx?lang=en-us

1、Nvidia显卡驱动的选择和下载

我在NVIDIA Driver Downloads下的Option 1下选择了我显卡参数和当前操作系统,然后单机SEAECH,就会出现如下图:

这是支持1070Ti最新的驱动,好像我当时看到还有其他的版本不知这会儿又看不到了。点击DOWNLOAD下载它。

2、安装Nvidia显卡驱动(最好把下载的驱动放置在home下)

2.1、在终端输入:sudo gedit /etc/modprobe.d/blacklist.conf

2.2、在打开的文件最后一行添加:blacklist nouveau

此条语句表示讲自带驱动加入黑名单,然后保存此文件,保存时命令窗口可能会出现以下提示:

** (gedit:4243): WARNING **: Set document metadata failed: 不支持设置属性 metadata::gedit-position,无视此提示~,保存后关闭文件

2.3、在终端中输入:sudo update-initramfs -u

此时禁用 nouveau 才真正生效

2.4、重启电脑后,在终端键入:lsmod | grep nouveau

可以查看nouveau有没有运行,没有输出表示禁止生效了

2.5、进入shell命令行界面 (Ctrl+Alt+F1-F4命令行界面,Ctrl+Alt+F7 可以回到图形化界面),输入用户名和密码,

然后键入:sudo service lightdm stop

2.6、在shell命令行中执行:

cd ~ #我的驱动文件放置在home下

sudo chmod a+x 驱动文件 #赋予文件权限

sudo sh 驱动文件 #安装驱动

2.7、重启电脑后,进入终端,键入:nvidia-smi

如果会显示信息说明正确安装。

在安装驱动中一些好的博客或文章放置于此:

1、Linux安装NVIDIA显卡驱动的正确姿势 /wf19930209/article/details/81877822

2、/qq_31261509/article/details/78755968

3、/ghw15221836342/article/details/79571559#commentBox

二、安装CUDA9.0过程

1、CUDA9.0的下载

首先进入官网:/cuda-toolkit-archive

然后,点击CUDA Toolkit 9.0(Sept ),Online Documentation,进入下面:

选好你的系统及配置,在此我参考的博客使用的run版本,其他版本没试过

2、CUDA9.0的安装

cuda的安装特别需要注意的是:

在正式安装选择时,一定要先知道当选择选项 Install NVIDIA Accelerated Graphics Driver for nvidia*时候选择取消(cuda是自带驱动的,但前面我们以手动安装过了驱动了,至于为啥不用自带的驱动我也不清楚,参考的博客很多都是选择手动安装驱动),其他选项选择yes,或则回车,并且查看协议时候有快捷键CART + D 进行翻页

cuda安装过程参考的文章或博客:

1、Ubuntu16.04 + Caffe + CUDA + cudnn 的配置详细教程&& Ubuntu18.04 可用

/qq_31261509/article/details/78755968

2、CentOS6.7 + GTX1070Ti + CUDA 9.0 + cuDNN 7.0.5搭建深度学习环境

/zryowen123/article/details/80054605

3、/10km/article/details/61915535

cuda安装中出现诸如:

Installing the CUDA Toolkit in /usr/local/cuda-8.0 …

Missing recommended library: libGLU.so

Missing recommended library: libX11.so

Missing recommended library: libXi.so

Missing recommended library: libXmu.so

按第3篇博客解决就行。不过弄好了后需要在按照前面的过程安装一次cuda就行

三、cudnn7.0.5配置

cudnn的下载确实有点费事,需要在官网注册个账号,但注册过程由于连外网经常中断,所以会有些恼火。而且和cuda9.0搭配的cudnn版本也有好多个,为了少走弯路,我还是按照参考的博客来选择cudnn7.0.5,其他应该没问题,没有试过。

1、cudnn7.0.5下载及安装

首先去官网:/rdp/cudnn-archive

然后点击,Download cuDNN v7.0.5 (Dec 5, ), for CUDA 9.0,出现如下(红色圈区域是我选择的安装方式):

我在此参考官网的,点击:cuDNN Install Guide,你将在其中看到如下图所示:

教程中提供了两种安装方式,我选择第二种即deb文件安装。网上的博客大多选择第一种的tar文件安装,而且还有软连接,不管选择那种感觉还是按照官网的指导文件安装好些。

2、安装成功检测

cudnn安装成功与否,有个检验方式,这个在指导文件中也有说明,如下图:

按照说明执行这几条命令就可以了。

在执行第4条即./mnistCUDNN命令,出现:

/mnistCUDNN: error while loading shared libraries: libcudart.so.9.0: cannot open shared object file: No such file or directory

解决方法参考:/weixin_39123145/article/details/81979270

sudo cp /usr/local/cuda-9.0/lib64/libcudart.so.9.0 /usr/local/lib/libcudart.so.9.0 && sudo ldconfig

sudo cp /usr/local/cuda-9.0/lib64/libcublas.so.9.0 /usr/local/lib/libcublas.so.9.0 && sudo ldconfig

sudo cp /usr/local/cuda-9.0/lib64/libcurand.so.9.0 /usr/local/lib/libcurand.so.9.0 && sudo ldconfig

四、OpenCV3.3.1及opencv_contrib的安装配置

为了后面方面,一次性把contrib也配置了,免得需要的时候又来折腾。

OpenCV的安装及配置网上有很多博客,在此只稍微整理汇总一下:

1、OpenCV官网:/master/d7/d9f/tutorial_linux_install.html,官网的安装指导过程很详细

2、/klchang/p/7510526.html

3、/qq_21033779/article/details/77567919

其实最主要是配置cmake的一些参数,我需要配置python接口,参数如下:

cmake -D CMAKE_BUILD_TYPE=RELEASE \

-D CMAKE_INSTALL_PREFIX=/usr/local \

-D INSTALL_PYTHON_EXAMPLES=ON \

-D INSTALL_C_EXAMPLES=ON \

-D OPENCV_EXTRA_MODULES_PATH=/home/dq/opencv-3.3.1/opencv_contrib-3.3.1/modules \

-D PYTHON_EXECUTABLE=/usr/bin/python \

-D BUILD_EXAMPLES=ON ..

五、caffe的安装与配置

caffe的安装配置最好还是参照官网来配置,我在此只罗列我注意的地方

1、caffe 依赖库的安装

boost : sudo apt-get install --no-install-recommends libboost-all-dev

gflags : sudo apt-get install libgflags-dev

glog : sudo apt-get install libgoogle-glog-dev

LevelDB : sudo apt-get install libleveldb-dev

LMDB : sudo apt-get install liblmdb-dev

ProtoBuf : sudo apt-get install libprotobuf-dev

ProtoBuf compiler: sudo apt-get install protobuf-c-compiler protobuf-compiler

HDF5 : sudo apt-get install libhdf5-serial-dev

snappy : sudo apt-get install libsnappy-dev

OpenBlas : sudo apt-get install libopenblas-dev

atlas : sudo apt-get install libatlas-base-dev

选择性安装:

opencv : sudo apt-get install libopencv-dev #我们前面安装了OpenCV3.3.1这里就不要安装这个库了

其实这些库安装去官网复制命令然后运行就可以了,我之所以把这些库一个个单独列出来是因为我当初在在安装中少了库然后瞎折腾了好些,所以单独列一下吧,确保每一个都安装正确。

2、配置文件的修改及pycaffe编译

配置文件的修改及编译我也是参考网上的,在此只给出链接:

1、/yhaolpz/article/details/71375762

2、/qq_31261509/article/details/78755968

3、/zryowen123/article/details/80054605

这几篇博客中基本都一样,但我在修改中没有修改 /usr/local/cuda/include/host_config.h 文件 ,因为我的这个文件是空的

六、caffe中的mnist示例

caffe 安装后一般需要进行测试一下,我们选用mnist来测试一下,这个可以参考:

/lingyunxianhe/article/details/85014912

好了至此就算配置完了caffe并初步感受了下caffe的运行过程,据说这是一个很不错的框架,如此就开始一段新的学习旅程吧

最后非常感谢那些无私分享他们配置过程的那些网友。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。