【AI】《动手学-深度学习-PyTorch版》笔记(十五):网络中的层、块和参数

AI学习目录汇总

1、什么是块?

在线性模型中,我们关注过单个神经元(单个神经网络的输入和输出);
在多层感知机中,我们关注过整层的神经元(前一层的输出作为后一层的输入);
如果将“多层感知机”视为一整体,称为“块”,可以将前一个块的输出作为后一个块的输入。

块(block)可以描述单个层或多个层组成的组件甚至整个模型本身。

2、nn.Sequential

PyTorch中可以通过nn.Sequential来定义一个块,它将层按照顺序串联起来。
例如,之前定义过的多层感知机:

net = nn.Sequential(nn.Linear(20, 256), nn.ReLU(), nn.Linear(256, 10))

nn.Linear、nn.ReLU都是层,它们被nn.Sequential串起来组成块
nn.Linear、nn.ReLU、nn.Sequential都继承自nn.Module,这样就可以通过递归来组成更复杂的块。

3、自定义块

通过自定义块来了解“块”,“块”需要有以下功能

  • 块中必须有“前向传播函数”。
  • 块的输入数据是前向传播函数的输入参数。
  • 通过前向传播函数来生成输出。

猜你喜欢

转载自blog.csdn.net/u010168781/article/details/132196409
今日推荐