快捷方式

Sequential

class torch.nn.Sequential(*args: Module)[source][source]
class torch.nn.Sequential(arg: OrderedDict[str, Module])

一个 Sequential 容器。

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

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

Sequentialtorch.nn.ModuleList 有什么区别?ModuleList 正如其名——一个用于存储 Module 的列表!另一方面,Sequential 中的层是级联连接的。

示例

# Using Sequential to create a small model. When `model` is run,
# input will first be passed to `Conv2d(1,20,5)`. The output of
# `Conv2d(1,20,5)` will be used as the input to the first
# `ReLU`; the output of the first `ReLU` will become the input
# for `Conv2d(20,64,5)`. Finally, the output of
# `Conv2d(20,64,5)` will be used as input to the second `ReLU`
model = nn.Sequential(
          nn.Conv2d(1,20,5),
          nn.ReLU(),
          nn.Conv2d(20,64,5),
          nn.ReLU()
        )

# Using Sequential with OrderedDict. This is functionally the
# same as the above code
model = nn.Sequential(OrderedDict([
          ('conv1', nn.Conv2d(1,20,5)),
          ('relu1', nn.ReLU()),
          ('conv2', nn.Conv2d(20,64,5)),
          ('relu2', nn.ReLU())
        ]))
append(module)[source][source]

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

参数

module (nn.Module) – 要添加的模块

返回类型

Sequential

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源