Parallel processing pytorch v-1.1中的面对面错误:“1”;RuntimeError:所有张量必须在设备[0]上;

Parallel processing pytorch v-1.1中的面对面错误:“1”;RuntimeError:所有张量必须在设备[0]上;,parallel-processing,gpu,pytorch,Parallel Processing,Gpu,Pytorch,我正在为我的模型使用nn.DataParallel(),但遇到了一个错误 我在做类似的事情 self.model = self.model.to(device) self.model = nn.DataParallel(self.model) 如果设备是cuda:1,那么我得到运行时错误:所有张量必须在设备[0]上。 但是,如果我将设备更改为cuda:0,则在多个GPU上进行并行训练不会出错。我想知道是什么问题 我把这个:self.model=DataParallel(self

我正在为我的
模型使用
nn.DataParallel()
,但遇到了一个错误

我在做类似的事情

    self.model = self.model.to(device)
    self.model = nn.DataParallel(self.model)
如果设备是
cuda:1
,那么我得到
运行时错误:所有张量必须在设备[0]
上。
但是,如果我将设备更改为
cuda:0
,则在多个GPU上进行并行训练不会出错。我想知道是什么问题

我把这个:
self.model=DataParallel(self.model)
改成:
self.model=DataParallel(self.model,device_id=[1,0])
现在它运行良好。但是如果我写:
self.model=DataParallel(self.model,device_id=[0,1])
就会弹出错误。如果有更多的GPU,比如说4个,那么写:
self.model=DataParallel(self.model,device_id=[1,2,3,0])