NVIDIA驱动+CUDA+CUDNN+PYTORCH

配置一个模型的经历

第一次在pycharm上跑深度学习模型,源代码都有了,但是因为环境的问题一直没能跑起来,前前后后搞了一周,走了许多弯路,最后在师兄的帮助下得以成功,记录一下。
以下内容都是基于Ubuntu16.04 泰坦xp下的安装

NVDIA驱动

  1. ubuntu 16.04默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。
    命令行输入sudo vim /etc/modprobe.d/blacklist.conf末尾加上两行blacklist nouveau
    options nouveau modeset=0
    更新系统sudo update-initramfs -u
    重启系统sudo reboot
    验证nouveau是否已禁用lsmod | grep nouveau
    没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。

  2. 英伟达的官网上查找你自己电脑的显卡型号然后下载相应的驱动,下载后的run文件拷贝至home目录下。
    在ubuntu下按ctrl+alt+f1进入命令行界面
    关闭图形界面sudo service lightdm stop
    然后卸载掉原有驱动sudo apt-get remove 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

-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
重启sudo reboot
2. 版本对应关系
在这里插入图片描述

cuda安装

  1. 到 CUDA Toolkit Download 下载所需版本
  2. 进入到放置 cuda_9.0.176_384.81_linux.run 的目录:
  3. 给予权限
sudo chmod +x cuda_9.0.176_384.81_linux.run
  1. 执行
    . ./cuda_9.0.176_384.81_linux.run
  2. Do you accept the previously read EULA?
    accept/decline/quit: accept

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81?
(y)es/(n)o/(q)uit: n # 如果在这之前已经安装好更高版本的显卡驱动就不需要再重复安装,如果需要重复安装就选择 yes,此外还需要关闭图形界面。

Install the CUDA 9.0 Toolkit?
(y)es/(n)o/(q)uit: y

Enter Toolkit Location
[ default is /usr/local/cuda-9.0 ]: # 一般选择默认即可,也可以选择安装在其他目录,在需要用的时候指向该目录或者使用软连接 link 到 /usr/local/cuda。

/usr/local/cuda-9.0 is not writable.
Do you wish to run the installation with ‘sudo’?
(y)es/(n)o: y

Please enter your password:
Do you want to install a symbolic link at /usr/local/cuda? # 是否将安装目录通过软连接的方式 link 到 /usr/local/cuda,yes or no 都可以,取决于你是否使用 /usr/local/cuda 为默认的 cuda 目录。
(y)es/(n)o/(q)uit: n

Install the CUDA 9.0 Samples?
(y)es/(n)o/(q)uit: n
5. 多个 cuda 版本之间进行切换
#在切换cuda版本时
rm -rf /usr/local/cuda#删除之前创建的软链接
sudo ln -s /usr/local/cuda-8.0/ /usr/local/cuda/
nvcc --version #查看当前 cuda 版本

nvcc: NVIDIA ® Cuda compiler driver
Copyright © 2005-2016 NVIDIA Corporation
Built on Mon_Jan_23_12:24:11_CST_2017
Cuda compilation tools, release 8.0, V8.0.62

#cuda8.0 切换到 cuda9.0
rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-9.0/ /usr/local/cuda/
nvcc --version
6. 添加环境变量


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

cudnn

  1. 下载安装文件https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/linux-64/
  2. 下载的是cudnn-*tgz的压缩包时,按下方指令进行安装:首先解压缩下载的cudnn压缩包文件
tar -xzvf cudnn-9.0-linux-x64-v7.tgz
  1. 执行安装,其实就是拷贝头文件和库文件并给予权限
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*
  1. 验证安装是否成功
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

如果显示如下则安装成功

#define CUDNN_MAJOR 7
#define CUDNN_MINOR 6
#define CUDNN_PATCHLEVEL 2
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
  1. 查看cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

显示如下说明安装成功
在这里插入图片描述

TIPS

  1. 利用 conda list -r查询环境的历史版本
    进行回滚,回到升级之前的状态可以看到rev 0是新建完mynewtorch环境的版本
    rev 1是安装完cuda9.0 和pytorch1.1.0 的版本
    rev 2是升级之后的版本
conda install --revision 1
  1. 常用指令
nvidia-smi 
nvcc -V
cat /usr/local/cuda/version.txt
  1. nvcc和cat版本不一致问题,nvcc指向的是环境变量中的cuda版本,cat是安装路径下的cuda版本
    在这里插入图片描述
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值