← Back to Index
Research & Engineering Archive

D2L 3.2 Object-Oriented Design for Implementation

By Jingnan Huang · April 15, 2024 · 568 Words

从零开始实现整个方法, 包括数据流水线、模型、损失函数和小批量随机梯度下降优化器。 虽然现代的深度学习框架几乎可以自动化地进行所有这些工作,但从零开始实现可以确保我们真正知道自己在做什么。

3.2.1 生成数据集
#

3.2.2 读取数据集
#

3.2.3 初始化模型参数
#

w = torch.normal(0, 0.01, size=(2,1), requires_grad=True)
b = torch.zeros(1, requires_grad=True)

3.2.4 定义模型
#

def linreg(X, w, b):  #@save
    """线性回归模型"""
    return torch.matmul(X, w) + b

3.2.5 定义损失函数
#

3.2.6 定义优化算法
#

3.2.7 训练
#