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,这样就可以通过递归来组成更复杂的块。文章来源:https://uudwc.com/A/kADDk
3、自定义块
通过自定义块来了解“块”,“块”需要有以下功能文章来源地址https://uudwc.com/A/kADDk
- 块中必须有“前向传播函数”。
- 块的输入数据是前向传播函数的输入参数。
- 通过前向传播函数来生成输出。