hpc203 / 10kinds-light-face-detector-align-recognition

10种轻量级人脸检测算法的比拼,其中还包含人脸关键点检测与对齐,人脸特征向量提取和计算距离相似度
449 stars 115 forks source link

Run_all_compare_time.py 里如果用GPU跑报错 #6

Open licc0431 opened 3 years ago

licc0431 commented 3 years ago

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

hpc203 commented 3 years ago

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

licc0431 commented 3 years ago

好的,谢谢大神

licc0431 commented 3 years ago

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

hpc203 commented 3 years ago

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()