Ubuntu安装tensorflow-GPU
qqqw151 发布于2018-12-28 浏览:1930 回复:14
0
收藏

Ubuntu18.04安装CUDA9.0,cudnn7.1.3,opencv3.4 tensorflow GPU 1.10 搭建GTX1070深度学习环境

 

测试环境
机器情况: GTX1070  i3CPU DDR3 8G内存

系统情况:ubuntu18.04 64位

此时的心情:非常激动!(踩坑太多了,重装系统两次,系统引导坏一次)

 


经验分享
1.cuda,cudnn,tensorflow版本是有关联的,最要不要不遵循版本兼容

2.配置好的系统环境的硬盘不要做移动更换的操作,本人将安装好环境的这个硬盘移到另外一个机器上,再移动回来后发现引导坏了。

3.opencv尽量不要用源码安装。。满满都是坑。

4.全程sudo ,不要直接切#。

5.显卡驱动安装完成后要重启。

 


具体过程
最好是刚装上的系统,什么都没操作。然后立马换源,update ,upgrade,一系列操作后开始搭建环境。

1.安装gcc4.8
ubuntu18.04默认是不安装gcc和g++的,安装前gcc -v查一下有没有装gcc。有如下两种情况

(1)如果系统没有安装gcc

$sudo apt-get install gcc-4.8

$sudo apt-get install g++-4.8

装完后进入到/usr/bin目录下
$sudo ln -s gcc-4.8 gcc

$sudo ln -s g++-4.8 g++

再查看gcc和g++版本号:

gcc -v g++ -v
(2)如果系统安装了gcc,并且版本是7,做降级操作

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

装完后进入到/usr/bin目录下
 $ls -l gcc*

会显示以下结果

    lrwxrwxrwx 1 root root 7th May 16 18:16 /usr/bin/gcc -> gcc-7.0

发现gcc链接到gcc-7.0, 需要将它改为链接到gcc-4.8,方法如下:

    sudo mv gcc gcc.bak #备份
    sudo ln -s gcc-4.8 gcc #重新链接

同理,对g++也做同样的修改:

    ls -l g++*
    lrwxrwxrwx 1 root root 7th May 15:17 g++ -> g++-7.0

需要将g++链接改为g++-4.8:

    sudo mv g++ g++.bak
    sudo ln -s g++-4.8 g++

再查看gcc和g++版本号:

    gcc -v g++ -v

均显示gcc version 4.8 ,说明gcc 4.8安装成功。

 


2.安装显卡驱动
先删掉之前的驱动

sudo apt-get purge nvidia*

然后添加显卡驱动PPA,安装驱动

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-390

重启电脑!!

开机后nvidia-smi命令查看显卡驱动是否启用。

 


3.安装python(2.7)
$sudo apt-get install python python-pip

 


4.安装cuda9.0
下载连接cuda9.0 ,linux->x86_64->ubuntu->17.04->deb(local)  ,base installer(1.2G)

https://developer.nvidia.com/cuda-90-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1704&target_type=deblocal

安装方法如下

`sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb`
`sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub`
`sudo apt-get update`
`sudo apt-get install cuda`
5.安装cudnn7.1.3 for cuda9.0
下载连接如下,选择Download cuDNN v7.1.3 (April 17, 2018), for CUDA 9.0 下面的->cuDNN v7.1.3 Library for Linux!!!

https://developer.nvidia.com/rdp/cudnn-archive

下载可能需要你登陆nvidia账号,没有就注册一个。

下载对应到版本,然后

如果通过tar文件安装,则解压再拷贝目录

$ tar -xzvf cudnn-9.0-linux-x64-v7.1.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*

6.安装tensorflow1.10
$sudo pip install tensorflow-gpu==1.10

7.添加cuda的环境变量,更新cudnn的阮链接
1.环境变量

$ cd

$ sudo gedit ~/.bashrc

将以下添加到文件末尾

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

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

export CUDA_HOME=/usr/local/cuda

保存退出!

2.CUDNN连接建立

cd /usr/local/cuda/lib64

sudo rm -rf libcudnn.so libcudnn.so.7  #删除原有版本号,版本号在cudnn/lib64中查询

sudo ln -s libcudnn.so.7.1.3 libcudnn.so.7 #生成软连接,注意自己下载的版本号

sudo ln -s libcudnn.so.7 libcudnn.so

sudo ldconfig #立即生效

8.安装opencv
$sudo pip install opencv-python

9.测试
wld@wld-GREATWALL-PC:~$ python
Python 2.7.15rc1 (default, Apr 15 2018, 21:51:34)
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow
>>> import cv2

没有报错,安装完毕!

 

收藏
点赞
0
个赞
共14条回复 最后由qqqw151回复于2019-01-01
#15qqqw151回复于2019-01-01
#14 荒墨丶迷失回复
欢迎欢迎 在2018的最后一天加入大家庭。

2019,祝你新年快乐啊,完事顺心

0
#14荒墨丶迷失回复于2018-12-31
#13 qqqw151回复
多谢关注啊,大佬

欢迎欢迎 在2018的最后一天加入大家庭。

0
#13qqqw151回复于2018-12-31
#10 不懂即是懂回复
要跟着大佬学习

多谢关注啊,大佬

0
#12qqqw151回复于2018-12-31
#10 不懂即是懂回复
要跟着大佬学习

莫谦虚撒

0
#11qqqw151回复于2018-12-31
#9 不懂即是懂回复
嘻嘻,我也来了

可以的,你也是大佬

0
#10不懂即是懂回复于2018-12-30
#5 qqqw151回复
紧握大佬的手

要跟着大佬学习

0
#9不懂即是懂回复于2018-12-30
#4 goJhou回复
欢迎入住社区大家庭

嘻嘻,我也来了

0
#8goJhou回复于2018-12-30
#7 qqqw151回复
你在发帖子的时候会不会出现检测到文字辱骂信息类似的啊,我经常出现这个。。
展开

我没出现过

0
#7qqqw151回复于2018-12-30
#4 goJhou回复
欢迎入住社区大家庭

你在发帖子的时候会不会出现检测到文字辱骂信息类似的啊,我经常出现这个。。

0
#5qqqw151回复于2018-12-30
#4 goJhou回复
欢迎入住社区大家庭

紧握大佬的手

0
#4goJhou回复于2018-12-29
#3 qqqw151回复
对的,这个文章就是我在csdn写的粘贴到这里来的,我csdn的id麦子点点
展开

欢迎入住社区大家庭

0
#3qqqw151回复于2018-12-29
#2 goJhou回复
这文章咋跟我看的CSDN文章一样呢

对的,这个文章就是我在csdn写的粘贴到这里来的,我csdn的id麦子点点

0
#2goJhou回复于2018-12-28

这文章咋跟我看的CSDN文章一样呢

0
TOP
切换版块