从框架到实战:PyTorch 第一课
约 10 分钟
为什么学框架
前面的课你懂了原理,但手写反向传播、矩阵运算太痛苦。框架把这些都包好了:《动手学深度学习》主要用 PyTorch——业界和学界最流行的框架,Meta 出品,语法接近普通 Python,出错信息友好,非常适合入门。
核心概念只有一个:张量
张量(tensor)就是「多维数组」:一个数是 0 维,一行数是 1 维,一张灰度图是 2 维,一批彩色图是 4 维。PyTorch 的一切计算都在张量上。看看这五行代码——它就是一个神经元的前向计算:
import torch
x = torch.tensor([1.0, 2.0, 3.0])
w = torch.tensor([0.5, -1.0, 2.0])
y = (x * w).sum() + 1
print(y)
逐元素相乘再求和加偏置,输出 4.5——正是第一节讲的 。更妙的是,只要给张量声明需要梯度,PyTorch 的自动微分(autograd)会替你完成反向传播。
下一步:打开原书
环境装好后,直接打开 zh.d2l.ai,从「预备知识」的自动微分一节热身,然后进入第 3 章「线性神经网络」——那是你亲手训练的第一个模型。
常见误区
不要先背 API 手册:跟着 d2l 边跑边查才是正路;也别怕报错,报错信息是框架在教你。
练一练:装好 PyTorch,把上面五行代码跑通,再把 w 改成自己设计的三个数,观察 y 怎么变。
小纸条
安装 PyTorch,运行本讲的五行代码,修改 w 的值观察输出变化。
登录 后可看答案