这篇文章记录在AutoDL上跑MixVPR项目遇到的问题。如果对于AutoDL的使用或者对于PyCharm将MixVPR远程部署到AutoDL云服务器有疑问的朋友,可以参看我的上一篇笔记AutoDL教程和MixVPR环境部署
1.路径问题
问题:原本路径应该是root/autodl-tmp/dataloaders/train/GSVCitiesDataset/Dataframes/Bangkok.csv 但是代码识别为root/autodl-tmp/dataloaders/train/GSVCitiesDatasetDataframes/Bangkok.csv 找到出错的文件
应该修改成下面的:
注意下面还有一个需要修改的路径,按照上面的方法就可以啦!
2.参数问题
报错信息:TypeError: _init() got an unexpected keyword argument 'weights! 从错误日志来看,问题出在你的代码试图调用 torchvision.models.resnet50 函数,并传给它一个名为 ‘weights’ 的参数,但这个函数并不接受这个参数,导致 Python 抛出 TypeError。
torchvision.models.resnet50 的正确调用方式如下:
torchvision.models.resnet50(pretrained=False, **kwargs)
其中,‘pretrained’ 如果为 True,将返回在 ImageNet 上预训练的模型;否则,将返回未初始化的模型。‘**kwargs’ 用于传递给 ResNet 类的其他参数。因此,对于代码,我们应该修改 “/root/autodl-tmp/models/backbones/resnet.py” 文件中的调用方式。将其中的
self.model = torchvision.models.resnet50(weights=weights)
改为
self.model = torchvision.models.resnet50(pretrained=weights)