ubuntu查看cudnn是否安装成功_Ubuntu16安装TensorFlow及配置GPU支持(手动安装对应版本的CUDA,cuDNN)...

本文详细介绍了如何在Ubuntu 16上手动安装TensorFlow-GPU版,包括创建Anaconda虚拟环境、安装指定版本的TensorFlow、CUDA和cuDNN,并提供了每步安装后的验证方法。特别强调了安装CUDA时选择不安装驱动,以及手动配置环境变量以解决ImportError问题。
摘要由CSDN通过智能技术生成

写在前面

这种安装方法传统的,也是更复杂的

但是作为了解GPU支持的相关配置,网上很多人比较推崇

以下安装主要分为四步:Anaconda -> TensorFlow -> CUDA -> cuDNN

每部安装完成后也给出了安装成功的验证方法,需要立即验证,避免最后出错无法追溯错误

操作Anaconda虚拟环境

默认读者已安装Anaconda,否则阅读另一篇关于Anaconda虚拟环境安装的博客

创建虚拟环境

$ conda create -n yolo python=3.6

进入虚拟环境

$ source activate yolo

修改pip源

#根目录下修改(不存在则创建) ~/.pip/pip.conf

$ mkdir ~/.pip

$ gedit ~/.pip/pip.conf

#粘贴以下内容并保存退出

[global]

index-url=http://mirrors.aliyun.com/pypi/simple/

[install]

trusted-host=mirrors.aliyun.com

安装指定版本的TensorFlow

$ pip install --upgrade tensorflow-gpu==2.0.0

若不使用==x.x.x制定版本号会安装最新版本,不要吃螃蟹

安装完成后立即测试

无论在base环境或虚拟环境下安装的,请在对应环境下进行测试

$ python

>>> import tensorflow as tf

>>> print(tf.__version__)

有以下返回则安装成功

查看TensorFlow版本号对应的CUDA和cuDNN版本号

对应版本的CUDA和cuDNN请查看:TensorFlow中文手册

比如,翻阅得到一组版本对应关系,之后安装要按照这个来找版本号

TensorFlow->2.0.0

cuDNN->7.4

CUDA->10.0

之后的安装,就记住此处指定的版本号

安装CUDA

对版本号足够了解的也可以直接到docker仓库下载

注意,下载runfile,不要下载deb(坑比较多)

并放到home目录下面去

$ cd /home/用户名

$ sudo ./cuda_10.0.130_410.48_linux.run

按空格按到条款阅读 --More--100%

Do you accept the previously read EULA?

accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?

(y)es/(n)o/(q)uit: n

#这里一定要选no,否则之前安装的驱动会被顶掉,就白装了

Install the CUDA 10.0 Toolkit?

(y)es/(n)o/(q)uit: y

Enter Toolkit Location

[ default is /usr/local/cuda-10.0 ]: 回车

Do you want to install a symbolic link at /usr/local/cuda?

(y)es/(n)o/(q)uit: y

#在local下面创建软链接

Install the CUDA 10.0 Samples?

(y)es/(n)o/(q)uit: y

Enter CUDA Samples Location

[ default is /home/pyp ]: 回车

接下来会出现

Installing the CUDA Toolkit in /usr/local/cuda-10.0 ...

Installing the CUDA Samples in /home/pyp ...

Copying samples to /home/pyp/NVIDIA_CUDA-10.0_Samples now...

Finished copying samples.

===========

= Summary =

===========

Driver: Not Selected

Toolkit: Installed in /usr/local/cuda-10.0

Samples: Installed in /home/pyp

Please make sure that

- PATH includes /usr/local/cuda-10.0/bin

- LD_LIBRARY_PATH includes /usr/local/cuda-10.0/lib64, or, add /usr/local/cuda-10.0/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run the uninstall script in /usr/local/cuda-10.0/bin

Please see CUDA_Installation_Guide_Linux.pdf in /usr/local/cuda-10.0/doc/pdf for detailed information on setting up CUDA.

***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 384.00 is required for CUDA 10.0 functionality to work.

To install the driver using this installer, run the following command, replacing with the name of this run file:

sudo .run -silent -driver

Logfile is /tmp/cuda_install_16506.log

很快装完,但是没有报error

不要怀疑,就是安装好了

添加CUDA到环境变量

这一步骤的目的我还不够了解,因为网上的教程多手动配置环境变量,本人一开始没有配置环境变量

但在终端中输入

$ env

#翻找返回中,有以下部分

PATH=/home/pyp/anaconda3/bin:/home/pyp/anaconda3/condabin:/home/pyp/bin:/home/pyp/.local/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/pyp/bin

可见PATH其中已经有CUDA路径了,我认为就不必手动配置了

等于是cuDNN和CUDA都配置完成并测试通过,但是复现YOLO v4的时候会报错

ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory

按照该小节添加后就解决了问题,不清楚为什么,所以暂时记录在这里

手动配置流程如下:

首先我们看一下CUDA需要添加的路径是哪一个

$ cd /usr/local

可以看到环境变量下面有两个CUDA,其中不带版本号的是软链接,应该是为了统一不同版本的CUDA路径配置

为了统一,我们使用不带版本号的路径

#编辑环境变量bashrc

$ sudo gedit ~/.bashrc

#在尾部追加以下内容

#added for cuda PATH

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64"

export CUDA_HOME=/usr/local/cuda

#点击保存后退出文件

#source该文件,使修改生效

$ source ~/.bashrc

##需要注意若修改了默认shell,如我修改了zsh,那就将以上步骤中的.bashrc全部替换成.zshrc

测试CUDA是否安装成功

测试1:终端命令测试

$ nvcc -V

#若有如下图返回则安装成功,注意版本号是否是自己选择的CUDA release

#若返回没有nvcc,不要使用apt-get安装nvcc,这样装的基本是不能用的

测试2:测试CUDA的Sample

$ cd /usr/local/cuda/samples/1_Utilities/deviceQuery

#若没有该路径,考虑之前未创建软链接。则需要在以上路径中的cuda的后面加上release的版本号

$ sudo make

#编译,需要sudo

$ sudo ./deviceQuery

#运行Sample

若运行错误,预计会返回

-> unknown error

Result = FAIL

则用以下命令重新检查显卡驱动安装

$ nvidia-smi

若运行成功,预计会返回

./deviceQuery Starting...

CUDA Device Query (Runtime API) version (CUDART static linking)

......

......

......

......

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.2, CUDA Runtime Version = 10.0, NumDevs = 1

Result = PASS

(base) ➜ deviceQuery

表示安装成功!

下载安装cuDNN

选择之后需要登录填写问卷才能下载

这里有个讨巧的方法跳过该步骤

使用另外一台电脑,打开迅雷留驻后台

选择需要安装的版本,右键复制链接地址,会自动唤起迅雷下载,大概几百MB左右大小

版本选择要对应之前的CUDA和TensorFlow版本,如比如我装的是cuDNN v7.4.2 (Dec 14, 2018), for CUDA 10.0

下载完毕后,可能显示的是.1类型文件,手动将其改为.tgz的压缩包文件类型,然后解压缩即可

拷至原电脑安装

安装步骤:

$ tar xvzf cudnn-10.0-linux-x64-v7.4.2.24.tgz

$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include

$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

$ sudo chmod a+r /usr/local/cuda/include/cudnn.h

$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

测试cuDNN是否安装成功

$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

返回如下图则安装成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值