Линейный слой в PyTorch
Чтобы преобразовать таблицу чисел
с одной шириной в таблицу другой
ширины, используют класс
Linear. При создании задают
число входов и число выходов;
веса и смещения библиотека
заполняет сама.
Создадим слой с тремя входами и двумя выходами, подадим таблицу из двух строк по три числа и выведем форму результата:
import torch
import torch.nn as nn
layer = nn.Linear(3, 2)
x = torch.tensor([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
y = layer(x)
print(y.shape) # выведет torch.Size([2, 2])
Каждая строка входа обрабатывается отдельно: ширина строки должна совпадать с числом входов слоя. Число строк в результате совпадает с числом строк на входе, а ширина равна числу выходов.
Соберите преобразование с
4 входами и 2 выходами.
Подайте таблицу из одной строки
[1.0, 0.0, 2.0, 3.0]
и выведите форму ответа.
Соберите преобразование с
3 входами и 5 выходами.
Подайте таблицу из трёх строк
по три числа и выведите форму
ответа.
Соберите преобразование с
2 входами и 1 выходом.
Подайте таблицу из двух строк
[0.5, 1.5] и [2.0, 3.0]
и выведите форму ответа.