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

Метод append

Метод append класса ModuleList предназначен для добавления нового модуля (например, линейного слоя или активации) в конец списка. При использовании этого метода переданный модуль автоматически регистрируется в системе параметров PyTorch, что позволяет оптимизатору отслеживать его веса. В качестве единственного параметра метод принимает экземпляр класса nn.Module. Метод изменяет исходный список и не возвращает никакого значения.

Синтаксис

module_list.append(module)

Пример

Давайте создадим пустой список модулей и добавим в него один линейный слой:

import torch import torch.nn as nn layers = nn.ModuleList() layers.append(nn.Linear(10, 5)) print(layers)

Результат выполнения кода:

ModuleList( (0): Linear(in_features=10, out_features=5, bias=True) )

Пример

Теперь добавим несколько модулей подряд и проверим их количество:

import torch import torch.nn as nn model = nn.ModuleList() model.append(nn.Linear(20, 10)) model.append(nn.ReLU()) model.append(nn.Linear(10, 1)) print(len(model))

Результат выполнения кода:

3

Пример

Покажем, что параметры добавленного модуля отслеживаются оптимизатором. Создадим список, добавим слой и проверим наличие параметров:

import torch import torch.nn as nn layers = nn.ModuleList() layers.append(nn.Linear(3, 2)) for param in layers.parameters(): print(param.shape)

Результат выполнения кода:

torch.Size([2, 3]) torch.Size([2])

Смотрите также

  • класс ModuleList,
    который представляет контейнер для последовательного хранения модулей
  • метод extend,
    который добавляет несколько модулей в конец списка
  • метод insert,
    который вставляет модуль в список по указанному индексу
  • класс ModuleList,
    который автоматически регистрирует все добавленные подмодули
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить