Имена параметров в PyTorch
Строковое имя помогает отличить
матрицу весов от смещения
в одном модуле. Метод
named_parameters
отдаёт пары: имя и сам тензор.
Создадим простую сеть и выведем
имя с формой одного параметра:
import torch
import torch.nn as nn
class TinyNet(nn.Module):
def __init__(self):
super().__init__()
self.layer = nn.Linear(2, 3)
def forward(self, x):
return self.layer(x)
net = TinyNet()
for name, param in net.named_parameters():
print(name, param.shape)
break
# выведет layer.weight torch.Size([3, 2])
Соберите модуль с линейным слоем
4 на 2. Выведите
строковую метку и форму
первого тензора из перебора
с именами.
Опишите блок с линейным
преобразованием 1 на 3.
Пройдите перебор с именами
и выведите метку второго
тензора в списке пар.
Создайте сеть с линейным слоем
2 на 5. Выведите
число пар имя-тензор,
которые отдаёт такой перебор.