Ubuntu 配置 NVIDIA GPU环境开展深度神经网络研究

在 Ubuntu 虚拟机 (VM) 上安装和配置 NVIDIA 图形处理单元 (GPU) 可能有点挑战,尤其是对于那些不熟悉此过程的人。但是,只要有一点耐心并采取正确的步骤,您就可以立即启动并运行 NVIDIA GPU。在本文中,我们将介绍在 Ubuntu 机器上为深度学习模型安装和配置 NVIDIA GPU 的过程,涵盖从下载必要的驱动程序到设置 GPU 以供使用的所有内容。

为了安装和配置VM环境以检测您的GPU并使GPU与CUDA工具包一起工作,可以按照以下步骤操作:

第 1 步:检查并卸载现有驱动程序

在为您的 NVIDIA GPU 安装新驱动程序之前,请务必检查您的 Ubuntu 计算机上是否已有现有驱动程序。打开终端窗口并键入以下命令:lspci | grep -i nvidia

此命令将查明 VM 上是否存在任何 NVIDIA 图形设备。如果有任何列出的,请使用以下命令卸载驱动程序和 CUDA:

sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*"
sudo apt-get --purge remove "*nvidia*"

如果您通过源文件安装了 CUDA,请查找它的安装位置(例如 /usr/local)并使用以下命令将其删除:

sudo rm -rf /usr/local/cuda*

然后转到包含对 NVIDIA 存储库的引用的行

sudo vim /etc/apt/sources.list

并将其注释掉

# deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ 

最后,运行:

sudo apt update

第二步:开始安装

由于我们已成功删除 VM 上现有 NVIDIA 和 CUDA 的所有痕迹,让我们继续开始全新安装。要执行的第一个操作是添加个人包存档 (PPA),它允许我们创建自己的存储库来分发软件。因此,我们运行:

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

然后可以使用以下方式安装 NVIDIA 驱动程序:

sudo apt install nvidia-driver-450-server

此时,重要的是要通过检查此兼容性矩阵来了解要安装的正确驱动程序:https://docs.nvidia.com/deploy/cuda-compatibility/index.html

sudo apt install nvidia-cuda-toolkit

但是,因为我们对特定版本(11.3)感兴趣,所以有必要去NVIDIA 开发者页面下载正确的 CUDA 版本。

在该页面上,可以注意到只需单击提供的按钮即可引导您找到正确的OS Architecture、Distribution、Version,更重要的是您感兴趣的 CUDA安装程序类型。可以选择任何安装程序类型,但是,我们将只选择runfile(本地) 文件以使安装更容易。

因此,对于此设置,我们使用此链接,它将为 Ubuntu 20.04 机器找到 CUDA 版本 11.3:

image.png

对于我们的任务,我们选择它是nvidia-driver-450因为它是兼容的。接下来,我们将安装 CUDA,这通常可以使用以下方法完成:
我们需要按照安装说明进行一些修改,即运行:

wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run

sudo sh cuda_11.3.0_465.19.01_linux.run --toolkit --silent --override

这些标志--toolkit --silent --override将确保只安装属于 CUDA 而不是 NVIDIA 的包。没有标志,您可能会收到此错误:

image.png

现在安装已完成,可以重新启动服务器sudo reboot以正确设置所有配置。

为了确认这一点,可以运行这两个命令nvidia-smi分别nvcc --version验证 GPU 驱动程序和 CUDA 版本。

如果不重新启动计算机,您可能会收到以下错误nvidia-smi:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.

此外,incasenvcc --version不断抛出错误,您可能需要将 CUDA 路径添加到bashrc

首先,打开bashrc

sudo nano /home/ $USER /.bashrc

在里面添加以下内容:

export PATH="/usr/local/cuda-11.3/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.3/lib64:$LD_LIBRARY_PATH"

最后,运行source .bashrc并打开一个新终端再次测试nvcc --version。

我们返回了以下信息:

image.png

第 3 步:为 DNN 安装 Torch 驱动程序

Torch 是用于构建深度神经网络的主要库之一,关于如何使用它有多种资源。

需要执行的最后一组配置是安装torch torchvision和torchaudio(如果需要)。

这可以通过简单地运行来执行:

pip3 install torch==1.11.0+cu113 torchvision==0.12.0+cu113 torchaudio==0.11.0 --extra
-index-url https://download.pytorch.org/whl/cu113

这将安装使用 CUDA 构建的torch版本和具有类似 CUDA 版本的版本和1.11.011.3torchvision0.12torchaudio

假设需要不同的版本,您可以在此处torch检查 CUDA 和 Torch 兼容性并选择合适的版本。

最后我们来做个测试看看我们的安装是否成功。我们将尝试下面的代码:

import torch 
from torch import nn

class BuildSimpleNet(nn.Module):
    def __init__(self):        
        super().__init__()        
        self.l1 = nn.Linear(1,2)

    def forward(self, x):                      
        x = self.l1(x)
        return x


if __name__ == "__main__":
    print(torch.cuda.is_available()) 
    print(torch.cuda.device_count()) 
    print(torch.cuda.current_device())  
    print(torch.cuda.get_device_name(0)) 

    device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")
    model = BuildSimpleNet()
    model.to(device) 
    print(next(model.parameters()).is_cuda)

以下是输出:

True
1
0
Tesla V100-SXM2-16GB
True

总结

总之,本文展示了有关如何安装 NVIDIA GPU 驱动程序、CUDA 和 Torch 以训练深度学习模型的分步指南。此外,还执行了一个简单的测试,以确保整个安装已成功执行。在后续文章中,我们将展示如何设置 NVIDIA GPU 以与主要用于推理的 Docker 顺畅协作。

还有 0% 的精彩内容
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
支付 ¥9.90 继续阅读
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容