Есть ли способ использовать список индексов для одновременного доступа к модулям nn.ModuleList в Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли способ использовать список индексов для одновременного доступа к модулям nn.ModuleList в Python?

Сообщение Anonymous »

Есть ли способ использовать список индексов для одновременного доступа к модулям

Код: Выделить всё

nn.ModuleList
в Python?
Я работаю с pytorch ModuleList, как описано ниже,

Код: Выделить всё

decision_modules = nn.ModuleList([nn.Linear(768, 768) for i in range(10)])
Наши входные данные имеют форму x = torch.rand (32,768) . Здесь 32 - размер пакета, а 768 - размер функции.
Теперь для каждой точки входных данных в Minibatch 32 datapoints, мы Хотите выбрать 4 модули принятия решений из списка Decision_modules . 4 Двигатели принятия решений из Deciess_Engine выбираются с использованием указанного списка, как описано ниже. MATRIX IND имеет измерение TORCH.Randint (0,10, (4,4)) .
Я хочу нам решение без использования петлей Поскольку петли значительно замедляют XECUTION. < /p>
Но следующий код бросает и ошибку.

Код: Выделить всё

import torch
import torch.nn as nn

linears = nn.ModuleList([nn.Linear(768, 768) for i in range(10)])
ind=torch.randint(0,10,(4,4))
input=torch.rand(32,768)

out=linears[ind](input)
Обнаружена следующая ошибка

Файл ~\AppData\Local\Programs\Python\Python312\Lib\site -packages\torch\nn\modules\container.py:334, в ModuleList.getitem(self, idx)
332 return self.класс(list(self._modules.values())[idx])
333 else:
--> 334 return self._modules[self._get_abs_string_index(idx )]
Файл ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\torch\nn\modules\container.py:314, в ModuleList._get_abs_string_index(self, idx)
312 def _get_abs_string_index(self, idx) ):
313 """Получить абсолютный индекс списка модулей."""
--> 314 idx = оператор.index(idx)
315 если нет (-len(self)
Любая помощь будет очень полезна.

Подробнее здесь: https://stackoverflow.com/questions/793 ... ules-of-nn
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»