当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch Sequential用法及代码示例


本文简要介绍python语言中 torch.nn.Sequential 的用法。

用法:

class torch.nn.Sequential(*args)

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

与手动调用一系列模块相比,Sequential 提供的值在于,它允许将整个容器视为单个模块,这样对 Sequential 执行的转换适用于它存储的每个模块(每个模块都是一个模块)。 Sequential 的注册子模块)。

Sequential torch.nn.ModuleList 有什么区别? ModuleList 正是它听起来的 like-a 列表,用于存储 Module s!另一方面,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())
        ]))

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.nn.Sequential。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。