相关疑难解决方法(0)

CUDA与DataParallel:为什么不同?

我有一个简单的神经网络模型,我应用cuda()DataParallel()模型如下.

model = torch.nn.DataParallel(model).cuda()
Run Code Online (Sandbox Code Playgroud)

要么,

model = model.cuda()
Run Code Online (Sandbox Code Playgroud)

当我不使用DataParallel,而只是简单地将我的模型转换为cuda(),我需要显式转换批输入cuda(),然后将其提供给模型,否则它将返回以下错误.

torch.index_select收到了无效的参数组合 - got(torch.cuda.FloatTensor,int,torch.LongTensor)

但是使用DataParallel,代码工作正常.其他的事情是一样的.为什么会这样?为什么当我使用DataParallel时,我不需要明确地将批输入转换为cuda()

pytorch

6
推荐指数
1
解决办法
1474
查看次数

标签 统计

pytorch ×1