DeepUSPS
DeepUSPS copied to clipboard
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!
$ 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