在远程服务器上跑代码时遇到了这个问题:
AttributeError:module ‘torch.optim’ has no attribute ‘AdamW’
出错代码:
optimizer = torch.optim.AdamW(filter(lambda p: p.requires_grad,model.parameters()),betas=betas,lr=learning_rate,weight_decay=weight_decay)
出现这个问题是因为pytorch版本的不同。
代码是用pytorch1.3.0写的,但是之前因为服务器的cuda版本太低只能装pytorch1.0.0版本的。
于是试着把AdamW改成Adam,没想到就成功了。
改之后:
optimizer = torch.optim.Adam(filter(lambda p: p.requires_grad,model.parameters()),betas=betas,lr=learning_rate,weight_decay=weight_decay)