D2L-27-Computation-层和块
# 深度学习计算: 使用层 和块
2022-02-19
Tags: #DeepLearning #Computation #PyTorch
- 这一章主要介绍框架的使用细节, 最好的方法就是结合代码示例, 边运行边理解. 这里我们记录一些容易忽略的要点.
# 层和块: 定义
“层"具有三个特征:
- 接受一组输入,
- 生成相应的输出,
- 由一组可调整参数描述。
事实证明,研究讨论“比单个层大”但“比整个模型小”的组件更有价值。 例如,在计算机视觉中广泛流行的ResNet-152架构就有数百层, 这些层是由 层组(groups of layers)的重复模式组成。
为了实现这些复杂的网络,我们引入了神经网络 块 的概念。 块(block)可以描述单个层、由多个层组成的组件或整个模型本身。
# 层和块: 实现
- 从编程的角度来看,块由 类 (class)表示。
- 它的任何子类都必须定义一个将其输入转换为输出的前向传播函数
forward()
, 并且必须存储任何必需的参数。 - 反向传播与自动求导通常由框架自动完成.
- 它的任何子类都必须定义一个将其输入转换为输出的前向传播函数