《动手学深度学习》
Table Of Contents
《动手学深度学习》
Table Of Contents

获取和运行本书代码

本节将介绍如何获取本书代码和安装运行所需软件。虽然跳过本节不会影响后面的阅读,但我们还是强烈建议你按照下面的步骤来动手操作一遍。本书大部分章节的练习都涉及改动代码并观察运行结果。因此,本节是完成这些练习的基础。

获取代码并安装运行环境

本书的内容和代码均可在网上免费获取。我们推荐使用 Conda 来安装运行代码的依赖软件。Conda 是一个流行的 Python 包管理软件。Windows 和 Linux/macOS 用户请分别参照以下对应内容。

Windows 用户

第一次运行需要完整完成下面五个步骤。如果是再次运行,可以忽略掉前面三步的下载和安装,直接跳转到第四和第五步。

第一步:根据操作系统下载并安装 Miniconda(网址:https://conda.io/miniconda.html ),在安装过程中需要勾选“Add Anaconda to my PATH environment variable”选项。

第二步:下载包含本书全部代码的压缩包。我们可以在浏览器的地址栏中输入以下地址并按回车键进行下载:

下载完成后,创建文件夹“d2l-zh”并将以上压缩包解压到这个文件夹。在该目录文件资源管理器的地址栏输入cmd进入命令行模式。

第三步:使用 Conda 创建并激活环境。Conda 默认使用国外站点来下载软件,以下可选项配置使用国内镜像加速下载:

# 使用清华 conda 镜像。
conda config --prepend channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

# 或者选用科大 conda 镜像。
conda config --prepend channels http://mirrors.ustc.edu.cn/anaconda/pkgs/free/

接下来使用 conda 创建虚拟环境并安装本书需要的软件。这里environment.yml是放置在代码压缩包中的文件,它指定了执行本书代码所需要的软件。

conda env create -f environment.yml

第四步:激活之前创建的环境。

activate gluon

第五步:打开 Juputer 记事本。

jupyter notebook

这时在浏览器打开 http://localhost:8888 (通常会自动打开)就可以查看和运行本书中每一节的代码了。

本书中若干章节的代码会自动下载数据集和预训练模型,并默认使用美国站点下载。我们可以在运行 Jupyter 前指定 MXNet 使用国内站点下载书中的数据和模型。

set MXNET_GLUON_REPO=https://apache-mxnet.s3.cn-north-1.amazonaws.com.cn/ jupyter notebook

Linux/macOS 用户

第一步:根据操作系统下载 Miniconda(网址:https://conda.io/miniconda.html ),它是一个 sh 文件。打开 Terminal 应用进入命令行来执行这个 sh 文件,例如

sh Miniconda3-latest-Linux-x86_64.sh

安装时会显示使用条款,按“↓”继续阅读,按“Q”退出阅读。之后需要回答下面几个问题:

Do you accept the license terms? [yes|no]
[no] >>> yes
Do you wish the installer to prepend the Miniconda3 install location
to PATH in your /home/your_name/.conda ? [yes|no]
[no] >>> yes

安装完成后,我们需要让 Conda 生效。Linux 用户需要运行一次source ~/.bashrc或重启命令行应用;macOS 用户需要运行一次source ~/.bash_profile或重启命令行应用。

第二步:下载包含本书全部代码的压缩包,解压后进入文件夹。运行以下命令。

mkdir d2l-zh && cd d2l-zh
curl https://zh.diveintodeeplearning.org/d2l-zh-1.0.zip -o d2l-zh.zip
unzip d2l-zh.zip && rm d2l-zh.zip

第三至五步请参考前面 Windows 下的安装步骤。其中第四步需将命令替换为

source activate gluon

更新代码和运行环境

为了适应深度学习和 MXNet 的快速发展,本书的开源内容将定期发布新版本。我们推荐大家定期更新本书的开源内容(例如代码)和相应的运行环境(例如新版 MXNet)。以下是更新的具体步骤。

第一步,重新下载最新的包含本书全部代码的压缩包。下载地址:

解压后进入文件夹“d2l-zh”。

第二步,使用下面命令更新运行环境。

conda env update -f environment.yml

之后的激活环境和运行 Jupyter 步骤跟本节前面介绍的一致。

使用 GPU 版的 MXNet

通过前面介绍的方式所安装的 MXNet 只支持 CPU 计算。本书中部分章节需要或推荐使用 GPU 来运行。如果你的电脑上有 Nvidia 显卡并安装了 CUDA,建议使用 GPU 版的 MXNet。

第一步:卸载 CPU 版本 MXNet。如果你没有安装虚拟环境,可以跳过此步。如已安装虚拟环境,需要先激活运行环境,再卸载 CPU 版本的 MXNet:

pip uninstall mxnet

然后退出虚拟环境,Windows 用户使用命令deactivate,Linux/macOS 用户则使用source deactivate

第二步:更新依赖为 GPU 版本的 MXNet。使用文本编辑器打开本书代码所在根目录下的文件environment.yml,将里面的“mxnet”替换成对应的 GPU 版本。例如,如果电脑上装的是 8.0 版本的 CUDA,将该文件中的字符串“mxnet”改为“mxnet-cu80”。如果电脑上安装了其他版本的 CUDA(比如 7.5、9.0、9.2 等),对该文件中的字符串“mxnet”做类似修改(比如改为“mxnet-cu75”、“mxnet-cu90”、“mxnet-cu92”等)。保存文件后退出。

第三步:更新虚拟环境,执行命令

conda env update -f environment.yml

之后,我们只需要再激活安装环境就可以使用 GPU 版的 MXNet 运行书中代码了。需要提醒的是,如果你之后下载了新的代码,那么还需要重复这三步操作以使用 GPU 版的 MXNet。

小结

  • 为了能够动手学深度学习,我们需要获取本书代码并安装运行环境。
  • 我们建议大家定期更新代码和运行环境。

练习

  • 获取本书代码并安装运行环境。如果你在安装时遇到任何问题,请扫一扫本节二维码。在讨论区,你可以查阅疑难问题汇总或者提问。

扫码直达讨论区

image0