cuda-9.0 + cudnn7.0 + tensorflow(GPU)

原文链接:https://blog.csdn.net/xd_wjc/article/details/82999563

https://blog.csdn.net/qq_25241325/article/details/90753830


更新:安装keras时要与tensorflow版本对应https://www.cnblogs.com/carle-09/p/11661261.html

一、安装驱动

已经安装的跳过

二、安装cuda-9.0

注意,如果是ubuntu18.04,必须把gcc版本降到6以下,包括6,因为编译cuda9只支持gcc6以下,而Ubuntu 18.04预装GCC版本为7.3,如何降gcc:

sudo apt-get install gcc-6 g++-6

cd /usr/bin

sudo rm gcc

sudo ln -s gcc-6 gcc

sudo rm g++

sudo ln -s g++-6 g++

如果是ubuntu16.04,就不用降gcc,因为ubuntu16.04预装的是gcc4.8

安装cuda9:

1,执行这条命令,先安装依赖库,最好安,有的教程没安,我第一次失败不知道跟这个有没有关系,也不大,就几十MB

sudo apt-get install g++ freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libglu1-mesa libglu1-mesa-dev

2,自己去官网下载cuda9的run-file文件,几个补丁就不用下了,我看网上教程大部分都没装这几个补丁,

我下好的文件名叫作:cuda_9.0.176_384.81_linux.run

384.81表示需要的驱动版本,所以你前面装得nivdia驱动版本必须比这个384.81要大,不能小于或等于这个384.81

在cuda_9.0.176_384.81_linux.run这个文件所在目录下打开终端,执行:

sudo sh cuda_9.0.176_384.81_linux.run

我看其他教程还加什么权限,我感觉不要,反正我没加

3,之后会进入一系列让你阅读的一些安装信息的界面,你不停的回车就行,直到出现如下信息:

这个是我网上复制的,实际上自己装的时候基本是一样的,答案都写出来了,大部分是yes,但这一项Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?选no,因为上面驱动已经装了,这里就不用重复装。

1 The NVIDIA CUDA Toolkit provides command-line and graphical

2 tools for building, debugging and optimizing the performance

3 of applications accelerated by NVIDIA GPUs, runtime and math

4 libraries, and documentation including programming guides,

5 user manuals, and API references.

6

7

8 Default Install Location of CUDA Toolkit

9 Do you accept the previously read EULA?

10 accept/decline/quit: accept

11

12 You are attempting to install on an unsupported configuration. Do you wish to continue?

13 (y)es/(n)o [ default is no ]: y

14

15 Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?

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

17

18 Install the CUDA 9.0 Toolkit?

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

20

21 Enter Toolkit Location

22 [ default is /usr/local/cuda-9.0 ]:

23

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

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

26

27 Install the CUDA 9.0 Samples?

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

29

30 Enter CUDA Samples Location

31 [ default is /home/zhuang ]:

32

33 Installing the CUDA Toolkit in /usr/local/cuda-9.0 ...

34 Installing the CUDA Samples in /home/zhuang ...

35 Copying samples to /home/zhuang/NVIDIA_CUDA-9.0_Samples now...

36 Finished copying samples.

37

38 ===========

39 = Summary =

40 ===========

41

42 Driver: Not Selected

43 Toolkit: Installed in /usr/local/cuda-9.0

44 Samples: Installed in /home/zhuang

45

46 Please make sure that

47 - PATH includes /usr/local/cuda-9.0/bin

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

49

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

51

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

53

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

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

56 sudo <CudaInstaller>.run -silent -driver

57

58 Logfile is /tmp/cuda_install_7476.log

59 Signal caught, cleaning up

到这cuda安装第一步完成,接着添加环境变量,

在home主目录下,用ctrl+h,显示隐藏文件,找到.bashrc这个文件,用vim或gedit打开,命令如下:

gedit ~/.bashrc

在文件的末尾添加这三行,有的教程第三行好像没装:

export PATH=/usr/local/cuda-9.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:$LD_LIBRARY_PATH

export CUDA_HOME=/usr/local/cuda-9.0

添加后保存,在执行:

source ~/.bashrc

使这个文件生效,可以在终端输入 echo $PATH 和echo $CUDA_HOME查看一下

有的教程是这样添加环境变量的,都可以,只是格式不一样

export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

注意由于安装的时候建立了软链接/usr/local/cuda

和/usr/local/cuda-9.0其实是等效的,你添加那样的环境变量也是可以的,但是要和下面的cudnn拷贝的一样,你这里选择是用cuda9.0做环境变量,后面最好把cudnn的几个文件拷到这里

验证cuda9.0:

a、 验证驱动版本

$ cat /proc/driver/nvidia/version

结果显示类似

NVRM version: NVIDIA UNIX x86_64 Kernel Module 384.81 Sat Sep 2 02:43:11 PDT 2017

GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)

b、 验证CUDA Toolkit

$ nvcc -V      会输出CUDA的版本信息

如果是这样的:

The program 'nvcc' is currently not installed. You can install it by typing:

sudo apt-get install nvidia-cuda-toolkit

可能是环境配置没有成功,重新配置环境。

五、测试CUDA的Samples例子

  cd  /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery

   sudo make

   ./deviceQuery

  如果显示的是关于GPU的信息,则说明安装成功了。

第三:安装cudnn:

去cudnn官网下载于cuda9.0对应的cudnn,一般下7.0,7.0.5或7.0.4或7.0.3都是可以的,下那个cudnn libaray for linux,

不要下下面的什么cudnn for ubuntu 16.04 的deb文件,下好之后,是一个cudnn-9.0-linux-x64-v7.tgz压缩文件,首先到文件目录打开终端执行这条命令解压:tar -zxvf cudnn-9.0-linux-x64-v7.tgz  解压后出现一个cuda的文件夹,

cuda文件夹里有:

还是回到解压出来的cuda文件夹所在目录,在把cudnn.h 和那三个所有带libcudnn的文件复制到开始装的CUDA文件夹对应的目录里去

    sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include/

    sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64/

    这个-P是参数,意思是不光复制内容,还把属性也复制过去

    给文件读写权限,因为从上面的图片可以看出cudnn上了锁,要赋予权限:

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

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

    ------简单一点

    tar -zxvf cudnn-9.0-linux-x64-v7.tgz

    sudo cp cuda/include/cudnn.h /usr/local/cuda-9.0/include

    sudo cp cuda/lib64/libcudnn* /usr/local/cuda-9.0/lib64

    sudo chmod a+r /usr/local/cuda-9.0/include/cudnn.h /usr/local/cuda-9.0/lib64/libcudnn*

到次结束cudnn安装

第四安装Anaconda:

1. 首先安装Anaconda3-4.2.0-Linux-x86_64,64位系统,它对应的python是3.5,而4.3对应的是python3.6,下好后是一个.sh文件

参考下面这个链接

https://blog.csdn.net/u012318074/article/details/77074665

第五步安装tensorflow:

我这里装的是1.8,想装1.12,就换成1.12

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==1.8

用清华的镜像,飞快。

第六步,安装opencv,keras,easydict:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python==3.4

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple keras

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple easydict

要是还是提示缺少某些包,就用这种方式安装

测试TensorFlow(GPU)是否安装成功

在安装完TensorFlow(GPU)后,进入python环境

在命令窗口输入以下的代码段:

    import tensorflow as tf

    hello=tf.constant(‘hello,world’)

    sess=tf.Session()

    print(sess.run(hello))

如果返回结果如下图,则代表TensorFlow(GPU)安装成功:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,657评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,889评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,057评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,509评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,562评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,443评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,251评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,129评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,561评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,779评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,902评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,621评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,220评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,838评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,971评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,025评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,843评论 2 354

推荐阅读更多精彩内容