Последовательная структура
-
class torch.nn.Sequential(*args: Module)[source] - classtorch.nn.Sequential(arg:OrderedDict[str,Module])
-
Последовательная контейнерная структура. Модули будут добавлены в неё в порядке их указания в конструкторе. В качестве альтернативы можно передать
OrderedDictмодулей. Методforward()структурыSequentialпринимает любой входной параметр и передает его первому модулю. Затем он последовательно «цепляет» выходные данные к входным для каждого последующего модуля, в итоге возвращая выход последнего модуля.Преимущество использования этой структуры перед ручным вызовом последовательности модулей заключается в том, что она позволяет рассматривать весь контейнер как единый модуль, и применение преобразований к
Sequentialзатрагивает каждый из модулей, которые она хранит (при этом каждый модуль является зарегистрированным подмодулемSequential).В чём разница между
Sequentialиtorch.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] -
Добавляет указанный модуль в конец.
- Параметры:
-
module (nn.Module) – модуль для добавления
- Тип возвращаемого значения:
-
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.nn.Sequential.html