注:下面的的驱动版本不要安装最新(默认)的版本,因为会遇到各种问题,将会浪费你的大量时间。(当然大神无视)

环境

系统:Ubuntu 18.04 LTS

显卡:GTX1080Ti

CUDA:9.0

cuDNN:7.0

TensorFlow:teansorflow-gpu 1.9

Python版本:3.6

一、安装NVIDIA显卡驱动

1.删除旧的驱动。

原来Linux默认安装的显卡驱动不是英伟达的驱动,所以先把旧得驱动删除掉。

sudo apt-get purge nvidia*

2.禁止自带的nouveau nvidia驱动。
2.1 打开配置文件:

sudo gedit /etc/modprobe.d/blacklist-nouveau.conf

2.2填写禁止配置的内容:

blacklist nouveau
options nouveau modeset=0

2.3更新配置文件:

sudo update-initramfs -u

重启电脑!

2.4检查设置

(因为禁止了显卡的驱动,这时你的电脑分辨率会变成800*600,图标格式将会很不和谐,当然通过这个可以看出,是否完成这上面的操作)

lsmod | grep nouveau

*如果屏幕没有输出则禁用nouveau成功

3 正式安装

法一:ppa源安装(原生安装)

1.添加Graphic Drivers PPA

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update

2.查看合适的驱动版本:

ubuntu-drivers devices

3.在这里我选择合适的396版本:

sudo apt-get install nvidia-driver-396

重启电脑!
4.安装成功检查:

sudo nvidia-smi
sudo nvidia-settings

*最直接的方法是进入到系统的“软件和更新”,点击进入到“附加驱动”,选择你需要安装的英伟达驱动,然后点击“应用更改”,便能进行安装了。注意的是这个方法适合网速较好的环境下进行。

法二:server版安装

去官网挑选合适自己的驱动版本:https://www.geforce.cn/drivers

1.给安装文件添加权限

sudo chmod +x NVIDIA-Linux-x86_64-396.18.run

2.安装驱动

sudo sh NVIDIA-Linux-x86_64-396.18.run

安装第一部会提示协议条款,accept即可;之后按照提示进行安装,中间会提示警告32-bit文件无法安装,忽略即可,接着下一步;接下来根据提示一步一步安装即可。

重启电脑!

3.检查安装

同上!

二、安装CUDA

1、官网下载:https://developer.nvidia.com/cuda-90-download-archive

我的如下:

2、安装依赖库

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

否则将会报错:

3、注意C++\G++版本

CUDA9.0要求GCC版本是5.x或者6.x,其他版本不可以,需要自己进行配置,通过以下命令才对gcc版本进行修改。

查看版本:

g++ --version 

版本安装:

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

通过命令替换掉之前的版本:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-

最后记得再次查看版本是否修改成功。

4、运行run文件

sudo sh cuda_9.0.176_384.81_linux.run

安装协议可以直接按q跳到最末尾,注意一项:

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n # 安装NVIDIA加速图形驱动程序,这里选择n

5、添加环境变量

进行环境的配置,打开环境变量配置文件

sudo gedit ~/.bashrc

在末尾把以下配置写入并保存:

#CUDA
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}}

最后执行:

source ~/.bashrc

6、安装测试

在安装的时候也也相应安装了一些cuda的一些例子,可以进入例子的文件夹然后使用make命令执行。

例一:

1.进入例子文件

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

2.执行make命令

sudo make

3. 第三步

./deviceQuery

如果结果有GPU的信息,说明安装成功。

例二:

1. 进入例子对应的文件夹

cd NVIDIA_CUDA-9.0_Samples/5_Simulations/fluidsGL

2.执行make

make clean && make

3. 运行

./fluidsGL

当执行这个例子,我们会看到流动的图,刚开始可能看不到黑洞,需要等待一小段时间。不过记得用鼠标点击下绿色的画面。

三、安装cuDNN

1、官网下载:https://developer.nvidia.com/rdp/form/cudnn-download-survey

这个需要注册账号,拿自己的邮箱注册即可。

只需下载下面3个安装包即可

2、顺序执行下面3个安装命令:

sudo dpkg -i libcudnn7_7.0.3.11-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.3.11-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.3.11-1+cuda9.0_amd64.deb

3、安装测试

输入以下命令:

cp -r /usr/src/cudnn_samples_v7/ $HOME
cd $HOME/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN

最终如果有提示信息:“Test passed! ”,则说明安装成功!

四、安装TensorFlow

1.pip直接安装,由于我个人项目需要,所以安装了1.9.0的版本

pip install tensorflow_gpu-1.9.0

*注意:如果计划拿TensorFlow来开发android平台的深度学习模型,需要源码安装。

Ubuntu18.04+GTX1080Ti+CUDA9.0+cuDNN7.0+TensorFlow-GPU1.9环境搭建【2018年11月配置成功】的更多相关文章

  1. ubuntu18.04下搭建深度学习环境anaconda2+ cuda9.0+cudnn7.0.5+tensorflow1.7【原创】【学习笔记】

    PC:ubuntu18.04.i5.七彩虹GTX1060显卡.固态硬盘.机械硬盘 作者:庄泽彬(欢迎转载,请注明作者) 说明:记录在ubuntu18.04环境下搭建深度学习的环境,之前安装了cuda9 ...

  2. ubuntu16.04 安装cuda9.0+cudnn7.0.5+tensorflow+nvidia-docker配置GPU服务

    [摘要] docker很好用,但是在GPU服务器上使用docker却比较复杂,需要一些技巧,下面将介绍一下在ubuntu16.04环境下的GPU-docker环境搭建过程. 第一步: 删除之前的nvi ...

  3. ubuntu 16.04 +anaconda3.6 +Nvidia DRIVER 390.77 +CUDA9.0 +cudnn7.0.4+tensorflow1.5.0+neural-style

    这是我第一个人工智能实验.虽然原理不是很懂,但是觉得深度学习真的很有趣.教程如下. Table of Contents 配置 时间轴 前期准备工作 anaconda3 安装 bug 1:conda:未 ...

  4. Tensorflow1.5.0+cuda9.0+cudnn7.0+gtx1080+ubuntu16.04

    目录 Tensorflow1.5.0+cuda9.0+cudnn7.0+gtx1080+ubuntu16.04 0. 前记 1. 环境说明 2. 安装GTX1080显卡驱动 3. CUDA 9.0安装 ...

  5. Ubuntu16.04安装cuda9.0+cudnn7.0

    Ubuntu16.04安装cuda9.0+cudnn7.0 这篇记录拖了好久,估计是去年6月份就已经安装过几遍,然后一方面因为俺比较懒,一方面后面没有经常在自己电脑上跑算法,比较少装cuda和cudn ...

  6. Ubuntu14.0 + CUDA9.0 + cudnn7.0 + TensorFlow-gpu1.7.0

    在安装好nvidia驱动的基础上安装 CUDA9.0 + cudnn7.0 + TensorFlow-gpu1.7.0 这三个是匹配的版本 别的匹配(CUDA8.0 + cudnn6.0 + Tens ...

  7. QT5.6.0 VS2013 Win764位系统QT环境搭建过程

    QT5.6.0 VS2013 Win764位系统QT环境搭建过程 没用过QT自己跟同事要了安装包,按照同事指导方法操作安装部署开发环境结果遇到好多问题,错误网上搜遍了所有帖子也没有找到合适的解决方案. ...

  8. Ubuntu18.04: GPU Driver 390.116 + CUDA9.0 + cuDNN7 + tensorflow 和pytorch环境搭建

    1.close nouveau 终端输入:sudo gedit /etc/modprobe.d/blacklist.conf 末尾加两行 blacklist nouveau options nouve ...

  9. 深度学习环境配置:Ubuntu16.04安装GTX1080Ti+CUDA9.0+cuDNN7.0完整安装教程(多链接多参考文章)

    本来就对Linux不熟悉,经过几天惨痛的教训,参考了不知道多少篇文章,终于把环境装好了,每篇文章或多或少都有一些用,但没有一篇完整的能解决我安装过程碰到的问题,所以决定还是自己写一篇我安装过程的教程, ...

随机推荐

  1. 洛谷P3980 志愿者招募

    题意:懒得写了...... 解: 一开始想的是每天建点,每种人建点,然后连边费用流,发现一个人可以管辖多天,不好处理. 回想起了网络流24题中的"最长k可重线段集","最 ...

  2. Python三大web框架简单介绍

    Django 是重量级框架:它封装的的功能常丰富非常多所以它是重量级,Django的文档最完善.市场占有率最高.招聘职位最多.Django提供全套的解决方案(full-stack framework ...

  3. 斯坦福大学公开课机器学习:machine learning system design | trading off precision and recall(F score公式的提出:学习算法中如何平衡(取舍)查准率和召回率的数值)

    一般来说,召回率和查准率的关系如下:1.如果需要很高的置信度的话,查准率会很高,相应的召回率很低:2.如果需要避免假阴性的话,召回率会很高,查准率会很低.下图右边显示的是召回率和查准率在一个学习算法中 ...

  4. request 请求头的处理

    一.请求头:说明了请求要带的一些说明,有的请求需要带,有的不需要带 一般会带上格式,对于新浪微博来说,他一定要带上user-agent content-type:application/json 二. ...

  5. malloc()

    malloc()没啥好讲的,唯一要注意的就是与new的区别 malloc()失败是返回NULL指针,new失败是抛出异常 malloc和new的空间释放的方式不能串着用 new数组时需要注意配合del ...

  6. Idea + Git + GitLab 使用

    首先去下载Git,https://git-scm.com/ 安装好之后,打开Idea--->Settings,,,设置Git路径,然后点击Test按钮 然后是GitLab,一般企业内部开发都会有 ...

  7. Windows Server 2003 添加“Resin”到“服务”出错

    将“Resin”添加到[服务] 进入安装目录,执行 httpd -install 从[服务]移除 执行 httpd -remove ---------------------------------- ...

  8. sys用户的操作

    oracle中查找某个表属于哪个用户? select owner from dba_tables where table_name=upper('t_l_tradelist' )          1 ...

  9. thinkphp 实现分页

    一.一个条件的查询数据 查询数据自然是先要显示出数据,然后根据条件进行查询数据 (1)显示出表的数据 这个方法我还是写在了HomeController.class控制器文件中 (1.1)写了一个方法s ...

  10. B+树及数据库索引的应用

    B树 每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为null. B+树 只有叶子节点存储data,叶子节点包含了这棵树的所有键值,叶子节点不存储指针. 后来,在B+树上增加了顺 ...