Когда я использую несколько графических процессоров
, а также когда я использую .cuda () для тензоров
в середине обучения, я получаю следующую ошибку
RuntimeError: binary_op(): expected both inputs to be on same device,
but input a is on cuda:0 and input b is on cuda:7
, что означает следующее R2
на cuda: 7 (не уверен, что R2 на cuda: 0 или cuda: 7), а
R1
на cuda: 0
, поэтому операция невозможна, потому что они на GPU разности
R2=torch.where(R2<1e-4,torch.Tensor([1e-4]).squeeze().cuda(),R2)
div_R1_R2=torch.div(R1,R2)
Я получаю точно такую же ошибку в следующем коде
жалуюсь O_img_tc
и R_gt_img_tc
невозможно вычислить
, потому что они на разных графических процессорах
R_gt_img_tc=torch.where(
torch.abs(R_gt_img_tc)<1e-4,
torch.Tensor([1e-4]).squeeze().cuda(),R_gt_img_tc)
sha=torch.clamp(torch.div(O_img_tc,R_gt_img_tc),0.0,1.3)[:,0,:,:].unsqueeze(1)
Как это решить, и что я делаю не так?
Что я пробовал:
- Использовать horovod: получена та же ошибка.
- Проверить номер графического процессора, используя dense_O_img_tc.get_device()
и dense_S_gt_img_tc.get_device()
Когда они выглядели какdense_O_img_tc.get_device()
возвращено 0
, dense_S_gt_img_tc.get_device()
возвращено 7
И я попробовал это
same_cuda=torch.device('cuda:'+str(dense_O_img_tc.get_device()))
dense_S_gt_img_tc=torch.where(
torch.abs(dense_S_gt_img_tc)<1e-4,
# Note here that I'm using cuda(same_cuda)
torch.Tensor([1e-4]).squeeze().cuda(same_cuda),dense_S_gt_img_tc)
ref=torch.div(dense_O_img_tc,dense_S_gt_img_tc)
Это на самом деле может решить "другую проблему с GPU"
, но только с GPU:0 был использован, что привело к полному графическому процессору: ошибка 0.
- Итак, я попытался переместить
dense_O_img_tc
, который находится на графическом процессоре: 0 к графическому процессору: 7 (или в любом месте, где плотность_S_gt_img_tc включена с помощьюdensity_S_gt_img_tc.get_device ()), возможно, я получил следующую ошибку недопустимого доступа к памяти
RuntimeError: cuda runtime error (77) : an illegal memory access was encountered at /opt/conda/conda-bld/pytorch_1544199946412/work/aten/src/THC/generic/THCTensorMath.cu:238