DeepUSPS icon indicating copy to clipboard operation
DeepUSPS copied to clipboard

RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!

Open 99991 opened this issue 3 years ago • 0 comments

$ python3 DeepUSPS.py test -r .. -s 432 --arch drn_d_105 --batch-size 4 --resume ../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar 
DeepUSPS.py test -r .. -s 432 --arch drn_d_105 --batch-size 4 --resume ../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar
Namespace(DCRF='Color', arch='drn_d_105', batch_size=4, beta=1.0, bn_sync=False, checkpoint_freq=25, cmd='test', crop_size=432, data_dir='../Parameters/', iter_size=1, pretrained='../Pretrained_Models/drn_pretraining/drn-d-105_ms_cityscapes.pth', resume='../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar', root_dir='..', workers=8)
cmd : test
root_dir : ..
beta : 1.0
checkpoint_freq : 25
crop_size : 432
arch : drn_d_105
batch_size : 4
iter_size : 1
DCRF : Color
resume : ../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar
pretrained : ../Pretrained_Models/drn_pretraining/drn-d-105_ms_cityscapes.pth
workers : 8
bn_sync : False
data_dir : ../Parameters/
dataset_name : 01_MSRAB
[2022-01-19 12:18:43,403 DeepUSPS.py:488 test_saliency] => loading checkpoint '../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar'
[2022-01-19 12:18:43,683 DeepUSPS.py:492 test_saliency] => loaded checkpoint '../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar' (epoch 200)
/home/files/DeepUSPS/v2/Code/Par_CRF.py:204: RuntimeWarning: divide by zero encountered in log
  d.setUnaryEnergy(-np.log(b_np_resh))
Traceback (most recent call last):
  File "DeepUSPS.py", line 684, in <module>
    main()
  File "DeepUSPS.py", line 677, in main
    test_saliency(args)
  File "DeepUSPS.py", line 500, in test_saliency
    DOC = test(args, test_loader, model, 2, save_vis=True, output_dir=test_dir)
  File "DeepUSPS.py", line 425, in test
    DOC.update(sal_pred, GT_label.cuda(), [sal_pred], [GT_label.cuda()])
  File "/home/files/DeepUSPS/v2/Code/utils.py", line 352, in update
    Loss_temp += F_cont(sal_pred_list[dummy_ind], pseudolabels[dummy_ind], b=1.0)
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!

The fix is to add .cuda() after line 350 in utils.py so that it reads:

Loss_temp=torch.tensor(0, dtype=torch.float).cuda()

Results after fix:

$ python3 DeepUSPS.py test -r .. -s 432 --arch drn_d_105 --batch-size 4 --resume ../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar 
DeepUSPS.py test -r .. -s 432 --arch drn_d_105 --batch-size 4 --resume ../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar
Namespace(DCRF='Color', arch='drn_d_105', batch_size=4, beta=1.0, bn_sync=False, checkpoint_freq=25, cmd='test', crop_size=432, data_dir='../Parameters/', iter_size=1, pretrained='../Pretrained_Models/drn_pretraining/drn-d-105_ms_cityscapes.pth', resume='../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar', root_dir='..', workers=8)
cmd : test
root_dir : ..
beta : 1.0
checkpoint_freq : 25
crop_size : 432
arch : drn_d_105
batch_size : 4
iter_size : 1
DCRF : Color
resume : ../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar
pretrained : ../Pretrained_Models/drn_pretraining/drn-d-105_ms_cityscapes.pth
workers : 8
bn_sync : False
data_dir : ../Parameters/
dataset_name : 01_MSRAB
[2022-01-19 12:21:36,640 DeepUSPS.py:488 test_saliency] => loading checkpoint '../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar'
[2022-01-19 12:21:36,944 DeepUSPS.py:492 test_saliency] => loaded checkpoint '../Pretrained_Models/DeepUSPS_trained_model/DeepUSPS_2.pth.tar' (epoch 200)
/home/files/DeepUSPS/v2/Code/Par_CRF.py:204: RuntimeWarning: divide by zero encountered in log
  d.setUnaryEnergy(-np.log(b_np_resh))
[2022-01-19 12:21:39,353 DeepUSPS.py:439 test] Eval: [0/500]    Time 2.408 (2.408)      Data 0.432 (0.432)      L1 0.017 (0.017)        F-measure 0.958 (0.958)
[2022-01-19 12:22:29,575 DeepUSPS.py:439 test] Eval: [50/500]   Time 0.929 (1.032)      Data 0.002 (0.011)      L1 0.012 (0.034)        F-measure 0.938 (0.921)
[2022-01-19 12:23:18,053 DeepUSPS.py:439 test] Eval: [100/500]  Time 0.995 (1.001)      Data 0.002 (0.006)      L1 0.022 (0.037)        F-measure 0.959 (0.907)
[2022-01-19 12:24:06,449 DeepUSPS.py:439 test] Eval: [150/500]  Time 1.000 (0.990)      Data 0.002 (0.005)      L1 0.031 (0.037)        F-measure 0.880 (0.906)
[2022-01-19 12:24:57,087 DeepUSPS.py:439 test] Eval: [200/500]  Time 1.108 (0.996)      Data 0.003 (0.004)      L1 0.055 (0.038)        F-measure 0.893 (0.906)
[2022-01-19 12:25:49,692 DeepUSPS.py:439 test] Eval: [250/500]  Time 0.936 (1.007)      Data 0.002 (0.004)      L1 0.017 (0.039)        F-measure 0.971 (0.904)
[2022-01-19 12:26:38,275 DeepUSPS.py:439 test] Eval: [300/500]  Time 0.926 (1.001)      Data 0.003 (0.004)      L1 0.048 (0.039)        F-measure 0.739 (0.905)
[2022-01-19 12:27:26,337 DeepUSPS.py:439 test] Eval: [350/500]  Time 0.920 (0.995)      Data 0.002 (0.004)      L1 0.035 (0.039)        F-measure 0.810 (0.906)
[2022-01-19 12:28:16,021 DeepUSPS.py:439 test] Eval: [400/500]  Time 0.982 (0.995)      Data 0.003 (0.003)      L1 0.020 (0.039)        F-measure 0.900 (0.906)
[2022-01-19 12:29:04,195 DeepUSPS.py:439 test] Eval: [450/500]  Time 0.955 (0.992)      Data 0.003 (0.003)      L1 0.037 (0.039)        F-measure 0.787 (0.906)


Epoch 000                       Loss            L1              GT: L1          GT: F-measure   GT: precision   GT: recall
Loss                            0.1028          0.0393          0.0393          0.9042          0.9168          0.9072

[2022-01-19 12:29:53,147 DeepUSPS.py:502 test_saliency] MAE = 0.039319

99991 avatar Jan 19 '22 11:01 99991