Ubuntu 16.04下搭建nvidia显卡驱动+cuda10+cudnn7+pytorch踩雷经验总结

最近花了两三天左右的时间从零开始配置深度学习的环境,查看了大量的博客,也踩了一些坑,谨以此篇记录一些经验,希望能对志同道合的各位有所帮助

NVIDIA显卡驱动安装:

现在官网查看硬件对应的版本,查看网址:https://www.nvidia.com/Download/index.aspx?lang=en-us

查看好所对应的版本后通过添加ppa源的方式下载

sudo add-apt-repository ppa:graphics-drivers/ppa  
sudo apt-get update  
sudo apt-get install nvidia-390 #此处要根据上面查询到的版本适当更改
sudo apt-get install mesa-common-dev  
sudo apt-get install freeglut3-dev

安装好后重启,并在终端内输入以下命令行进行测试

nvidia-smi  #若出现电脑GPU列表,即安装成功

 

CUDA10安装

和显卡驱动安装一致,首先去官网查询自己所需要安装的版本,网址https://developer.nvidia.com/cuda-downloads

在这里我选择的时deb(network)安装的方式,较为简单,先下载deb文件,deb安装包下载好后,按照下载地址中指示代码,进入安装包所在路径进行安装

成功安装完后需要设置环境变量,终端中输入

sudo gedit /etc/profile

在打开的文件末尾,添加以下两行:

#64位系统:
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}}

 

#32位系统:
export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib\
                                                   ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

这里有点与官方安装文档稍有不同,需要说明,官方文档里说只需在终端中运行上述两条export语句即可,但如果不将它们不写入/etc/profile文件的话,这样的环境变量在你退出终端后就消失了,不起作用了,所以写入才是永久的做法。

保存文件,并重启。因为source /etc/profile是临时生效,重启电脑才是永久生效。

接着在终端中输入命令行来查看环境变量是否设置成功:

nvcc --version

如果输出了版本信息,则成功,如果显示

The program 'nvcc' is currently not installed. You can install it by typing:
sudo apt-get install nvidia-cuda-toolkit

则可能是环境配置没有成功,需要重新设置

一切就绪后可编译cuda提供的example来验证是否安装成功,网上例子较多,此处不再重复

 

CUDNN7安装

同先前安装一样,在官网查询对应的版本号,查询地址:https://developer.nvidia.com/cudnn

注意此处需要注册帐号登录后才可下载,我用的是google登录

下载时不要选择那三个deb文件,不知道为什么老是无法安装成功,选择前面的tgz文件进行安装最好,例:

cudnn-10.0-linux-x64-v7.tgz

将此安装包下载好,后解压。接着将文件夹中的两个文件分别复制到对应的文件夹中就好

sudo cp cuda/include/cudnn.h /usr/local/cuda10.0/include/ 
sudo cp cuda/lib64/libcudnn* /usr/local/cuda10.0/lib64/ 
sudo chmod a+r /usr/local/cuda/include/cudnn.h 
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*

查看cudnn是否安装正确:

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

若为这样

则正确

(P.S:按照官网教程即可顺利安装,官网教程地址:cudnn安装官网教程)

(补上一段命令,貌似加不加上都可以,附上以作备用)

cd /usr/local/cuda10.0/lib64/#进入路径
sudo rm -rf libcudnn.so libcudnn.so.5 #删除原有动态文件
sudo ln -s libcudnn.so.6.0.21 libcudnn.so.6 #生成软衔接
sudo ln -s libcudnn.so.6 libcudnn.so #生成软链接

 

Pytorch安装

老规矩,官网查询,地址: pytorch

许多教程说在“Run this command”下会显示安装PyTorch的命令。如果Ubuntu下已经配置过pip的话,可以直接使用pip命令安装成功PyTorch,但是速度十分缓慢,建议直接到“Run this command”里的下载地址里进行下载,速度很快。

如上图所示,下载torch-0.2.0.post3-cp36-cp36m-manylinux1_x86_64.whl。其中,0.2.0表示PyTorch版本,cp36表示支持Python3.6,cuda80表示支持GPU版本,电脑有GPU的话须选择该项,注意检查是否是自己所需的对应项。

下载完后,进入文件所在的目录进行安装:

pip install torch-0.2.0.post3-cp36-cp36m-manylinux1_x86_64.whl
#如果pip install安装不成功则使用sudo pip3 install 下面note里有提到

同理,安装torchvision

pip install torchvision
#sudo pip3 install torchvision

安装成功后在终端里输入

python
import torch
import torchvision

若无报错,最后输入如图所示:

返回True则成功。

 

最终验证安装程序

import torch
# 若正常则静默
 
a = torch.tensor(1.)
# 若正常则静默
 
a.cuda()
# 若正常则返回 tensor(1., device='cuda:0')
 
from torch.backends import cudnn
# 若正常则静默
 
cudnn.is_available()
# 若正常则返回 True
 
cudnn.is_acceptable(a.cuda()) 
# 若正常则返回 True

大功告成,环境配置安装就此结束,可以开始愉快的深度学习之旅了

 

NOTE:

1.读取写入文件/文件夹权限不够时,采用

sudo nautilus

进行操作。

2. 在命令

pip3 install <packagename>

提示权限不够时,可用命令

sudo pip3 install <packagename>

继续操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章