face_recognition(GPU)版本的安装使用踩坑解决过程

最近在研究人脸识别,需要安装face_recognition库来实现人脸识别的功能,例如视频动态识别人脸。

需要的环境

首先,需要安装多个插件,硬件需要显卡,显存越大越好,这样在识别的时候可以更快

时间:2023年8月30日15:23:55

  1. windows10(我现在的电脑版本)
  2. python 3.10.9(目前算是最新的版本)
  3. dlib 19.24.2(目前算是最新的版本)
  4. VS community 2022(目前算是最新的版本)
  5. CUDA Version: 11.8(对应显卡驱动的版本)(需要N卡,就是nvdia的卡,A卡无法使用)
  6. CUDNN 8.9.3(对应显卡驱动的版本)
  7. Cmake 3.27.4 随便下载的版本,C++编译工具
  8. 如果你科学上网工具的话,对于文件下载,某些网站访问有很大的速度加成,所以建议在科学上网工具下操作。

下面细说每一个环境的安装和报错解决:

1.windows 10

这是电脑系统,如果你不是这个系统版本,建议还是升级到win10

2.python 3.10.9

pyhton 环境是代码运行环境,所以必须安装。官网链接www.python.org/

点击download之后,下载完就可以进行安装操作了。安装教程就参照下方链接

全网最详细的Python安装教程(Windows) - 知乎 (zhihu.com)

3. dlib 19.24.2

1、下载dlib,就可以直接使用pip下载,cmd命令行pip install dlib,这样就会下载最新的版本。最后安装完了之后使用pip show dlib,来验证是否安装成功。

2、dlib · PyPI也可以下载,但是不建议,因为需要用cmd命令行安装到python环境中

4.VS community 2022

官网 visualstudio.microsoft.com/zh-hans/ 可以下载

下载完之后,Visual Studio 2022安装与使用教程,一次教会你 - 知乎 (zhihu.com)根据教程安装

5. CUDA 11.8和CUDNN 8.9.3

CUDA安装教程(超详细)_Billie使劲学的博客-CSDN博客

上方的教程非常详细,所以跟着教程走就可以了。

6.Cmake 3.27.4

cmake.org/ 官方网站

安装教程 Windows下CMake安装教程_window 安装cmake_好好学图算的博客-CSDN博客

7.dlib

要支持GPU版本就需要重新编译,然后覆盖python环境的dlib的文件才可以支持gpu,所以要用cmake和vs studio,要确保这两个工具是否已经安装配置完成。

我比较喜欢cmd命令行,所以就按照命令行的教程来操作就行了,管理员打开cmd,跟随步骤输入下面的命令行

1.下载dlib文件

cmd 复制代码
git clone https://github.com/davisking/dlib.git

2.进入目标位置

cmd 复制代码
cd dlib
mkdir build
cd build

3.编译文件

cmd 复制代码
cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1
cmake --build .

编译过程就不展示了,编译完了之后,会有一个dist文件在文件夹里面

4、找到python的安装环境,Lib文件夹->site-packages文件夹->dlib,将编译好的文件全部覆盖到这里。 5、在python的安装环境,与Lib文件夹同级目录下有一个DLLs文件夹,需要将编译好的一个文件复制到这里才可以最终开启gpu加速模式

6、最后就是验证阶段了,cmd输入python,进入python编辑模式

cmd 复制代码
import dlib
print(dlib.DLIB_USE_CUDA)

结果输出为True,就是已经开始gpu加速了。我们就可以开始人脸识别了。

哭了,折腾两天就是为了这个True,后面会写一下代码实现。有兴趣的可以一起讨论

相关推荐
_.Switch5 分钟前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
Chrikk1 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*1 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
canyuemanyue1 小时前
go语言连续监控事件并回调处理
开发语言·后端·golang
杜杜的man1 小时前
【go从零单排】go语言中的指针
开发语言·后端·golang
测开小菜鸟1 小时前
使用python向钉钉群聊发送消息
java·python·钉钉
萧鼎2 小时前
Python并发编程库:Asyncio的异步编程实战
开发语言·数据库·python·异步
学地理的小胖砸3 小时前
【一些关于Python的信息和帮助】
开发语言·python
疯一样的码农3 小时前
Python 继承、多态、封装、抽象
开发语言·python
customer083 小时前
【开源免费】基于SpringBoot+Vue.JS周边产品销售网站(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·java-ee·开源