Ubuntu 16.04 + GTX 1080 Ti + CUDA 9.0 + Cudnn 7.1 安装配置

1. 安装显卡驱动

首先查看一下自己的电脑需要怎样的驱动,我们可以先到 http://www.nvidia.com/Download/index.aspx 查询下我们需要的是怎样的驱动,这里我的显卡是 GTX 1080 Ti,所以以此为例说明,勾选好对应的配置:

点击search并下载驱动

打开terminal,卸掉系统原有驱动:

sudo apt-get remove --purge nvidia*

在安装新驱动前,禁用nouveau:

在终端中运行 lsmod | grep nouveau

若没有输出则nouveau已禁用;若有输出则说明nouveau正在运行,需要手动禁用:

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

在该文件尾部输入以下内容:

blacklist nouveau 
options nouveau modeset=0

保存并关闭文件。

在终端中执行:sudo update-initramfs -u

再次运行 lsmod | grep nouveau 检查nouveau是否禁用,若未禁用则重复上述操作。

关闭图形化界面:sudo service lightdm stop

按Ctrl + Alt + F1 进入字符终端页面,

进入驱动所在的目录,运行:

sudo
sh 驱动名

安装完之后重启: sudo reboot

打开终端输入命令: nvidia-smi, nvidia-settings查看驱动安装状态:

2. 安装CUDA 9.0

sudo sh
cuda_9.0.176_384.81_linux.run

是否Accept EULA:Accpet

Install driver:Yes/No

Install OpenGL:No

Run nvidia_xconfig: No

Install Cuda Toolkit: Yes

Yes

Yes

配置CUDA的环境变量:

sudo gedit ~/.bashrc

在文件尾部输入:

  1. export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
  2. export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH

运行source ~/.bashrc 使其生效

3. 配置 Cudnn

下载Cudnn并解压:

tar -zxvf cudnn-7.0-linux-x64-v3.0-prod.tgz

解压后会看到一个cuda文件夹,里面包含了include以及lib64两个子目录。我们需要做的就是将这两个字母里面的文件复制到cuda对应的安装目录。这里以cuda的安装目录为/usr/local/cuda/,这个目录下也会包含include/以及lib64/这两个文件夹,将之前目录的文件复制过来即可。

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

sudo cp cuDNN/cuda/lib64/* /usr/local/cuda/lib64/

这时候本来已经可以了,但是由于权限的原因原来的两个符号链接文件(libcudnn.so,libcudnn.so.7.0)已经失效了,直接编译便会报错,所以这时手动生成符号链接。

#下面的操作在/usr/local/cuda/lib64/目录下进行

sudo rm -rf libcudnn.so libcudnn.so.7.0#删除两个符号链接;

sudo ln -s libcudnn.so.7.0.64 libcudnn.so.7.0

sudo ln -s libcudnn.so.7.0 libcudnn.so

运行source ~/.bashrc 使其生效

如果出现下面问题:

/sbin/ldconfig.real:
/usr/local/cuda/lib64/libcudnn.so.7 is not a symbolic link

则参考如下解决方法,版本需对应安装的cudnn的相应版本(link:https://askubuntu.com/questions/1025928/why-do-i-get-sbin-ldconfig-real-usr-local-cuda-lib64-libcudnn-so-7-is-not-a):

sudo rm libcudnn.so

sudo ln libcudnn.so.7.0.5
libcudnn.so.7

sudo ln libcudnn.so.7 libcudnn.so

sudo ldconfig

Cudnn配置完毕

4. 安装Anaconda

根据环境下载对应的anaconda 软件,运行:

Sudo bash Anaconda3-5.1.0-Linux-x86_64.sh

安装完之后创建python虚拟环境:

conda create -n tensorflow pip python=2.7 #
or python=3.3, etc.

(根据需要选择合适的python版本)

5. 安装Tensorflow-gpu

输入命令:source activate
tensorflow-gpu

pip install --ignore-installed --upgrade
tfBinaryURL

(我装的是tensorflow-gpu 1.10版本,把tfBinaryURL 替换如下

https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.10.0-cp36-cp36m-linux_x86_64.whl

链接不好使~需要多试几次,tensorflow会自动下载安装

6. 缺少的一些包用pip安装:

Pip install
opencv-python

Pip install matplotlib,
etc

Ubuntu安装配置Tensorflow-GPU的更多相关文章

  1. 【转】Ubuntu 16.04安装配置TensorFlow GPU版本

    之前摸爬滚打总是各种坑,今天参考这篇文章终于解决了,甚是鸡冻\(≧▽≦)/,电脑不知道怎么的,安装不了16.04,就安装15.10再升级到16.04 requirements: Ubuntu 16.0 ...

  2. Ubuntu安装配置protobuf 2.5

    Ubuntu安装配置protobuf 2.5 一.安装配置环境 Linux 1.安装protobuf 下载文件 https://github.com/protocolbuffers/protobuf/ ...

  3. [转载]Ubuntu安装配置 git 服务器和客户端

    原文地址:Ubuntu安装配置 git 服务器和客户端作者:ding404 1.配置前准备 服务器:安装ssh server另外还装了gitosis做git的权限管理 sudo apt-get ins ...

  4. ubuntu 安装配置 JDK7和Android Studio(apt-get方式)

    Ubuntu 安装配置JKD 7 $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get ...

  5. Ubuntu 安装配置MySQL,并使用VS的Server Explorer UI界面远程管理MySQL

    为安装配置方便,使用root账号登入Ubuntu. step1: 键入下面命令安装MySQL. 过程十分简单.安装过程中只需根据提示输入root账号的密码即可. step2:安装完成后检查MySQL是 ...

  6. 英文版Ubuntu安装配置搜狗拼音输入法

    下载搜狗输入法 1 进入搜狗输入法官网,进入上面导航兰的 "输入法Linux版"   2 根据你安装的ubuntu是32位还是64位下载 END ubuntu安装搜狗输入法 1 进 ...

  7. UBuntu安装配置记录

    记得是06年左右第一次安装的 Linux,当时是下载的 Fedora镜像,版本已经记不清了,在商业街的电脑维修店刻的盘,回来后兴冲冲地和XP一起安装的双系统.其实就是直接的体验了一把,只是看了看X-W ...

  8. Ubuntu安装配置Qt 4.86环境

    安装 QT4.8.6库+QT Creator 2.4.1 下载地址公布 QT4.8.6库  http://mirrors.hustunique.com/qt/official_releases/qt/ ...

  9. ubuntu安装anaconda3+tensorflow(cpu)+pycharm(windows几乎一样)

    网上乱七八糟有的都是别人怎么写自己也怎么写,其实很简单. 首先是anaconda3的安装: 直接上官网:https://www.anaconda.com/download/ 下载下来之后进入文件所在目 ...

随机推荐

  1. kvm虚拟机操作相关命令及虚拟机和镜像密码修改

    虚拟机生命周期管理 1)查看kvm虚拟机状态 #virsh list --all 2)KVM虚拟机开机 # virsh start oeltest01 3)KVM虚拟机关机或断电 关机 默认情况下vi ...

  2. JavaScript中的bind,call和apply函数的用法和区别

    一直没怎么使用过JavaScript中的bind,call和apply, 今天看到一篇比较好的文章,觉得讲的比较透彻,所以记录和总结如下 首先要理解的第一个概念,JavaScript中函数调用的方式, ...

  3. 史上最全SVN 教程

    以下博文引用<https://blog.csdn.net/u013067756/article/details/73302758>,再此仅供学习和参考. Svn是什么? SVN(全称Sub ...

  4. c#/netcore/mvc视图中调用控制器方法

    1: public class HomeController : Controller     {         public ActionResult Index()         {     ...

  5. 八十四:redis之redis的集合、哈希操作

    set集合操作 添加元素:sadd set value1 value2... 查看元素:smembers set 移除元素:srem set member 查看集合中的元素个数:scard set 获 ...

  6. Idea Debug多线程不进断点问题处理

    Idea也会使我狼狈不堪,Eclipse下约定成俗,却非Idea的默认规则. 比如 DEBUG多个线程时,Idea的默认设定就会遇到断点不能进入的问题. 解决的方法: 点击DEBUF框下的双红点(Vi ...

  7. Git(5):其他用法

    分支操作 (1) 删除远程分支 $git remote add origin ssh://git@xxx.git ##如果未连接远程分支要先连接 $git push origin :<remot ...

  8. 如何把本地文件上传至github?

    (都说git好用,但我觉得git把我弄得像个git……在反反复复用git bash的命令行上传失败了N次之后,终于可以用命令行把文件上传到GitHub了 这中间,还要感谢网络上的各种git教程!!!) ...

  9. Vue组件传值,父传子,子传父,非父子组件

    vue3中传值方式: 1.父组件向子组件传值 父组件Blog.vue <template> <div id="blog"> <Alert v-if=& ...

  10. POJ3734 Block母函数入门

    一段长度为n的序列,你有红黄蓝绿四种颜色的砖块,一块砖长度为1,问你铺砖的方案数,其中红黄颜色之和必须为偶数. #include <queue> #include <stack> ...