动手学深度学习 2 Prerequisite
Prerequisite
1. 环境配置
环境配置主要包括:
- 安装miniconda,创建虚拟环境 gluon
- 在该环境中安装 mxnet, d2lzh, jupyter, matplotlib, pandas
1.1 安装 miniconda,创建虚拟环境
直接在 miniconda 官网下载安装即可,安装时需要添加系统环境变量。
创建虚拟环境 gluon
# 创建虚拟环境
conda create -n gluon python=3.6
# 激活虚拟环境
conda activate gluon
1.2 安装相关包
在官网下载的课程材料压缩包中有environment.yml文件,里面有依赖的包和版本号,使用文本编辑器打开后查看,再用conda安装。
pip install mxnet
pip install d2lzh==0.8.11
pip install jupyter==1.0.0
pip install matplotlib==2.2.2
pip install pandas==0.23.4
然后环境就搭建完毕了。
1.3 问题
在课程材料中有代码如下
conda env create -f environment.yml
yaml 语言(或者说是一种规范吧)可以编写 .yml 文件,和 json 一样是配置文件。但是运行时报错了,只能一个一个包单独安装。
该书的论坛中有详细的环境安装说明
2. 数据操作
NDArray是MXNet中储存和变换数据的主要工具,类似于NumPy,创建、运算、索引操作和Numpy相同。
与 NumPy 之间的互换
from mxnet import nd
import numpy as np
P = np.ones((2, 3))
D = nd.array(P) # NumPy 转换成 NDArray
D.asnumpy() # NDArray 转换成 Numpy
3. 自动求梯度
from mxnet import nd, autograd
x = nd.arange(4).reshape((4,1))
x.attach_grad() # 申请记录梯度的内存
with autograd.record(): # 调用 record() 函数记录相关计算
y = 2 * nd.dot(x.T, x)
y.backward() # 计算梯度
x.grad # 计算得出的梯度
总结:
-
autograd模块可自动化求导过程 -
autograd模块可以对一般的命令式函数进行求导 -
MXNet的运行模式包括训练模式和预测模式。我们可以通过
autograd.is_training()来判断运行模式。在不同的模式下得到的结果可能不一样。

浙公网安备 33010602011771号