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

Устройство модели в PyTorch

Данные линейного слоя должны лежать на том же устройстве, что и вход. Метод to переносит модуль целиком. Устройство задают объектом device со строкой процессора:

import torch import torch.nn as nn cpu = torch.device('cpu') print(cpu) # выведет cpu

Создадим блок, перенесём его на это устройство и прочитаем место хранения веса:

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() cpu = torch.device('cpu') net = net.to(cpu) weight = next(net.parameters()) print(weight.device) # выведет cpu

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

Опишите класс с линейным слоем на три входа и один выход. Задайте устройство со строкой процессора, перенесите на него объект модели и выведите устройство любого параметра блока.

Соберите модуль с линейным слоем 4 на 4. После переноса на процессор выведите метку устройства у матрицы весов слоя.

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