Метод append
Метод append класса Sequential добавляет новый слой или модуль в конец последовательной модели. Принимает один параметр - добавляемый модуль. Возвращает None, модифицируя оригинальный объект.
Синтаксис
sequential.append(module)
Пример
Давайте создадим пустую модель и добавим в неё линейный слой с помощью метода append:
import torch
import torch.nn as nn
model = nn.Sequential()
model.append(nn.Linear(10, 20))
model.append(nn.ReLU())
print(model)
Результат выполнения кода:
Sequential(
(0): Linear(in_features=10, out_features=20, bias=True)
(1): ReLU()
)
Пример
Создадим модель с несколькими слоями и добавим новый слой после создания:
import torch
import torch.nn as nn
model = nn.Sequential(
nn.Linear(5, 10),
nn.ReLU()
)
model.append(nn.Linear(10, 1))
print(model)
Результат выполнения кода:
Sequential(
(0): Linear(in_features=5, out_features=10, bias=True)
(1): ReLU()
(2): Linear(in_features=10, out_features=1, bias=True)
)
Пример
Добавим в модель пользовательский модуль с помощью append:
import torch
import torch.nn as nn
class MyLayer(nn.Module):
def forward(self, x):
return x * 2
model = nn.Sequential(
nn.Linear(3, 5),
nn.ReLU()
)
model.append(MyLayer())
print(model)
Результат выполнения кода:
Sequential(
(0): Linear(in_features=3, out_features=5, bias=True)
(1): ReLU()
(2): MyLayer()
)
Смотрите также
-
метод
insert,
который добавляет слой на указанную позицию -
метод
extend,
который добавляет несколько слоёв в конец модели -
метод
pop,
который удаляет последний слой из модели -
класс
Sequential,
который представляет последовательный контейнер