先说下问题:
今天在做人脸识别的时候,发现安装完import face-recognition会报错,如下:
"/usr/local/lib/python3.6/dist-packages/dlib/__init__.py", line 19, infrom dlib ovbind11 import * importError:/usr/local/lib/python3.6/dist-packages/_dlib_pybind11.cpython-36m-aarch64-linux-gnu.so:undefined symbol:png_riffle palette neon
其实在安装face-recognition的时候就看到log有显示安装dlib(V19.22版本)了,然后后来我又单独安装的19.17版本,在pip list的时候发现只有19.22版本,果断卸载这个版本:
pip uninstall dlib
然后重新在dlib的官网(Index of /files)重新下载19.17版本,安装后,重新执行,OK了。
正确的face-recognition的安装流程是这样的,在必要库都安装好的情况下,先安装dlib(上面已经下载好dlib的安装包):
tar jxvf dlib-19.17.tar.bz2 $ cd dlib-19.17
进入到dlib-19.17文件夹,执行如下:
cd dlib/cuda/ sudo vim cudnn_dlibapi.cpp
找到如下代码:
descriptor(dest_desc), dnn_prefer_fastest_algorithms()?CUDNN_CONVOLUTION_FWD_PREFER_FASTEST:CUDNN_CONVOLUTION_FWD_NO_WORKSPACE, std::numeric_limits::max(), &forward_best_algo)); // forward_algo = forward_best_algo; CHECK_CUDNN(cudnnGetConvolutionForwardWorkspaceSize( context(), descriptor(data), (const cudnnFilterDescriptor_t)filter_handle,
将forward_algo = forward_best_algo注释掉(如上图),并按ESC执行:wq!保存退出。
之后在执行安装face-recognition。
pip3 install face_recognition
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)