pytorch-segmentation-detection
pytorch-segmentation-detection copied to clipboard
Incompatible ResNet arguments
While executing any of the notebooks in: pytorch_segmentation_detection/recipes/pascal_voc/segmentation/*.ipynb
the errors relate to initialization regarding unknown arguments for ResNet object init. Tried on multiple cloud / GPU setups with same output. Maybe there are unchecked files (there could be cached files in your setups. On a clean repo pull, these errors might occur for you as well)
[python2.7, pytorch-0.3.1]:
TypeErrorTraceback (most recent call last)
<ipython-input-1-a4cbdc8e5706> in <module>()
36
37 print(torch.__version__)
---> 38 fcn = resnet_dilated.Resnet34_8s(num_classes=21)
39 fcn.load_state_dict(torch.load('resnet_34_8s_68.pth'))
40 #fcn.load_state_dict(torch.load('resnet34-333f7ec4.pth'))
/models/pytorch-segmentation-detection/pytorch_segmentation_detection/models/resnet_dilated.py in __init__(self, num_classes)
290 # Load the pretrained weights, remove avg pool
291 # layer and get the output stride of 8
--> 292 resnet34_8s = models.resnet34(fully_conv=True, pretrained=True, output_stride=8, remove_avg_pool_layer=True)
293 #resnet34_8s = models.resnet34(pretrained=True)
294
/usr/local/lib/python2.7/dist-packages/torchvision/models/resnet.pyc in resnet34(pretrained, **kwargs)
172 pretrained (bool): If True, returns a model pre-trained on ImageNet
173 """
--> 174 model = ResNet(BasicBlock, [3, 4, 6, 3], **kwargs)
175 if pretrained:
176 model.load_state_dict(model_zoo.load_url(model_urls['resnet34']))
TypeError: __init__() got an unexpected keyword argument 'fully_conv'
@warmspringwinds Could you please put in the requirements.txt
file as well?
Will clear out a lot of confusions.
pip freeze > requirements.txt
Also, if you could also put in the resnet_34_8_66.pth
, it will be helpful to execute the code without changes in resnet_34_8s_demo.ipynb
Many thanks!
In case you're still running into this problem, make sure you've pulled the vision
submodule (e.g. git submodule update --init --recursive
), and also have the corresponding path in sys.path
(e.g. sys.path.insert(0, "/path/to/pytorch-segmentation-detection/vision/")
).