PVNet的demo报错解决方案:CUDA error: initialization error when calling cusparseCreate(handle)
主文件:PVNet的demo(win10)
win10下运行PVNet的demo时报错:
RuntimeError: CUDA error: initialization error when calling `cusparseCreate(handle)
报错全文如下:
Traceback (most recent call last):
File "D:/E20220227/B015_00_PV_Net/tools/demo_feng.py", line 191, in <module>
demo()
File "D:/E20220227/B015_00_PV_Net/tools/demo_feng.py", line 177, in demo
corner_pred = eval_net(seg_pred, vertex_pred).cpu().detach().numpy()[0]
File "C:\Users\26735\anaconda3\envs\python367\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "C:\Users\26735\anaconda3\envs\python367\lib\site-packages\torch\nn\parallel\data_parallel.py", line 166, in forward
return self.module(*inputs[0], **kwargs[0])
File "C:\Users\26735\anaconda3\envs\python367\lib\site-packages\torch\nn\modules\module.py", line 1102, in _call_impl
return forward_call(*input, **kwargs)
File "D:/E20220227/B015_00_PV_Net/tools/demo_feng.py", line 57, in forward
return ransac_voting_layer_v3(mask, vertex_pred, 512, inlier_thresh=0.99)
File "D:\E20220227\B015_00_PV_Net\lib\ransac_voting_gpu_layer\ransac_voting_gpu.py", line 600, in ransac_voting_layer_v3
all_win_pts=torch.matmul(b_inv(ATA),torch.unsqueeze(ATb,2)) # [vn,2,1]
File "D:\E20220227\B015_00_PV_Net\lib\ransac_voting_gpu_layer\ransac_voting_gpu.py", line 516, in b_inv
b_inv, _ = torch.linalg.solve(eye, b_mat)
RuntimeError: CUDA error: initialization error when calling `cusparseCreate(handle)`
定位到报错位置b_inv, _ = torch.linalg.solve(eye, b_mat)
进行debug,发现eye.shape=torch.Size([9, 2, 2]), device=cuda:0,b_mat.shape=torch.Size([9, 2, 2]), device=cuda:0,而报错是由于CUDA,所以先把eye和 b_mat转成cpu,再计算结果,再把结果转换为cuda。代码修改后如下:
b_inv, _ = torch.linalg.solve(eye.cpu(), b_mat.cpu()).cuda()
运行继续报错:
ValueError: too many values to unpack (expected 2)
这是因为等号右侧结果只有1个,而等号左侧输出有2个,因此,删除不需要的输出"_",代码修改后如下:
b_inv = torch.linalg.solve(eye.cpu(), b_mat.cpu()).cuda()
再次运行,通过!!输出了和作者一样的demo结果,开心(▽)!!
待填坑:一个没发现的问题
绿色框表示猫的边界框真值,蓝色框表示预测值,但是图里只有绿色框,没有蓝色框,待我查一查这是为什么。。。。