РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pytoPmMdPr 66 of 95 menu
◀ ▶

Веса модели в PyTorch

У линейного слоя внутри модели есть матрица весов и вектор смещения. Метод 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() weights = list(net.parameters()) total = sum(w.numel() for w in weights) print(total) # выведет 12

Отдельный элемент перебора - один тензор параметров. Выведем форму матрицы весов линейного слоя:

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() weight = list(net.parameters())[0] print(weight.shape) # выведет torch.Size([3, 2])

Соберите модуль с линейным слоем на один вход и 5 выходов. Выведите общее число обучаемых чисел в модуле.

Создайте модуль с линейным слоем 3 на 2. Выведите форму первого тензора из перебора параметров.

Опишите блок с линейным слоем на 2 входа и 4 выхода. Выведите, сколько отдельных тензоров отдаёт перебор параметров модели.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить