前言
由于服务器需要用到一个人脸检测模块,前前后后总共改用了三版。这是一篇总结性的文章,主要是我自己的心酸配置环境路程,关于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包