Sequential
-
class torch.nn.Sequential(*args: Module)[исходный код] - classtorch.nn.Sequential(arg:OrderedDict[str,Module])
-
Последовательный контейнер.
Модули добавляются в него в том порядке, в котором они передаются конструктору. В качестве альтернативы можно передать
OrderedDictмодулей. Методforward()классаSequentialпринимает любые входные данные и передаёт их первому содержащемуся в нём модулю. Затем он последовательно передаёт выходные данные каждого модуля на вход следующему и в итоге возвращает выходные данные последнего модуля.Преимущество
Sequentialперед ручным вызовом последовательности модулей заключается в том, что весь контейнер можно использовать как единый модуль, поэтому преобразование, применённое кSequential, распространяется на каждый из хранящихся в нём модулей (каждый из которых зарегистрирован как подмодульSequential).В чём разница между
Sequentialиtorch.nn.ModuleList?ModuleList— это именно то, что следует из названия: список для храненияModules! С другой стороны, слои в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)[исходный код] -
Добавляет указанный модуль в конец.
- Параметры:
-
module (nn.Module) – модуль для добавления
- Тип возвращаемого значения:
-
Self
Пример:
>>> import torch.nn as nn >>> n = nn.Sequential(nn.Linear(1, 2), nn.Linear(2, 3)) >>> n.append(nn.Linear(3, 4)) Sequential( (0): Linear(in_features=1, out_features=2, bias=True) (1): Linear(in_features=2, out_features=3, bias=True) (2): Linear(in_features=3, out_features=4, bias=True) )
-
extend(sequential)[исходный код] -
Расширяет текущий контейнер Sequential слоями из другого контейнера Sequential.
- Параметры:
-
sequential (Sequential) – контейнер Sequential, слои которого будут добавлены в текущий контейнер.
- Тип возвращаемого значения:
-
Self
Пример:
>>> import torch.nn as nn >>> n = nn.Sequential(nn.Linear(1, 2), nn.Linear(2, 3)) >>> other = nn.Sequential(nn.Linear(3, 4), nn.Linear(4, 5)) >>> n.extend(other) # or `n + other` Sequential( (0): Linear(in_features=1, out_features=2, bias=True) (1): Linear(in_features=2, out_features=3, bias=True) (2): Linear(in_features=3, out_features=4, bias=True) (3): Linear(in_features=4, out_features=5, bias=True) )
-
forward(input)[исходный код] -
Выполняет прямой проход.
-
insert(index, module)[исходный код] -
Вставляет модуль в контейнер Sequential по указанному индексу.
- Параметры:
- Тип возвращаемого значения:
-
Self
Пример:
>>> import torch.nn as nn >>> n = nn.Sequential(nn.Linear(1, 2), nn.Linear(2, 3)) >>> n.insert(0, nn.Linear(3, 4)) Sequential( (0): Linear(in_features=3, out_features=4, bias=True) (1): Linear(in_features=1, out_features=2, bias=True) (2): Linear(in_features=2, out_features=3, bias=True) )
-
pop(key)[исходный код] -
Извлекает
keyиз self.- Тип возвращаемого значения:
-
© 2026, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://docs.pytorch.org/docs/2.14/generated/torch.nn.Sequential.html