如何使用 Nvidia 显卡 (CUDA) 为机器学习/深度学习设置 Windows 机器

发布时间 2023-05-31 07:31:03作者: 晓风晓浪

如果您正在学习机器学习/深度学习,您可能正在使用免费的Google Colab。但是您可能想知道免费版本是否足够。

如果您买得起优质的 Nvidia 显卡(具有相当数量的 CUDA 内核),那么您可以轻松地使用您的显卡来完成此类密集型工作。

许多开发人员为此使用 Linux。但是,我不喜欢 Linux 作为桌面操作系统(不要生气,因为这是我个人的喜好。是的,Linux 是与服务器相关的东西的最佳选择)。

此外,如果您拥有最新的 Nvidia GPU,那么您可能已经熟悉有关图形驱动程序等的麻烦。

出于所有这些原因,我正在考虑尝试一些不同的东西:利用新的 Windows 11 操作系统来使用我的显卡的 CUDA 内核。

看了很多视频,但是尝试了很多次都无法实现,很遗憾。最新版本的 PyTorch 与 CUDA 中的 Windows 11 内核存在一些差距。尽管如此,经过大量研究后,我发现 WSL2 应该可以正常工作。

经过几天的尝试,我已经成功地设置了所有必要的东西,并且可以在我的 Windows 机器上使用我的显卡的 CUDA 内核!有趣的是,在这个过程中,你不需要下载或使用 Microsoft Visual Studio 2022 和下载巨大的 30/35GB 文件只是为了安装推荐的编译器等。

https://www.java567.com,搜"人工智能")

我的电脑规格

对于本指南,我使用了我的桌面工作站。如果您也对我用于此任务的当前规范感兴趣,请看这里:

  • 处理器:Ryzen 5 3500X 6核6线程

  • 内存:32GB DDR4 3200MHz(16GB + 8GB + 8GB)

  • GPU:索泰 Nvidia GeForce RTX 3050 8GB GDDR6

  • 主板:技嘉B450M Aorus Elite

  • 存储:技嘉 240GB SATA SSD

  • 显示器:MSI Optix G24 Gaming Curved 75Hz

我将使用 Windows 11 Pro(版本 22H2)和 WSL2(当然!)。

第 1 步:确保您拥有可靠的互联网和电力

这整个过程可能会花费很多时间。因此,请确保您已正确连接到互联网并且有稳定的电力。对我来说,总共花了将近7个小时。您还需要下载一些相当大的包。

另外,从Nvidia官网下载官方驱动后,请确保您已经安装了最新的Nvidia驱动。确保您已安装 Windows 11 的所有更新。

win_updateWindows更新

第 2步:下载最新的 PowerShell

我将使用最新的 PowerShell。你可以从微软商店下载,但我会从官方网站下载它,因为商店以后可能会产生一些问题。

去官方网站。这通常会将您重定向到当时可用的最新版本的 PowerShell。对我来说,最新版本是 7.3(2023 年 5 月 24 日)。对您来说,它可能是更新版本。别担心。只需下载最新的稳定版本。

  1. 单击“下载 PowerShell”按钮。

1-1下载 Powershell 按钮

2.找到最新的PowerShell win-x64.msi。下载那个。

2-3最新的 PowerShell msi 文件

\3. 安装过程非常简单。但我会在整个过程中指导你。双击下载的文件。然后点击Next

3-2微星软件

\4. 保持原样,点击Next

4-3下一步

\5. 我还是喜欢保持原样,然后单击Next

5-4下一步

\6. 我还是喜欢保持原样,然后单击Next

6-1下一步

\7. 点击Install

7-2安装

\8. 现在点击Finish

8-3结束

第 3 步:检查您的 Windows 终端

我真的很喜欢 Windows 终端,因为我可以随时切换到任何其他 WSL 操作系统(Ubuntu、Kali、Git Bash 等)。但在继续之前,我必须确保我当前的 Windows 终端是更新的终端。

  1. 打开Microsoft Store并搜索Windows Terminal.

9-2Microsoft Store 上的 Windows 终端

\2. 单击Update是否需要更新。

\3. 确保您已经在最新更新的 Windows 终端上。

\4. 现在打开 Windows 终端,因为我们必须先更改一些设置。点击Open Settings

10-2Windows 终端设置自定义

\5. 如果您没有看到Open Settings提示,只需单击下拉箭头,然后单击Settings

11-2设置

\6. 在 中Startup,确保默认配置文件已设置PowerShell(我们在第 2 步中安装的新 PowerShell)。应Default terminal application设置为Windows Terminal

12-1默认启动配置

\7. 然后点击Save退出终端。

13-2节省

第 4 步:硬件虚拟化

为了使用 WSL,我们必须确保我们的 CPU 虚拟化已启用。您可以通过任务管理器检查状态。如果它被禁用,则确保通过 BIOS 启用虚拟化。

14-2虚拟化

第 5 步:安装 WSL 和 Ubuntu LTS

现在我们需要安装 WSL2 和 Ubuntu LTS。

  1. 以管理员身份打开 Windows 终端。

15-2以管理员身份打开终端

\2. 要安装WSL,请使用命令wsl --install

16-3VMP安装

\3. 然后,它会自动安装最新的 LTS 版本的 Ubuntu。

18-2Ubuntu安装

\4. 任务完成后,会提示您重启电脑。保存其他工作并重新启动计算机。

19-3重启电脑

\5. 重启 PC 后,它会自动打开终端并询问您 Linux 操作系统的用户名和密码。

20-1重启电脑后

\6. 提供用户名和密码。确保在重新输入密码时使用相同的密码!

21-1用户名和密码

\7. 稍后,它会安装必要的组件。

22-1完整的Ubuntu

\8. 现在,确保WSL2成为此终端中的默认 WSL。应用命令,wsl --set-default-version 2

23-1WSL 2 默认

\9. 如果要检查 WSL 操作系统状态(有多少操作系统可用,有多少正在运行或停止),请使用命令wsl --list --verbose

24-1操作系统状态

在这里,它告诉我在我的 WSL 版本 2 上安装了Ubuntu,它目前已停止。

\10. 但是,在 WSL 操作系统上工作后,如果要关闭操作系统,则可以使用命令wsl -t distro_name。对我来说,它是 Ubuntu,所以我使用wsl -t Ubuntu. t代表这里的终止命令。

25-2终止命令

\11. 如果你在 WSL 中有多个操作系统,并且你想运行任何特定的发行版,那么使用命令wsl --distribution distribution_name。例如,如果我想专门运行 Ubuntu,命令将是wsl --distribution Ubuntu. 如果你只有一个发行版,那么你根本不需要担心这个。

26-1运行特定发行版

12.您可以简单地使用exit从终端退出发行版。它不一定会关闭分发。您可以专门为此使用终止命令。但是这里有一些常用的命令。

27-1经常使用的命令

\13. 安装发行版后,您还可以使用 Windows 终端的下拉菜单查看和访问该发行版。

28-1其他发行版的下拉菜单

第 6 步:配置 Ubuntu LTS

我们现在需要更新和安装一些应用程序。

  1. 使用 Windows 终端内的任何方法打开 Ubuntu。您显然可以使用专用的Ubuntu 应用程序。但我总是更喜欢终端,因为我可以在这里一起使用多个不同的发行版和命令行应用程序。

29启动Ubuntu

\2. 使用命令更新系统sudo apt update

30更新

\3. 如果您在更新/升级时遇到错误,说它无法到达服务器,请使用命令更改名称服务器echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

\4. 更新完成后,使用 升级系统sudo apt upgrade

31升级

32升级系统

您可以使用clear命令清除终端。

\5. CUDA与C一起工作,所以我们需要先安装gcc编译器。使用命令sudo apt install gcc --fix-missing

33海合会

34gcc 安装

35完成安装

第 7 步:安装 CUDA

现在是时候从Nvidia 的官方网站安装 CUDA 了。

确保选择以下内容:

  • 操作系统: Linux

  • 架构:x86_64

  • 发行版:WSL-Ubuntu

  • 版本:2.0

  • 安装程序类型:deb(本地)

36英伟达——CUDA

这将提供必要的命令。

37命令 CUDA

现在您的任务是在 WSL Ubuntu 终端中连续应用每个命令。确保使用第一个命令两次。它通常会在以后解决密钥环的问题。

另外,请记住,这些命令稍后可能会更改。所以请始终关注官方网站。对于本指南,我将使用我用来在我的机器中设置 CUDA 的确切命令。

  1. wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin

38第一条命令

完成之前的交易后,我再次使用相同的命令。

\2. wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin

39第一条命令

\3. sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600

40第二个命令

\4. wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb

41第三条命令

这通常会花费很多时间,因为它会下载一个大文件(超过 2GB 的文件大小)。

42大文件

\5. sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb

43第 4 个命令

\6. sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/

44第 5 条命令

\7. 然后使用更新系统sudo apt-get update

45更新系统

46更新

\8. sudo apt-get -y install cuda

47安装CUDA

48岁完成 CUDA 安装

步骤 8:安装后

Nvidia 的官方 CUDA 安装指南告诉我们添加export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}PATH变量。

49小路

我已经cuda-12.1根据我安装的 CUDA 版本更改了 CUDA 版本。确保对更新的 CUDA 版本执行相同的操作。

执行以下操作:

  1. 在 Windows 终端中打开 Ubuntu。

  2. 使用 转到根目录cd ~。然后打开bashrcin nano 使用nano .bashrc

50

\3. 转到文件末尾并复制粘贴路径。对我来说,路径是export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}.

51小路

然后用Ctrl+X关闭。确保使用Y保存在同一个文件中。

\4. 要应用更改,请使用source ~/.bashrc。您可以使用检查路径echo $PATH

52路径检查

第 9 步:Nvidia CUDA 工具包

使用 . 安装 Nvidia Cuda 工具包sudo apt install nvidia-cuda-toolkit

53工具包 1

54工具包 2

您可以使用检查驱动程序和 CUDA 版本nvidia-smi

55smi

另外,请确保使用nvcc -V.

56nvcc

第 9 步:确认 Python 已安装

现在,确保您的系统中安装了 Python 3。您可以使用检查版本python3 --version。如果显示“未找到 python3”或类似内容,请安装 Python。

使用. _ _sudo apt-get install python3-pip

57点安装

第 10 步:安装 PyTorch

要安装 PyTorch,请访问PyTorch 的官方网站。然后确保选择相关部分。之后,它将为您提供一个命令。您必须在 Ubuntu 终端中使用该命令。

对我来说,选择是:

  • PyTorch 构建:稳定 (2.0.1) - 确保始终选择最新的稳定版本

  • 你的操作系统:Linux

  • 包装:点子

  • 语言:Python

  • 计算机平台:CUDA 11.8 - 确保选择最新可用的 CUDA 版本

之后,我得到了命令pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

58PyTorch 命令

我只是在我的 Ubuntu 终端中使用了那个确切的命令。

59PyTorch 命令

它还会下载一个大文件,如果您像我一样有较慢的互联网连接,可能会花费很多时间!

60PyTorch 下载

第 11 步:CUDA 可用性

您可以通过在终端中运行两行 Python 代码来直接检查您的 CUDA 是否已安装。

  • 使用 . 在终端中运行 Python python3

  • 使用import torch.

  • 使用检查 CUDA 可用性torch.cuda.is_available()

如果它返回True,那么你已经成功地在你的系统上完成了 CUDA 的安装!

61是的

第 12 步:Nvidia 开发者设置

您必须启用 Nvidia 开发人员设置才能通过 WSL 使用 CUDA。只需遵循以下过程:

  1. 打开Nvidia 控制面板

62英伟达控制面板

\2. 点击“同意并继续”。

63同意

\3. 在 Nvidia 控制面板中,单击桌面 > 启用开发人员设置。如果“启用开发人员设置”没有任何复选标记,则单击它以启用该功能。

64不是复选标记

65复选标记

4.开发人员部分将可见。单击管理 GPU 性能计数器

66GPU 计数器

\5. 选中“允许所有用户访问 GPU 性能计数器”单选按钮。

67查看

\6. 单击“应用”和“是”以永久批准更改。

68批准更改

\7. 最后,它应该是这样的。

69最终的

\8. 您可以像之前一样再次检查 CUDA 可用性。

70cuda可用性

第 12 步:安装 Jupyter Notebook

我通常更喜欢 Jupyter Notebook。您可以通过多种方式安装它,例如pip install notebook.

71笔记本 1

72笔记本 2

但我更喜欢命令pip install jupyter notebook

73jupyter笔记本

要打开 Jypyter Notebook,您只需jupyter notebook在终端中使用即可。

74笔记本客户端

该笔记本将立即打开,您可以使用给定的 URL 在您的网络浏览器中打开它:

75在浏览器中打开笔记本

第 13 步:运行一些测试

我运行了两个代码来检查我的 CUDA 的性能。

  1. 在笔记本中打开 Python3 脚本。

76打开脚本

\2. 我使用以下代码检查它是使用我的 CPU 还是来自我的 GPU 的 CUDA:

 import torch
 
 if torch.cuda.is_available():
     device = torch.device("cuda")
 else:
     device = torch.device("cpu")
 print("using", device, "device")

77库达

3.为了比较我的CPU和GPU(CUDA)的性能,我使用了下面的代码:

 import time
 
 matrix_size = 32*512
 
 x = torch.randn(matrix_size, matrix_size)
 y = torch.randn(matrix_size, matrix_size)
 
 print("************* CPU SPEED *******************")
 start = time.time()
 result = torch.matmul(x, y)
 print(time.time() - start)
 print("verify device:", result.device)
 
 x_gpu = x.to(device)
 y_gpu = y.to(device)
 torch.cuda.synchronize()
 
 for i in range(3):
     print("************* GPU SPEED *******************")
     start = time.time()
     result_gpu = torch.matmul(x_gpu, y_gpu)
     torch.cuda.synchronize()
     print(time.time() - start)
     print("verify device:", result_gpu.device)

78CPU 与 GPU

第 14 步:删除 CUDA Deb 文件

如果您认为不再需要 CUDA deb 文件,则可以使用以下命令将其删除:

 rm filename

对我来说是这样的:

 rm cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb

它不会从您的系统中删除 CUDA。它只是从您的系统中删除 deb 文件。

79删除 deb

结论

我希望您已经使用 WSL2 在 Windows 11 系统上成功安装了 CUDA。

https://www.java567.com,搜"人工智能")