pytorch nn.Sequential (* list) TypeError: list не является подклассом Module - PullRequest
0 голосов
/ 01 ноября 2019

Когда я использую Pytorch для обучения модели, я пытался напечатать всю сетевую структуру

, поэтому я упаковал все слои в список, затем я использую nn.Sequential(*list)

, но это нене работает, и список TypeError: не является подклассом Module

1 Ответ

0 голосов
/ 01 ноября 2019

Пожалуйста, предоставьте список слоев, которые вы создали, вы уверены, что не сделали никакой ошибки в этом. Попробуйте проверить, действительно ли ваш список [], а не [[..]]. Еще одна вещь, которую я заметил, это то, что вы list называете имя переменной, что не очень хорошая идея - list является ключевым словом Python.

Я попытался написать пример кода, и распаковка списка отлично работает для меня.

import torch
import torch.nn as nn                                                                           net = nn.Sequential(nn.Linear(2, 2), nn.Linear(2, 2))                                           
layers = [nn.Linear(2, 2), nn.Linear(2, 2)]                                                  
net = nn.Sequential(*layers)
print(net)

Это запустилось без ошибок, и результат был:

Sequential(
  (0): Linear(in_features=2, out_features=2, bias=True)
  (1): Linear(in_features=2, out_features=2, bias=True)
)

Надеюсь это поможет. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...