Hello everyone. I’m trying to edit an existing pretrained model and add my own.
I followed the discussions here 4 and here 2 and faced with two options, either of which fail!
the first thread says do :
resnet18 = models.resnet18(pretrained=True)
ourmodel = list(resnet18.named_children())[:-1]
ourmodel = nn.Sequential(*ourmodel)

This fails with the error :
**TypeError** : tuple is not a Module subclass
The second option was to do :
resnet18 = models.resnet18(pretrained=True)
ourmodel = list(resnet18.named_children())[:-1]
ourmodel = nn.ModuleList(ourmodel)

which again results in the same exact error :
**TypeError** : tuple is not a Module subclass
Has pytorch’s behavior changed ? I’m on Pytorch 1.0
What should I do ?
Here is the full stacktrace :
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in 
     27 ourmodel = list(resnet18.named_children())[:-1]
     28 # ourmodel = nn.ModuleList(ourmodel)
---> 29 ourmodel = nn.Sequential(*ourmodel)
     30 
     31 for i, (name,child) in enumerate(ourmodel.named_children()):

~\Anaconda3\lib\site-packages\torch\nn\modules\container.py in __init__(self, *args)
     51         else:
     52             for idx, module in enumerate(args):
---> 53                 self.add_module(str(idx), module)
     54 
     55     def _get_item_by_idx(self, iterator, idx):

~\Anaconda3\lib\site-packages\torch\nn\modules\module.py in add_module(self, name, module)
    177         if not isinstance(module, Module) and module is not None:
    178             raise TypeError("{} is not a Module subclass".format(
--> 179                 torch.typename(module)))
    180         elif not isinstance(name, torch._six.string_classes):
    181             raise TypeError("module name should be a string. Got {}".format(

TypeError: tuple is not a Module subclass

Thank you all very much in advance