[写在前面]  👇👇👇

        如果这篇博客写的还可以的话,希望各位好心的读者朋友们到最下面点击关注一下Franpper的公众号,或者也可以直接通过名字搜索:Franpper的知识铺。快要过年了,Franpper想制作一款红包封面,但是需要100个关注者,555。  

        下面开始今天的内容!

        Franpepr有一台旧电脑,是大学期间买的。最近把它刷成了Ubuntu系统,想配置一下深度学习环境。在这里记录同时和大家分享一下,希望对大家有所帮助。由于篇幅比较长,所以Franpper把整个安装过程分为了3篇博文,分别是显卡驱动的安装、Anaconda与CUDA的安装、cuDNN与Pytorch的安装。整个安装流程与在windows下安装相似,没有配置过的小伙伴可以先浏览一下Franpper之前分享过的两篇博文大致了解一下先。

                      深度学习环境配置(pytorch版本)----超级无敌详细版(有手就行)

           深度学习环境配置:CUDA、cuDNN 和 PyTorch 版本的选择与搭配指南(建议收藏)

        整个过程从头到为配置下来,Franpper感觉最麻烦的步骤为显卡驱动的安装、配置CUDA次之。本次ubuntu下配置的三篇博文为:

[超级详细系列]ubuntu22.04配置深度学习环境(显卡驱动+CUDA+cuDNN+Pytorch)--[1]安装显卡驱动 (本篇)

[超级详细系列]ubuntu22.04配置深度学习环境(显卡驱动+CUDA+cuDNN+Pytorch)--[2]安装Anaconda与CUDA-CSDN博客

[超级详细系列]ubuntu22.04配置深度学习环境(显卡驱动+CUDA+cuDNN+Pytorch)--[3]安装cuDNN与Pytorch

        

        下面正式开始本次的介绍(假如朋友你的电脑里有显卡驱动则可以跳过本篇)

1. 查看是否缺少驱动

        首先输入下方的命令,假如也输出了和下图相同的结果,说明缺少显卡驱动,则需要安装显卡驱动。

nvidia-smi
查看是否有显卡驱动

2. 安装显卡驱动

         Franpper在网上查了几种安装驱动的方式,并且都试了一下,在线的两种方式都很简便,但是试了几次都失败了。离线安装虽然麻烦,但是一次就安装成功了。建议大家先试下在线安装,如果不行的话再尝试离线安装。

2.1 在线安装

2.1.1 软件和更新

        点击进入“软件和更新”

        然后进入附加驱动栏,选择一个推荐的驱动版本,然后点击应用更改。

2.1.2 命令行安装

 1) 添加驱动源

sudo add-apt-repository ppa:graphics-drivers/ppa

2) 更新软件源

sudo apt-get update

3) 安装系统推荐的显卡驱动:

 Franpper选择的是版本535

sudo apt-get install nvidia-driver-535

2.2 离线安装

1) 首先通过下面命令查看电脑的显卡型号

lspci | grep -i nvidia

可以看到本次配置所使用笔记本的显卡型号是1050 Ti。 

显卡型号

2) 根据上面查询到的显卡型号去官网下载显卡驱动程序

官方驱动 | NVIDIA下载适用于 GeForce、TITAN、NVIDIA RTX、数据中心、GRID 等 NVIDIA 产品的新驱动。icon-default.png?t=N7T8https://www.nvidia.cn/Download/index.aspx?lang=cn

         根据自己的配置选择对应的选项,然后点击确定

选择属性

         在弹出的新界面中选择同意并开始下载

        这里有一点需要注意一下,下载到的驱动文件应该保存在一个不含有中文的路径下,避免对以后的安装产生影响。 

3)   禁用Nouveau

        Nouveau是由第三方为NVIDIA显卡开发的一个开源3D驱动,为避免和官方显卡驱动冲突,所以最好禁用掉Nouveau。

        ·执行以下命令,如果什么都不输出表示Nouveau已经禁用,则可以直接跳过此步。

lsmod | grep nouveau
 执行命令,什么都不输出表示Nouveau已经禁用

        禁用前首先备份文件

sudo cp /etc/modprobe.d/blacklist.conf /etc/modprobe.d/blacklist.conf.backup

        ·接下来打开配置文件,输入下面的指令回车后需要输入密码

sudo gedit /etc/modprobe.d/blacklist.conf

         输入密码稍微等一小会儿后会弹出文本编辑器,将以下内容粘贴至文件末尾

blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off

 修改效果如下

 修改完毕后保存并关闭配置文件

 输入以下命令更新配置

sudo update-initramfs –u

输入以下命令重启电脑

sudo reboot

重启后通过lsmod | grep nouveau命令(上面给出过)测试是否成功禁用。

4)进入命令行界面

        安装驱动时要进入命令行界面(按下Ctrl+Alt+F1进入命令行界面,按下Ctrl+Alt+F7返回图形界面),进入命令行界面不好截图,所以Franpper以拍照的形式向大家展示。

        进入命令行界面后首先输入账号密码。

5)关闭图形界面

sudo service lightdm stop

正常情况是输出输出[sudo] franpper(用户名) 后输入密码即可,即如下图所示。

       如果报错,可能是因为还没安装lightdm,推出命令行界执行下方命令安装lightdm。

sudo apt-get install lightdm

6)进入驱动文件所在的路径中

 给驱动文件赋予执行权限,这里大家将驱动文件名称换成自己下载的

chmod  777 NVIDIA-Linux-x86_64-535.146.02.run

 这里Franpper由于粗心,将146写成了164,所以没有执行成功,到第三次才发现错误。

 开始安装,同样把驱动文件名替换为自己的。命令中几个参数的含义如下:

-no-x-check:安装驱动时关闭X服务
-no-nouveau-check:安装驱动时禁用nouveau
-no-opengl-files:只安装驱动文件,不安装OpenGL文件

sudo ./NVIDIA-Linux-x86_64-535.146.02.run -no-x-check -no-nouveau-check -no-opengl-files

        接下来会弹出以下几个选项。

        There appears to already be a driver installed on your system (version: 535.146.02).  As part of installing this driver (version: 535.146.02), the existing driver will be uninstalled.  Are you sure you want to continue?    ->   [Continue Installation]

        由于Franpper之前安过一次驱动,所以它提示我是否要卸载现有版本。如果你之前没有安装过,应该不会i弹出这个选项。这里Franpper选择Continue Installation。

a9f962b07a474b109572da11c45135aa.jpg

         Install NVIDIA's 32-bit compatibility libraries?    ->   [No]

7db4e12199874f4cae14053def8f6322.jpg

 Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later.    ->  [No]

5c24b3803a4e472b88a55a089000e7c6.jpg

        Installation of the NVIDIA Accelerated Graphics Driver for Linux-x86_64 (version535.146.02) is now complete.     ->   [ok]

c9cabab4de6e4a0480f7b84446b0d43f.jpg

 到此位置整个安装过程已经完成了。现在退出命令行界面测试一下 👇

大功告成,打完收工!

(希望关注下公众号哦👇)

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐