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,后面会写一下代码实现。有兴趣的可以一起讨论

相关推荐
龙潜月七4 分钟前
Selenium 自动化测试中跳过机器人验证的完整指南:能用
python·selenium·机器人
ChinaRainbowSea30 分钟前
9-2 MySQL 分析查询语句:EXPLAIN(详细说明)
java·数据库·后端·sql·mysql
风象南36 分钟前
SpringBoot基于Java Agent的无侵入式监控实现
java·spring boot·后端
崎岖Qiu42 分钟前
【Spring篇08】:理解自动装配,从spring.factories到.imports剖析
java·spring boot·后端·spring·面试·java-ee
香饽饽~、2 小时前
【第十一篇】SpringBoot缓存技术
java·开发语言·spring boot·后端·缓存·intellij-idea
蓝婷儿2 小时前
Python 机器学习核心入门与实战进阶 Day 1 - 分类 vs 回归
python·机器学习·分类
Devil枫3 小时前
Kotlin扩展函数与属性
开发语言·python·kotlin
程序员爱钓鱼3 小时前
Go语言实战指南 —— Go中的反射机制:reflect 包使用
后端·google·go
.30-06Springfield3 小时前
利用人名语言分类案例演示RNN、LSTM和GRU的区别(基于PyTorch)
人工智能·pytorch·python·rnn·分类·gru·lstm
ℳ₯㎕ddzོꦿ࿐3 小时前
Spring Boot 集成 MinIO 实现分布式文件存储与管理
spring boot·分布式·后端