Face_recognition python:使用dlib给出代码:98,原因:无效的设备功能

问题描述 投票:0回答:1

我尝试在我的 GeForce GT 730 GPU、11.3 cudatoolkit、8.2.1 cuDNN 和 Windows 10 上的 475.14 驱动程序上运行face_recognition(我的设备计算能力为 3.5)。我收到错误消息

Error while calling cudaOccupancyMaxPotentialBlockSize(&num_blocks,&num_threads,K) in file c:\users\zachb\anaconda3\envs\dlib5\dlib\dlib\cuda\cuda_utils.h:186. code: 98, reason: invalid device function

When Executing: face_encodings = face_recognition.face_encodings(images, face_locations)

我最初尝试从 nvidia 档案安装 CUDA 工具包和 cuDNN,并将文件夹从 cuDNN 下载到工具包目录中。然而,这样做总是会导致错误消息

ImportError: DLL load failed: The specified module could not be found. 

导入 dlib 时。然而,当我从 conda 安装 cudatoolkit 和 cudnn 时,这个问题得到了解决。这导致我从系统中卸载 cuda 并使用 nvidia conda 通道将其安装到我的 python 环境中。

这是我目前在我的环境中运行的整个安装过程

cd C:\Users\zachb\anaconda3\envs

conda create --name dlib python=3.8 cmake ipython

cd C:\Users\zachb\anaconda3\envs\dlib

conda install conda-forge::cudnn=8.2.1 conda-forge::cudatoolkit=11.3 cuda -c nvidia/label/cuda-11.3.0 -c nvidia/label/cuda-11.3.1

git clone https://github.com/davisking/dlib.git

cd dlib

mkdir build

cd build

cmake .. -G "Visual Studio 15 2017" -A x64 -DDLIB_USE_CUDA=1 -DDLIB_USE_CUDA_COMPUTE_CAPABILITIES="35" -DUSE_AVX_INSTRUCTIONS=1 -DCUDAToolkit_ROOT="C:\Users\zachb\anaconda3\envs\dlib\bin"

cmake --build .

cd ..

python setup.py install --set DLIB_USE_CUDA=1

conda install numpy matplotlib Pillow

conda install click=8.1.7 colorama=0.4.6 face-recognition=1.3.0 face_recognition_models=0.3.0 --no-dep

当我

print(dlib.DLIB_USE_CUDA)
时它返回true 我还尝试使用 conda 将 cuda 安装到我的环境中,并将 cuDNN 复制到我的环境目录中(给出了相同的 import dlib 错误) 我还尝试过 CUDA 11.2、11.3、11.4、11.5 和 11.8(使用适当的 cuDNN)并不断收到此错误。

我参考了这些来帮助确定要求: https://docs.nvidia.com/cuda/archive/11.8.0/cuda-toolkit-release-notes/index.html https://quasar.ugent.be/files/doc/cuda-msvc-compatibility.html https://en.wikipedia.org/wiki/CUDA#GPUs_supported https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-896/support-matrix/index.html https://docs.nvidia.com/deploy/cuda-compatibility/

python cmake cuda face-recognition dlib
1个回答
-1
投票

错误代码98,原因:无效的设备功能通常与硬件或软件与所使用的GPU的兼容性问题有关。如果问题仍然存在,flutter Training kochi,提供有关您的设置的更多详细信息可能会有所帮助,包括您正在使用的 Python、dlib、CUDA 和 GPU 驱动程序的版本。

© www.soinside.com 2019 - 2024. All rights reserved.