使用face-recognition时遇到的报错: CUDNN_STATUS_EXECUTION_FAILED

最近利用face recognition库做相关任务的时候遇到了报错,一个小问题,我却花了三天才解决。这个过程简直无奈,无奈,无奈…

具体的错误信息如下:

RuntimeError: Error while calling cudnnConvolutionForward( context(), &alpha, descriptor(data), data.device(), 
(const cudnnFilterDescriptor_t)filter_handle, filters.device(), (const cudnnConvolutionDescriptor_t)conv_handle, 
(cudnnConvolutionFwdAlgo_t)forward_algo, forward_workspace, forward_workspace_size_in_bytes, &beta, descriptor(output), output.device())
 in file /tmp/pip-install-9a4mnneq/dlib/dlib/cuda/cudnn_dlibapi.cpp:1007. code: 8, reason: CUDNN_STATUS_EXECUTION_FAILED

一看报错,马上就意识到是cuda和cudnn版本不兼容问题导致,然后立马就检查了cudnn与cuda版本,发现并没有任何问题。然后去检查dlib库,重新编译,也没有任何错误。 测试代码跑起来也没有报错。于是,就陷入迷茫了。。
三天的时间各种cuda与cudnn版本的更换,dlib各种重新编译,都没有任何问题,但是,只要一调用face recognition的face_encodings,就直接抛出这个错。简直无奈

问题导致的原因: 显卡驱动版本和cuda版本不兼容

最后解决问题的方法来了: 务必要确保你的 NVIDIA-driver 版本和cuda版本 还有cudnn版本匹配,然后这个问题就解决了。。。。。我之前只顾着修改cuda和cudnn版本去了,忽略了显卡驱动的版本。特此记录一下这个问题,趴窝在这个简单问题上好几天。。。

你可能感兴趣的:(踩坑记录)