如何在1核2G的Ubuntu服务器上安装dlib

最近有一个人脸识别的程序,使用到了python的dlib库,而且要在服务器上处理视频,安装的时候踩了挺多坑的,记录一下。

服务器的环境是Ubuntu Server 20.04,鹅厂云的学生机(因为太穷了)

1. 尝试使用pip安装 (失败)

首先尝试使用pip安装

python3 -m pip install dlib -i http://mirrors.tencentyun.com/pypi/simple

然后他装到一半ssh连接都断了,服务器还报警了,我去控制台查了一下,然后发现

好吧我懂了,这怕不是编译卡死了,于是我不死心又下载了源码安装。

2. 源码安装 (失败)

https://github.com/davisking/dlib.git
cd dlib
python setup.py install

然后,装着装着他就崩了

百度了一下

好吧,人麻了,合着就是内存不够呗。

3. 修改dlib源码,使用自带的dlib链接库编译 (成功)

然后我的某个巨佬同学提醒了我,Ubuntu是自带dlib的库的

人麻了,谢谢大佬提醒....

首先,查看一下Ubuntu带的dlib版本,发现是19.10的,先下载下来19.10的源码吧。

wget http://dlib.net/files/dlib-19.10.zip

然后解压之后,查看一下setup.py

发现C编译的路径是tools/python,然后去看一下那个cmakelists,发现了引用了工程

直接改成apt安装的

然后python setup.py,补上几个缺的依赖,最后安装成功了

4. 写在最后

如果不想看这个沙雕啰里啰唆的,直接复制后面的这几行就可以运行了吧...

sudo apt install -y cmake libdlib-dev libboost-python-dev libopenblas-dev liblapack-dev pybind11-dev libpng-dev libjpeg-dev libsqlite3-dev wget
wget http://dlib.net/files/dlib-19.10.zip
unzip dlib-19.10.zip
cd dlib-19.10
sed -i "s/add_subdirectory(..\/..\/dlib\/external\/pybind11 .\/pybind11_build)/find_package(pybind11 REQUIRED)/" ./tools/python/CMakeLists.txt
sed -i "s/add_subdirectory(..\/..\/dlib .\/dlib_build)/find_package(dlib REQUIRED)/" ./tools/python/CMakeLists.txt
python setup.py install
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容