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

Пакет цепочек в PyTorch

Обучение удобнее вести сразу на нескольких примерах одинаковой длины. Тензор тогда устроен так: сначала пакет, потом длина цепочки, потом размер вектора на шаге.

Чтобы слой принимал такой порядок осей, при создании включают соответствующий флаг. Создадим слой памяти, подадим пакет из двух цепочек по пять шагов и выведем форму выхода:

import torch import torch.nn as nn layer = nn.LSTM(input_size=8, hidden_size=16, batch_first=True) batch = torch.randn(2, 5, 8) output, _ = layer(batch) print(output.shape) # выведет torch.Size([2, 5, 16])

Размер пакета и длина на выходе совпадают с входом. Меняется только последняя ось - там размер скрытого слоя.

import torch import torch.nn as nn layer = nn.GRU(6, 12, batch_first=True) batch = torch.randn(3, 4, 6) output, _ = layer(batch) print(output.shape) # выведет torch.Size([3, 4, 12])

Соберите рекуррентный блок с входом 5 и внутренним размером 7 так, чтобы первая ось была пакетом. Подайте 4 цепочки по 6 шагов и выведите форму результата.

Возьмите короткий рекуррентный слой с 8 на входе и 4 внутри. Пропустите пакет 2 на 9 на 8 и выведите форму выходной последовательности.

Опишите блок памяти с вектором 3 и скрытым размером 10 для пакетного порядка осей. Подайте 5 примеров по 3 шага и выведите форму тензора на выходе.

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