Shortcuts

顺序

class torch.nn.Sequential(*args: 模块)[源代码]
class torch.nn.Sequential(arg: OrderedDict[str, 模块])

一个顺序容器。

模块将按照它们在构造函数中传递的顺序添加到其中。或者,可以传入一个包含模块的OrderedDictSequentialforward()方法接受任何输入并将其转发到它包含的第一个模块。然后,它将每个后续模块的输出“链”接到输入,最后返回最后一个模块的输出。

与手动调用一系列模块相比,Sequential 提供的优势在于它允许将整个容器视为一个单一模块,从而对 Sequential 进行转换会应用于它存储的每个模块(这些模块都是 Sequential 的注册子模块)。

什么是Sequentialtorch.nn.ModuleList之间的区别?一个ModuleList正是它听起来那样——一个用于存储Module的列表!另一方面, Sequential中的层是以级联方式连接的。

示例:

# 使用 Sequential 创建一个小型模型。当 `model` 运行时,
# 输入将首先传递给 `Conv2d(1,20,5)`。`Conv2d(1,20,5)` 的输出将作为
# 第一个 `ReLU` 的输入;第一个 `ReLU` 的输出将成为
# `Conv2d(20,64,5)` 的输入。最后,`Conv2d(20,64,5)` 的输出将作为
# 第二个 `ReLU` 的输入
model = nn.Sequential(
          nn.Conv2d(1,20,5),
          nn.ReLU(),
          nn.Conv2d(20,64,5),
          nn.ReLU()
        )

# 使用 Sequential 和 OrderedDict。这在功能上与上述代码相同
model = nn.Sequential(OrderedDict([
          ('conv1', nn.Conv2d(1,20,5)),
          ('relu1', nn.ReLU()),
          ('conv2', nn.Conv2d(20,64,5)),
          ('relu2', nn.ReLU())
        ]))
append(module)[源代码]

将给定的模块追加到末尾。

Parameters

模块 (nn.Module) – 要附加的模块

Return type

顺序

优云智算