10kinds-light-face-detector-align-recognition icon indicating copy to clipboard operation
10kinds-light-face-detector-align-recognition copied to clipboard

Run_all_compare_time.py 里如果用GPU跑报错

Open licc0431 opened this issue 4 years ago • 4 comments

电脑装的cuda,Run_all_compare_time.py 里如果用GPU跑,报错如下: Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor) should be the same 错误定位在 mtcnn_result, _ = mtcnn_detect.detect(srcimg)里,本人才学,代码能力一般,不知怎么修改,先用CPU了,等待作者和他人完善。

licc0431 avatar Nov 09 '20 01:11 licc0431

这个错误的原因是,输入数据没有转换到gpu设备上。在mtcnn_detect.detect()函数里对输入做设备转换,Input.to(device)

hpc203 avatar Nov 09 '20 03:11 hpc203

好的,谢谢大神

licc0431 avatar Nov 09 '20 03:11 licc0431

cv读入的numpy,先torch_from_numpy(),到Tensor,再Input.to(device)。可是这样变成gpu上tensor,后面算法又调用numpy,我不知道咋改了,本文才学,请大神指教

licc0431 avatar Nov 09 '20 05:11 licc0431

cv读入的numpy,先torch_from_numpy(),到Tensor,再Input.to(device)。可是这样变成gpu上tensor,后面算法又调用numpy,我不知道咋改了,本文才学,请大神指教

gpu上的tensor转换到numpy的语法是: Input.data.cpu().numpy() cpu上的tensor转换到numpy的语法是: Input.data.numpy()

hpc203 avatar Nov 10 '20 08:11 hpc203