使用Nvidia GPU运行d2l(Dive into Deep Learning)中的深度学习代码

d2l教程中安装的是cpu版本的pytorch,运行某些使用GPU的代码时会报错。下面就说一下如何配置环境来使用GPU来运行某些代码。

  1. 从nvidia官网下载驱动并安装。
    我下载的文件是:582.66-notebook-win10-win11-64bit-international-dch-whql.exe
    安装完,打开命令行输入:nvidia-smi,能显示信息说明驱动安装成功。
  2. 安装miniconda3。
    官网下载最新版本Miniconda3-latest-Windows-x86_64.exe,安装。
  3. 创建env并安装依赖
    打开Anaconda Prompt, 先同意3个terms of service,执行下面3条命令:
    conda tos accept –override-channels –channel https://repo.anaconda.com/pkgs/main
    conda tos accept –override-channels –channel https://repo.anaconda.com/pkgs/r
    conda tos accept –override-channels –channel https://repo.anaconda.com/pkgs/msys2

创建一个新环境:conda create –name d2l python=3.9 -y
激活上面创建的环境:conda activate d2l

d2l教程上安装的torch的版本是1.12.0,torchvision版本是0.13.0。
在pytorch官网https://pytorch.org/get-started/previous-versions/ 我们能找到下面的这行:
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch
我们只需要pytorch和torchvision,不需要torchaudio,所以我们执行:

conda install pytorch==1.12.0 torchvision==0.13.0 cudatoolkit=11.3 -c pytorch
注意:这里我们安装了cudatoolkit,就不需要从nvidia官网下载安装CUDA了。

pip install d2l==0.17.6

  1. 安装vscode
    下载最新版vscode并安装。
    打开vscode,安装python插件。
    ctrl + shift +p ,输入python: select interpreter,选择刚才创建的d2l环境。
    电脑上新建一个目录,作为python工程的目录。
    vscode里打开上面创建的目录。
    新建py文件,粘贴d2l教程里的代码,如6.6小节 卷积神经网络(LeNet)的代码。
  2. 遇到的问题
    运行时遇到以下问题:
    backend = matplotlib.rcParams._get(“backend”)
    AttributeError: ‘RcParams’ object has no attribute ‘_get’

我们在文件最开始加入下面几行就能解决。

import matplotlib
# Patch the missing private method to match the standard public .get method
if not hasattr(matplotlib.rcParams, '_get'):
    matplotlib.rcParams._get = matplotlib.rcParams.get