awesome-semantic-segmentation-pytorch icon indicating copy to clipboard operation
awesome-semantic-segmentation-pytorch copied to clipboard

执行demo程序发生如下报错TypeError: __init__() got an unexpected keyword argument 'local_rank'怎么解决

Open Apheliosa opened this issue 2 years ago • 2 comments

Apheliosa avatar Aug 05 '22 00:08 Apheliosa

我运行时也遇到了同样的错误,简单排查发现可能是因为可变参数没有取出. 在models/model_zoo.py 第77行get_model()函数中,传入的参数只取出的了name,剩下的所有参数(包括local_rank)都传入到models中了. 解决:针对我的实验(deeplabv3),只需要将models/deeplabv3.py中第139行get_deeplabv3函数改一下,给它添加关键字local_rank,然后使用local_rank时再改一下. ` def get_deeplabv3(dataset='pascal_voc', backbone='resnet50', pretrained=False, root='~/.torch/models',pretrained_base=True, local_rank=0, **kwargs): #添加local_rank关键字

device = torch.device(kwargs['local_rank']) #这是源代码
device = torch.device(local_rank)  #这是我改的代码

` 如果实验使用其他的模型,就改对应模型中这个函数的代码即可

Jimmy-L4 avatar Sep 29 '22 10:09 Jimmy-L4

我运行时也遇到了同样的错误,简单排查发现可能是因为可变参数没有取出. 在models/model_zoo.py 第77行get_model()函数中,传入的参数只取出的了name,剩下的所有参数(包括local_rank)都传入到models中了. 解决:针对我的实验(deeplabv3),只需要将models/deeplabv3.py中第139行get_deeplabv3函数改一下,给它添加关键字local_rank,然后使用local_rank时再改一下. ` def get_deeplabv3(dataset='pascal_voc', backbone='resnet50', pretrained=False, root='~/.torch/models',pretrained_base=True, local_rank=0, **kwargs): #添加local_rank关键字

device = torch.device(kwargs['local_rank']) #这是源代码
device = torch.device(local_rank)  #这是我改的代码

` 如果实验使用其他的模型,就改对应模型中这个函数的代码即可

Thank you,it worked!

Docwu1 avatar Mar 17 '24 09:03 Docwu1