Containers-Sequential

CLASS torch.nn.Sequential(*args: Module)

CLASS torch.nn.Sequential(arg: OrderedDict[str, Module])

顺序容器。模块将按照在构造函数中传递的顺序添加到其中,或者,OrderedDict 可以传入其中。Sequential 的 forward() 方法接受任何输入并将其传递到包含的第一个模块,然后链式输出到下一个模块作为输入,最后在最终的模块上输出。

Sequential 在手动调用模块序列时提供的价值是,允许将整个容器视为单个模块,从而允许执行转换时应用于它所处处的每个模块。

Sequential 和 torch.nn.ModuleList 之间的区别是, ModuleList 正如名字一样是一个 Module’s 列表,而 Sequential 中的层是级联方式连接,有先后顺序。

import torch.nn as nn 
from collections import OrderedDict

# 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)

将给定模块添加到列表末尾

参数

module (nn.Module):

需要添加的模块

返回 Sequential

Lnton羚通专注于音视频算法、算力、云平台的高科技人工智能企业。 公司基于视频分析技术、视频智能传输技术、远程监测技术以及智能语音融合技术等, 拥有多款可支持ONVIF、RTSP、GB/T28181等多协议、多路数的音视频智能分析服务器/云平台。

Lnton羚通视频算法算力云平台PyTorch教程:torch.nn.Sequential_2d