Linux Centos7.6成功安装dlib库19.16 人脸检测

前言

由于服务器需要用到一个人脸检测模块,前前后后总共改用了三版。这是一篇总结性的文章,主要是我自己的心酸配置环境路程,关于centos7.6实现人脸检测。

第一版:使用dll动态链接库,在win10上没有问题,但是linux需要.so文件才可以。后来没有将源码编译成功,换方案。

第二版:使用dll提供的python库PyFaceDet,本地运行没有问题,但是部署到服务器报错。服务器安装包PyFaceDet成功了,但是运行时出现错误“OSError: /lib64/libm.so.6: version `GLIBC_2.27' not found ”,出错了就找错呗。但是许多解决方案都提到需要冒着服务器崩溃的风险,我们这可是线上服务器啊。我按照网上搜索的步骤进行尝试,果然出现了错误,后来不敢动了。

另外,在网上搜索解决方案的时候,别一开始就下手去做,一定要大致浏览下全文,以及点赞数和评论,下面就是我这次遇到的情况。

图1  许多评论说可能会系统崩溃
图2 这个人写了很长很长的文章,最后来个这,太气人了,呜呜呜

第三版:我们决定采用更保险的方式,选用了普遍使用的dlib库,虽然精度不高,但是相对较稳定,对于系统配置并不高。然后,网上关于Centos7.6 系统安装dlib的解决方案依旧有很多,根据我的浏览器记录,有很多人说需要安装cmake、boost

注意:cmake可能时必须要求的,因为我系统上就有cmake;但是我并没有查到boost;另外,我还试了python中包的cmake、boost,后来我又把它卸载了,所以肯定的是,python中的cmake和boost对于dlib安装不是必须的,大家谨慎辨别各种博客。

好了,下面我要说我自己的安装步骤 了。

正文

我的步骤节选于附录[1]中的链接,为什么说是节选呢?因为有些步骤我没有用到,另外大家需要注意的是,它提到的“yum update”一定要慎用,除非你是大佬或者做好了服务器崩溃的准备

激活要安装dlib包的虚拟python环境,我的环境是venv

source venv/bin/activate

下载dlib的包安装,我下载的19.16 效果比较好

wget https://mirrors.tuna.tsinghua.edu.cn/pypi/web/packages/35/8d/e4ddf60452e2fb1ce3164f774e68968b3f110f1cb4cd353235d56875799e/dlib-19.16.0.tar.gz#sha256=d1f167054cec10987094861468df9c2c63b07cd97693809bd22e634d62215b26

解压

tar -zxvf dlib-19.16.0.tar.gz 

进入安装目录,安装dlib:

cd dlib-19.16.0
python setup.py install
#需要等待很长时间,大概5min左右

注:可能遇到内存不足的问题,安装过程中报错,按照这个操作(我没有遇到 ,这个是附录1博客提到的)

dd if=/dev/zero of=/var/swap.img bs=1024k count=1000
free -m
mkswap /var/swap.img
swapon /var/swap.img
#重新安装
python setup.py install

 检验,这时候已经出现dlib啦

pip list
成功安装dlib19.16.0包

附录

  1. https://blog.csdn.net/qq_37187272/article/details/104552887
  2. https://blog.csdn.net/qq_34201858/article/details/84334981

版权声明:本文为weixin_43442778原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。