Pytorch 使用DataParallel时初始化optim并保存模型

Pytorch 使用DataParallel时初始化optim并保存模型,pytorch,Pytorch,使用DataParallel时,标记的两行1)和2)是否等效 model = torch.nn.DataParallel(net).cuda() optim = torch.optim.Adam(net.parameters(), lr) # 1) optim = torch.optim.Adam(net.module.parameters(), lr) # 2) 还是其中一个会产生奇怪的同步问题 另外,在将参数保存到文件时,使用DataParallel模块时,首选哪一个 mod

使用DataParallel时,标记的两行
1)
2)
是否等效

model = torch.nn.DataParallel(net).cuda()
optim = torch.optim.Adam(net.parameters(), lr)        # 1)
optim = torch.optim.Adam(net.module.parameters(), lr) # 2)
还是其中一个会产生奇怪的同步问题

另外,在将参数保存到文件时,使用DataParallel模块时,首选哪一个

model = torch.nn.DataParallel(net).cuda()
...
torch.save({
  'epoch': epoch,
  'state_dict': model.state_dict(),        # 1)
  'state_dict': model.module.state_dict(), # 2)
  'best_loss': best_loss,
}, filename)