Цепочка слоёв в PyTorch
Класс Sequential хранит
несколько модулей по порядку.
Данные проходят первый блок,
затем второй и так далее.
Вызов объекта цепочки работает
как у обычной функции над тензором.
Соберём цепочку: преобразование с четырьмя входами и тремя выходами, затем обнуление отрицательных ячеек, затем преобразование с тремя входами и двумя выходами. Подадим одну строку из четырёх чисел и выведем форму ответа:
import torch
import torch.nn as nn
model = nn.Sequential(
nn.Linear(4, 3),
nn.ReLU(),
nn.Linear(3, 2),
)
x = torch.tensor([[1.0, 2.0, 3.0, 4.0]])
y = model(x)
print(y.shape) # выведет torch.Size([1, 2])
Соберите цепочку из трёх блоков:
преобразование 2 входов
в 4, обнуление отрицательных
ячеек, преобразование 4
входов в 1.
Подайте таблицу [[0.5, 1.0]]
и выведите форму ответа.
Соберите цепочку: преобразование
3 входов в 3,
обнуление отрицательных,
преобразование 3 входов
в 2.
Подайте две строки по три числа
и выведите форму ответа.
Соберите цепочку из преобразования
5 входов в 2,
обнуления отрицательных
и преобразования 2 входов
в 2.
Подайте одну строку из пяти
единиц и выведите форму ответа.