转自:https://blog.csdn.net/ycfn97/article/details/100084641

Install nvidia driver

首先卸载原有驱动

sudo apt-get purge nvidia

添加图形驱动程序到源列表:

 sudo add-apt-repository ppa:graphics-drivers/ppasudo apt updatesudo apt upgrade

检查将安装什么驱动程序:

ubuntu-drivers devices
root@boss-To-be-filled-by-O-E-M:/home/boss# ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001E04sv00007377sd00001730bc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-430 - third-party free recommended
driver   : nvidia-driver-410 - third-party free
driver   : nvidia-driver-415 - third-party free
driver   : xserver-xorg-video-nouveau - distro free builtin

注意!!!虚拟机无法安装NVIDIA显卡驱动程序,虚拟机中只有虚拟显卡没有NVIDIA显卡,不能安装NVIDIA驱动,无论是在NVIDIA官网下载NVIDIA-Linux-x86_64-430.40.run还是ppa下载都是没用的,也无法安装TensorFlow-gpu,虚拟机只能用cpu版本的TensorFlow。如果是考虑“虚拟一个系统”来使用显卡的话,考虑容器化技术——Docker大家可以参考这位大佬的文章虚拟机上无法安装tensorflow-GPU版本

虚拟机驱动程序是VM,,,

== /sys/devices/pci0000:00/0000:00:0f.0 ==
modalias : pci:v000015ADd00000405sv000015ADsd00000405bc03sc00i00
vendor   : VMware
model    : SVGA II Adapter
driver   : open-vm-tools-desktop - distro free

自动安装最新的驱动程序

sudo ubuntu-drivers autoinstall

显示

This system doesn't support Secure Boot
Secure Boot not enabled on this system.
Done.nvidia:
Running module version sanity check.- Original module- No original module exists within this kernel
- Installation- Installing to /lib/modules/5.0.0-25-generic/updates/dkms/nvidia-modeset.ko:
Running module version sanity check.- Original module- No original module exists within this kernel
- Installation- Installing to /lib/modules/5.0.0-25-generic/updates/dkms/nvidia-drm.ko:
Running module version sanity check.- Original module- No original module exists within this kernel
- Installation- Installing to /lib/modules/5.0.0-25-generic/updates/dkms/nvidia-uvm.ko:
Running module version sanity check.- Original module- No original module exists within this kernel
- Installation- Installing to /lib/modules/5.0.0-25-generic/updates/dkms/depmod...DKMS: install completed.

表示安装成功

然后重启机器:

sudo reboot

检查正确的安装驱动程序:

nvidia-smi

显示 说明NVIDIA驱动安装成功

root@boss-To-be-filled-by-O-E-M:/usr/local/cuda-10.0/samples/1_Utilities/bandwidthTest# nvidia-smi
Tue Aug 27 20:03:00 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.40       Driver Version: 430.40       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 208...  Off  | 00000000:01:00.0  On |                  N/A |
| 26%   32C    P8     9W / 250W |    302MiB / 11016MiB |      1%      Default |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1135      G   /usr/lib/xorg/Xorg                            16MiB |
|    0      1186      G   /usr/bin/gnome-shell                          58MiB |
|    0      1422      G   /usr/lib/xorg/Xorg                            98MiB |
|    0      1566      G   /usr/bin/gnome-shell                         127MiB |
+-----------------------------------------------------------------------------+

这里也可以下载并安装 Cuda 和 Nvidia 驱动一起执行,分开安装的筒子们请略过下面的部分直接跳到 install cuda&cudnn部分

卸载所有原驱动

$ sudo apt-get purge nvidia*

禁用nouveau

新建-blacklist-nouveau.conf 输⼊指令:

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

往 blacklist-nouveau.conf 文件中写⼊:

blacklist nouveau
options nouveau modeset=0

禁 Ubuntu 自带开源驱动nouveau,写入后保存重启

$ sudo reboot

重启后在终端执行行命令:

$ lsmod | grep nouveau

查看nouveau模块是否被加载,若无输出,则执行下一步

禁⽤X服务

$ sudo service lightdm stop

注意!!!在Ubuntu禁用X进入tty1终端后登陆用户输入密码时不能用小键盘,系统不识别,别问我怎么知道的 )逃…

确定下载的 cuda 版本后执行指令

$ sudo chmod 777 cuda_9.0.176_384.81_linux.run
$ sudo ./cuda_9.0.176_384.81_linux.run --no-opengl-libs

进入 CUDA 安装中同意安装 Nvidia 驱动

[accept] #同意安装
[y] #安装Driver,将自动安装CUDA版本相匹配的Nvidia驱动
[y] #安装CUDA Toolkit install
#安装到默认目录
[y] #创建安装目录的软链接
[n] #不复制Samples,因为在安装目录下有/samples

安装完成后会显示 CUDA 和 Nvidia 驱动成功安装

后面vim 打开.bashrc 在末行加⼊命令详见install cuda&cudnn部分

Install cuda&cudnn

各个版本cuda下载地址

cd 下载目录
sudo sh cuda_10.0.130_410.48_linux.run --override --silent --toolkit

各个版本cudnn下载地址

cd 下载目录
tar -xzvf cudnn-10.0-linux-x64-v7.5.0.56.solitairetheme8
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 /usr/local/cuda/lib64/libcudnn*

现在必须为/.bashrc添加一些路径:

gedit ~/.bashrc

在/.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

现在重新加载你的终端配置:

source ~/.bashrcsudo ldconfig

检查路径是否正确安装:

echo $CUDA_HOME

测试版本号

查看 CUDA 版本:

cat /usr/local/cuda/version.txt

查看 CUDNN 版本:

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

也可以这样测试cuda安装情况

编译并测试设备 deviceQuery:

root@boss-To-be-filled-by-O-E-M:/home/boss/download# nvcc -V

输出如下

root@boss-To-be-filled-by-O-E-M:/home/boss/download# nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2018 NVIDIA Corporation
Built on Sat_Aug_25_21:08:01_CDT_2018
Cuda compilation tools, release 10.0, V10.0.130

编译并测试带宽 bandwidthTest:

$ cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
$ sudo make
$ ./deviceQuery

输出如下

root@boss-To-be-filled-by-O-E-M:/home/boss/download# cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
root@boss-To-be-filled-by-O-E-M:/usr/local/cuda-10.0/samples/1_Utilities/deviceQuery# sudo make
"/usr/local/cuda-10.0"/bin/nvcc -ccbin g++ -I../../common/inc  -m64    -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_75,code=compute_75 -o deviceQuery.o -c deviceQuery.cpp
"/usr/local/cuda-10.0"/bin/nvcc -ccbin g++   -m64      -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_75,code=compute_75 -o deviceQuery deviceQuery.o
mkdir -p ../../bin/x86_64/linux/release
root@boss-To-be-filled-by-O-E-M:/usr/local/cuda-10.0/samples/1_Utilities/deviceQuery# ./deviceQuery
./deviceQuery Starting...CUDA Device Query (Runtime API) version (CUDART static linking)Detected 1 CUDA Capable device(s)Device 0: "GeForce RTX 2080 Ti"CUDA Driver Version / Runtime Version          10.1 / 10.0CUDA Capability Major/Minor version number:    7.5Total amount of global memory:                 11017 MBytes (11552096256 bytes)(68) Multiprocessors, ( 64) CUDA Cores/MP:     4352 CUDA CoresGPU Max Clock rate:                            1545 MHz (1.54 GHz)Memory Clock rate:                             7000 MhzMemory Bus Width:                              352-bitL2 Cache Size:                                 5767168 bytesMaximum Texture Dimension Size (x,y,z)         1D=(131072), 2D=(131072, 65536), 3D=(16384, 16384, 16384)Maximum Layered 1D Texture Size, (num) layers  1D=(32768), 2048 layersMaximum Layered 2D Texture Size, (num) layers  2D=(32768, 32768), 2048 layersTotal amount of constant memory:               65536 bytesTotal amount of shared memory per block:       49152 bytesTotal number of registers available per block: 65536Warp size:                                     32Maximum number of threads per multiprocessor:  1024Maximum number of threads per block:           1024Max dimension size of a thread block (x,y,z): (1024, 1024, 64)Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)Maximum memory pitch:                          2147483647 bytesTexture alignment:                             512 bytesConcurrent copy and kernel execution:          Yes with 3 copy engine(s)Run time limit on kernels:                     YesIntegrated GPU sharing Host Memory:            NoSupport host page-locked memory mapping:       YesAlignment requirement for Surfaces:            YesDevice has ECC support:                        DisabledDevice supports Unified Addressing (UVA):      YesDevice supports Compute Preemption:            YesSupports Cooperative Kernel Launch:            YesSupports MultiDevice Co-op Kernel Launch:      YesDevice PCI Domain ID / Bus ID / location ID:   0 / 1 / 0Compute Mode:< Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.1, CUDA Runtime Version = 10.0, NumDevs = 1
Result = PASS

编译并测试带宽 bandwidthTest:

$ cd ../bandwidthTest
$ sudo make
$ ./bandwidthTest

输出如下

root@boss-To-be-filled-by-O-E-M:/usr/local/cuda-10.0/samples/1_Utilities/deviceQuery# cd ../bandwidthTest
root@boss-To-be-filled-by-O-E-M:/usr/local/cuda-10.0/samples/1_Utilities/bandwidthTest# sudo make
"/usr/local/cuda-10.0"/bin/nvcc -ccbin g++ -I../../common/inc  -m64    -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_75,code=compute_75 -o bandwidthTest.o -c bandwidthTest.cu
"/usr/local/cuda-10.0"/bin/nvcc -ccbin g++   -m64      -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_75,code=sm_75 -gencode arch=compute_75,code=compute_75 -o bandwidthTest bandwidthTest.o
mkdir -p ../../bin/x86_64/linux/release
cp bandwidthTest ../../bin/x86_64/linux/release
root@boss-To-be-filled-by-O-E-M:/usr/local/cuda-10.0/samples/1_Utilities/bandwidthTest# ./bandwidthTest
[CUDA Bandwidth Test] - Starting...
Running on...Device 0: GeForce RTX 2080 TiQuick ModeHost to Device Bandwidth, 1 Device(s)PINNED Memory TransfersTransfer Size (Bytes)   Bandwidth(MB/s)33554432         12162.1Device to Host Bandwidth, 1 Device(s)PINNED Memory TransfersTransfer Size (Bytes)    Bandwidth(MB/s)33554432         12451.7Device to Device Bandwidth, 1 Device(s)PINNED Memory TransfersTransfer Size (Bytes)  Bandwidth(MB/s)33554432         513231.8Result = PASS

如果两个测试的结果都是 Result = PASS CUDA ,说明安装成功

安装TensorFlow-gpu

这里我选择了清华大学的开源镜像以提高下载速度,提示出现pip not found ,不要直接复制提示安装pip,要根据Python版本下载你想要的pip,否则会下载Python2.7

root@sunqi-To-be-filled-by-O-E-M:/# pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
Command 'pip' not found, but can be installed with:
apt install python-pip
root@sunqi-To-be-filled-by-O-E-M:/# apt install python-pip

直接复制提示就会变成下面这样要修改Python默认版本,不要这样

root@sunqi-To-be-filled-by-O-E-M:/# pip -V
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

修改Python默认版本

详见我的另一篇博客linux修改Python默认版本

修改完Python默认版本如果还不改,那么依然会是Python2.7的pip

root@sunqi-To-be-filled-by-O-E-M:/# apt install python-pip
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
python-pip 已经是最新版 (9.0.1-2.3~ubuntu1.18.04.1)。

pip -V还是no module named pip

root@sunqi-To-be-filled-by-O-E-M:/# pip -V
Traceback (most recent call last):File "/usr/bin/pip", line 9, in <module>from pip import main
ModuleNotFoundError: No module named 'pip'

必须这样安装

root@sunqi-To-be-filled-by-O-E-M:/# apt install python3-pip

然后再查看pip版本是否符合要求

pip -v

如果pip -v出现报错:bash: /usr/bin/pip: 没有那个文件或目录 可参考pip -v报错:bash: /usr/bin/pip: 没有那个文件或目录

更新pip

sudo pip install --upgrade pip

安装Tensorflow-gpu

pip install --user tensorflow-gpu

这里还有一种方法用bazel编译,需要下载一些依赖库,就不赘述了,感性趣的筒子们自行百度

在此,TensorFlow-gpu环境就已经安装完成,下面进行测试

import tensorflow as tf
hello=tf.constant("Hello,Tensorflow!")
sees=tf.Session()
print(sees.run(hello))

如果得到了输出hello,TensorFlow!那么恭喜你完成了DeepLearning基本环境的配置

如果出错,请检查NVIDIA驱动版本和cuda以及cudnn版本是否正确匹配

常见问题

 I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Could not dlopen library 'libcudart.so.10.0'; dlerror: libcudart.so.10.0: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64

详见cuda程序执行出错: libcudart.so.10.0: cannot open shared object file: No such file or directory

听说看完了会点赞的都是美女帅哥

Ubuntu 18.04 + Python3.6 + CUDA-10.0 + CUDNN-7.5.0 + tensorflow-gpu-1.13.1相关推荐

  1. Ubuntu 16.04 LTS 在anaconda环境下安装pytorch和tensorflow gpu,cuda10.0

    文章目录 准备 更新笔记本的显卡驱动到较新的,最好是倒数第二新的版本 安装cuda和cudnn: 安装conda: 安装tensorflow-gpu: 安装pytorch: 安装jupyter not ...

  2. Ubuntu 18.04 安装显卡驱动+CUDA10+多版本CUDA+Tensorflow gpu1.13.1

    废话不多说,直奔主题! 一.安装驱动 1.去官网下载驱动,这个根据自己的显卡去搜索,比如我的卡是RTX2070: 然后点击"搜索"按钮,出现界面: 这里提示对应的驱动版本,点击下载 ...

  3. Julia的安装与配置详解(包含在Ubuntu 18.04和Windows 10系统上Julia的安装)

    Julia的安装与配置详解((包含在Ubuntu 18.04和Windows 10系统上Julia的安装) Julia的安装 使用二进制文件安装Julia 在Ubuntu上安装Julia 在Windo ...

  4. 如何在Ubuntu 18.04上安装ERPNext堆栈

    The author selected Software in the Public Interest to receive a donation as part of the Write for D ...

  5. Ubuntu 18.04下autoware 1.12 安装日志(含花屏解决方法)

    Ubuntu 18.04下autoware 1.12 安装日志 安装Autoware 1.12 Autoware官网信息 下载相关依赖项 新建文件夹下载autoware 1.12 编译autoware ...

  6. MIT Mini Cheetah Ubuntu 18.04 环境配置

    VMware 16 : Ubuntu 18.04 LTS : qt5.10.0: 链接:https://pan.baidu.com/s/1fpUK77fc_sDT1qdNiuqEZA  提取码:vr5 ...

  7. linux笔记本装载 戴尔,第七代戴尔XPS 13开发版笔记本电脑装载Ubuntu 18.04系统

    据可靠消息称开发Ubuntu桌面工程总监Will Cooke表示旗下Ubuntu 18.04 LTS系统将被装载在第七代戴尔XPS 13开发版笔记本电脑中,该款笔记本电脑起步价为1049.99美元.同 ...

  8. Ubuntu 18.04 + CUDA 11.3.0 + CUDNN 8.2.1 + Anaconda + Pytorch 1.10

    Xshell远程连接进行Ubuntu的Pytorch配置 写在最前面 参考 Xshell常用命令 Ubantu 检查系统的各项配置 查看ubuntu系统的版本信息和gcc版本 查看Linux的内核版本 ...

  9. Ubuntu 18.04安装CUDA(版本10.2)和cuDNN

    1.系统要求 2.安装前的要求 3.runfile安装(不支持跨平台) 4.后续安装操作 5.安装cuDNN 6.汇总问题 本文基于Ubuntu 18.04.3 LTS 64位安装CUDA 10.2和 ...

最新文章

  1. LeetCode 42. Trapping Rain Water--算法题--c++解法
  2. 面试题6:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList
  3. Script that build Dual Stack route
  4. socket的半包,粘包与分包的问题
  5. openssl 64位编译_海思hi3516dv300开发--live555交叉编译
  6. Linux挂载多个文件夹读不出,FTP不显示Linux挂载文件夹怎么办?-处理FTP不显示Linux挂载文件夹的方案 - 河东软件园...
  7. 前端学习(547):node的系统模块fs
  8. 一条语句复制整个目录《转》
  9. 马云终于露面了!发表千字演讲
  10. Linux的使用注意事项
  11. HFSS喇叭天线仿真
  12. 智能交通中的若干科学和技术问题
  13. 解决“虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本”
  14. tp摄像头的默认地址_TPLINK默认IP地址是什么?
  15. 如何在PC,Mac或iPhone上启用iTunes家长限制
  16. UWP使用必应每日壁纸(二)
  17. ZJOI2019Round#1
  18. SpringBoot入门学习(六)之云收藏项目
  19. 一段时间有几个星期几
  20. 【Android定制】修改BUILD_AGO_GMS = no 和 BUILD_GMS=no属性

热门文章

  1. matlab fmincon误差值,Fmincon函数求助,数值回带以后根本不在约束的范围内
  2. 智能合约被忽视的一面
  3. 400亿的业务决策智能市场,何时诞生千亿AI公司 | 爱分析调研
  4. PTA - 按层次遍历二叉树
  5. 软件生命周期各个阶段漫谈(软件危机应对,生命周期过程详述)
  6. 写给大忙人看的jQuery动画效果
  7. 中科院系统内计算机相关方向研究实力点评
  8. java毕业设计——基于SSM+SpringBoot+VUE实现的电影院会员积分管理系统(源代码+论文+开题报告)
  9. 教你快速入门ElasticSearch,超详细简单~
  10. C++ 卷影复制服务信息,无法启动...问题解决办法