在离开之际,将自己的电脑系统重新升级了下,在此做如下记录,以便后续查证。

1、双系统安装

这里只是简单说下,win10+Ubuntu,这次采用的Ubuntu分区是“boot”+“swap”+“/”的形式,具体可以去参考另一篇博客。

2、显卡驱动安装

在ubuntn系统下,首先通过如下指令查看显卡信息,

lspci |grep -i nvidia###卸载原来的驱动
sudo apt-get purge nvidia*sudo apt-get remove nvidia-*
sudo apt-get autoremove
sudo reboot

而Ubuntu下安装NVIDIA驱动的三种方法:

  • 使用标准Ubuntu仓库进行自动安装
  • 使用PPA仓库进行自动化安装
  • 使用官方的NVIDIA驱动进行手动安装

其中第一种方法操作简单方便,第三种方法是最稳定,最常用的,可以根据自己需要进行选择。因为我是在物理机上直接安装(有桌面可视化),这里采用的是第一种方法,如下

sudo ubuntu-drivers devicessudo ubuntu-drivers autoinstall   ###完成后重启 就可完成安装NVIDIA驱动

或者通过如下可视化操作,

选择驱动后点击应用更改然后重启,若详细信息中出现的是显卡信息,就表示驱动安装成功。

如果想采用第三种方式的话,需要先去官网下载对应的驱动NVIDIA 驱动程序下载,过程中如果需要禁用Nouveau驱动(自带默认的),可以将其写入黑名单,如下

sudo gedit /etc/modprobe.d/blacklist.conf
或者
sudo vim /etc/modprobe.d/blacklist.conf在最后两行添加:blacklist nouveau
options nouveau modeset=0     // 禁用nouveau第三方驱动,之后也不需要改回来执行sudo update -initramfs -u   // 更新内核

接下来就是按照步骤一步步来,具体可参考Ubuntu下安装NVIDIA驱动的三种方法_狂浪生-CSDN博客

若是以run文件的形式安装可以参考《Ubuntu16.04系统run方式安装nvidia显卡驱动》,然后具体操作如下,

####给驱动run文件赋予执行权限:
sudo chmod  a+x NVIDIA-Linux-x86_64-396.18.run###具体安装:
sudo ./NVIDIA-Linux-x86_64-396.18.run -no-x-check -no-nouveau-check -no-opengl-files //只有禁用opengl这样安装才不会出现循环登陆的问题##其中
-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件##安装过程中的选项:
The distribution-provided pre-install script failed! Are you sure you want to continue? 选择 yes 继续。
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?  选择 No 继续。
问题没记住,选项是:install without signing
问题大概是:Nvidia's 32-bit compatibility libraries? 选择 No 继续。
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.  选择 Yes  继续这些选项如果选择错误可能会导致安装失败,没关系,只要前面不出错,多尝试几次就好。

驱动安装成功后,可以通过下面指令进行查看

####下面两选一,或者直接nvidia-smi查看
cat /proc/driver/nvidia/version  sudo dpkg --list | grep nvidia-*  

安装驱动需要注意和后面安装cuda与cudnn匹配,详情可查看Release Notes :: CUDA Toolkit Documentation

3、cuda安装

(1)下载安装文件

检查自己的电脑配置是否支持cuda加速(一般英伟达系列显卡支持),这里推荐直接去https://developer.nvidia.com/cuda-gpus

查看。然后再根据自己电脑情况下载cuda安装包。

按照系统配置选择安装包,据说用deb文件安装容易出错,所以直接下载runfile(后缀为.run)文件来安装,例如安装cuda9.0,且操作系统为Ubuntu16.04,按照下图选择安装包:

等待一会,下载成功后会在路径下看到.run文件。

(2)安装cuda

在下载cuda的路径下,看到如下文件,然后打开终端运行

sudo sh cuda_9.0.176_384.81_linux.run

然后就会看到一大堆的描述信息,一直按回车直到服务条款显示到100%。接着按下面的步骤选择:

accept

n(不要安装driver)

y

y

y

;

y

(可以更具自己的需求进行调整)安装完成后,设置环境变量(可以自己来添加或者安装时添加到环境变量选择yes)。

一般bashrc文件在/home目录下,但是是一个隐藏文件,在文件管理器里面按Ctrl+H即可显示(显示为.bashrc,前面小点儿表示隐藏文件)。也可以直接利用terminal直接打开

sudo gedit ~/.bashrc

然后在末尾添加上

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

终端运行:source ~/.bashrc

检查:nvcc --version,如果显示如下就说明安装成功了。

4、安装cudnn

首先按需求下载cudnn的安装文件:https://developer.nvidia.com/rdp/cudnn-archive,其中选择的是cudnn library for linux

然后利用以下命令解压下载的文件,

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

可以看到cuda文件夹,在当前目录打开终端,执行如下命令:

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*

测试安装成功与否

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

若出现以下信息即表示成功了

相对而言,在其它系统安装cuda与cudnn步骤也相似,先安装驱动,再安装cuda和cudnn,按照步骤一步步来。对于一些新的版本,可能直接运行上面的指令没有任何结果展示,这是因为它的版本信息放在了cudnn_version.h头文件内,如果你想查看其信息,可以先将其拷贝到/usr/local/cuda/include路径下,然后运行下面指令即可,

cat cudnn_version.h | grep CUDNN_MAJOR -A 2

(1)至于多版本cuda安装可以参考:多版本CUDA和TensorFlow共存 - Gai's Blog,

(2)cuda与cudnn的卸载更新

卸载cuda-10.0

###卸载
sudo /usr/local/cuda-10.0/bin/uninstall_cuda_10.0.plsudo rm -rf /usr/local/cuda-10.0###安装就同上面安装步骤来

卸载cuda-10.1(没有uninstall_cuda_10.1.pl或者cuda-uninstaller情况)

sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*"   ###卸载cuda toolkitsudo apt-get --purge remove "*nvidia*"  ###卸载驱动 ,选择性使用sudo rm -rf /usr/local/cuda*  ##删除残留的文件

可以参考:Ubuntu16.04下cuda和cudnn的卸载和升级_隔壁老王的博客-CSDN博客_卸载cudnn,

(3)tensorflow与cuda和cudnn的版本配置

TensorFlow版本

CUDA版本

cuDNN版本

1.2

CUDA Toolkit 8.0

cuDNN v5.1

1.3

CUDA Toolkit 8.0

cuDNN v6 or v6.1

1.4

CUDA Toolkit 8.0

cuDNN v6.1

1.5

CUDA Toolkit 9.0

cuDNN v7.0

1.6

CUDA Toolkit 9.0

cuDNN v7.0

1.7

CUDA Toolkit 9.0

cuDNN v7.0

1.8

CUDA Toolkit 9.0

cuDNN v7.0

1.9

CUDA Toolkit 9.0

cuDNN v7.0

1.10

CUDA Toolkit 9.0

cuDNN v7.1

1.11

CUDA Toolkit 9.0

cuDNN v7.1

1.12

CUDA Toolkit 9.0

cuDNN v7.3

1.13

CUDA Toolkit 10.0

cuDNN v7.3

1.14

CUDA Toolkit 10.0

cuDNN v7.4

1.15

CUDA Toolkit 10.0

cuDNN v7.5

2.0

CUDA Toolkit 10.0

cuDNN v7.6

2.1.0

CUDA Toolkit 10.1

cuDNN v7.6

可参考:GPU环境部署:Ubuntu16.04 + GPU Tesla V100 + CUDA + CuDNN_机器学习-深度学习-图像处理-opencv-段子-CSDN博客

(4)torch的安装需要根据cuda版本来安装:https://download.pytorch.org/whl/torch_stable.html

5、不同版本的cuda切换

考虑到不同项目和不同框架需求,有时候需要配置不同的cuda和各种版本的库,后者可以通过虚拟环境来实现,而前者可以可以安装多个版本的,在需要用的时候再随时进行切换。如安装cuda10和cuda10.1,具体操作如下,

  • 首先下载安装需要的版本cuda库,需要注意的是在安装的时候创软连接时如果第一次安装选择y,否则安装n
  • 添加环境变量进行版本切换
###第一种方式:直接将绝对路径写入到环境变量,此时切换只需要将cuda版本号进行切换(路径都为默认)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.0/lib64
export PATH=$PATH:/usr/local/cuda-10.0/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-10.0###第二种方式:添加到环境变量中的是cuda软链接,这种方式不需要修改环境变量,只需要删除软连接,重新链接新的cuda即可,环境变量如下
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
#查看软连接状态
stat cuda
#删除旧的软连接,建立新的软连接
sudo rm -rf cuda
sudo ln -s /usr/local/cuda-10.1 /usr/local/cuda

切换后,记得重新配上cudnn库和路径。同时如果你是想通过conda来创建链接不同的cuda,则可以通过如下设置,

  • 1.首先激活虚拟环境 pytorch,输出当前环境的路径
conda activate pytorch
echo ${CONDA_PREFIX}

得到路径, for example:/home/username/anaconda3/envs/pytorch

  • 2.建立激活环境下的文件夹,写入脚本
#建立激活环境下的文件夹
mkdir -p /home/username/anaconda3/envs/pytorch/etc/conda/activate.d
#写入脚本
vi /home/username/anaconda3/envs/pytorch/etc/conda/activate.d/activate.sh

写入内容如下:

ORIGINAL_CUDA_HOME=$CUDA_HOME
ORIGINAL_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-10.1
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
  • 3.建立退出环境下的文件夹,写入脚本
 #建立退出环境下的文件夹
mkdir -p /home/username/anaconda3/envs/pytorch/etc/conda/deactivate.d
#写入脚本
vi /home/username/anaconda3/envs/pytorch/etc/conda/deactivate.d/deactivate.sh

写入内容如下:

export CUDA_HOME=$ORIGINAL_CUDA_HOME
export LD_LIBRARY_PATH=$ORIGINAL_LD_LIBRARY_PATH
unset ORIGINAL_CUDA_HOME
unset ORIGINAL_LD_LIBRARY_PATH

然后启动虚拟环境前后,分别查看cuda版本即可。


补:

》最近突然碰到一件稀奇古怪的事,ubuntu用的好好的突然~/.basrc文件没有了,导致了以前添加到系统环境中的一些内容丢失了,一些操作关联不上,最后只有从系统中拷贝一个最原始的.bashrc文件,然后再依次添加原来的软件到环境变量中。

sudo cp ~/etc/skel/.bashrc ~/.bashrc

有碰到过这种问题的大家可以交流一下。

》nvidia-smi正常显示,但是右上角的cuda version显示为err,当初没放在心上,但是利用显卡时一直报驱动错误,后来通过排查发现原来是nvidia驱动和cuda不匹配,于是对应上面表格重装cuda和cudnn解决问题。

参考链接:

https://blog.csdn.net/wanzhen4330/article/details/81699769(Ubuntu16.04下安装cuda和cudnn的三种方法(亲测全部有效))

https://blog.csdn.net/dudu815110/article/details/88592558(ubuntu16.04安装cuDNN的两种方式以及验证)

【引路帖】【conda虚拟环境】【cuda】多个cuda版本路径切换_一苇以航丶的博客-CSDN博客(【cuda】多个cuda版本路径切换)

ubuntn16.04+cuda9.0+cudnn7.5安装教程相关推荐

  1. 成功安装ubuntu16.04+cuda9.0+cuDNN7.0.5+caffe+digits(附错误汇总)

    成功安装ubuntu16.04+cuda9.0+cuDNN7.0.5+caffe+digits(附错误汇总) 本机硬件:双核i7 内存8G 显卡GTX070(不好意思,比较水) 安装顺序:依赖包--& ...

  2. DL之IDE:深度学习之计算机视觉开发环境搭建的详细流程(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow_gpu)

    DL之IDE:深度学习之计算机视觉开发环境搭建的详细流程(Ubuntu16.04+cuda9.0+cuDNN7.4.2+tensorflow_gpu) 目录 1.安装nvidia驱动 2.安装CUDA ...

  3. ubuntu18.04 安装CUDA9.0 + CUDNN7 deb安装

    一 安装显卡驱动: 直接在系统软件更新中选择安装: 或者选择PPA源安装,参照:https://blog.csdn.net/new_delete_/article/details/81544438 输 ...

  4. Ubuntu16.04 + Cuda-9.0 + Cudnn-7.1.4 + TensorFlow1.8(极其简单)

    步骤 1.Ubuntu16.04 LTS 2.配置Nvidia显卡驱动 3.Cuda-9.0 4.Cudnn-7.1.4 5.TensorFlow1.8 1. Ubuntu16.04 LTS 安装Ub ...

  5. ubuntu16.04+cuda9.0+cudnn7.0+caffe

    准备工作 删除原有cuda sudo apt autoremove cuda 删除原有软件更新 系统设置-软件和更新-其他软件 cuda9.0 下载链接: cuda9.0 在下载目录打开termina ...

  6. 【安装教程总结】ubuntu18.04+NVIDIA 940MX+CUDA9.0+cuDNN7.4.1+anaconda+tensorflow1.12 安装总结

    0.安装前环境说明 ubuntu:LTS18.04.02 显卡型号:NVIDIA GeForce 940MX 1.安装NVIDIA 940MX显卡驱动390 安装之前,先进BIOS,把安全启动关了Se ...

  7. 在linux上cuda9.0 cudnn7.* 安装python3.6 tensorflow 1.5.1

    链接:https://www.jianshu.com/p/bcf37d0e4e9b 为了入门机器学习的小伙伴能安装好工具,特制作此教程 按照 Anaconda 下载网站上的说明下载并安装 Anacon ...

  8. 手把手教你在 Ubuntu16.04 安装 GPU 驱动 + CUDA9.0 + cuDNN7

    点击上方"AI有道",选择"星标"公众号 重磅干货,第一时间送达 如果你的电脑安装了 Ubuntu16.04,而且电脑自带一块 NVIDIA GeForce 的 ...

  9. Ubunt16.04 搭建 GPU 显卡驱动 + CUDA9.0 + cuDNN7 详细教程

    红色石头的个人网站:www.redstonewill.com 如果你的电脑安装了 Ubuntu16.04,而且电脑自带一块 NVIDIA GeForce 的 GPU 显卡,那么不用来跑深度学习模型就太 ...

最新文章

  1. 多线程编程学习笔记——async和await(三)
  2. c++程序员会用到的函数积累
  3. hdu1873 看病要排队-优先队列
  4. 春招我借这份PDF的复习思路,论程序员成长的正确姿势
  5. Docker 配置,详细说明 daemon.json 的作用
  6. node服务器给客户端发消息,上的node.js发送消息客户端 - 服务器 - 客户端上socket.io(Sen...
  7. python规范模块和包
  8. ESFramework Demo -- P2P通信Demo(附源码)
  9. redis配置文件redis.conf详细说明
  10. vbs 解析 json jsonp 方法
  11. linux查看zip文件内容、统计内容大小
  12. 基于javaweb的订餐管理系统的设计与实现 毕业设计毕设参考
  13. win10一直正在检查更新_Win10关闭自动更新的方法汇总
  14. 数据库基础知识(MySQL入门)
  15. 计算机网络需要解决什么问题,计算机网络故障的解决措施
  16. 阿里云 企业邮箱域名解析(DNS)
  17. python中赋值语句和判断语句结合_Python 3 学习的第二小节——判断赋值语句与简单循环...
  18. MyBatis框架(IDEA-Maven篇)---从小白到入门
  19. 解决org.apache.zookeeper.KeeperException$UnimplementedException:KeeperErrorCode = Unimplemented for /S
  20. 提笔忘字低龄化 电脑难辞其咎

热门文章

  1. rk3399 Android7.1 预置app
  2. linux mysql查看视图_MySQL之视图
  3. 【Python爬虫案例】全套爬虫案例+数据可视化项目汇总零基础入门全套爬虫案例-案例三
  4. 怎样下载安装MySQL
  5. 使用Matplotlib的条形图绘制一个颜色花哨的漏斗图
  6. mac忘记mysql初始密码怎么办_Mac操作系统下MySQL密码忘记后重置密码的方法
  7. 拿来即用,HttpUtil工具类
  8. RBF径向基神经网络
  9. ipv6无线传感器网络服务器,无线传感器网络的IP寻址方法及系统
  10. OpenFlow协议-整体结构和协议篇