在Google Coral开发板上构建时dlib挂起

时间:2019-07-07 17:23:19

标签: python gcc arm dlib google-coral

我正在努力在Google Coral开发板上为Python安装最新版本的dlib(http://dlib.net/,v19.17)。它与Raspberry Pi 3 B +(似乎具有完全相同的CPU和RAM数量)一起很好地工作,但在珊瑚开发板上的卡住率为80%(在编译vector.cpp时)。运行跑步时会发生这种情况:

python3 setup.py install

我尝试在Mendel Linux(开发板运行)上进行以下跟踪,但未成功:

  • 将cmake升级到最新版本,
  • 更改setup.py用于构建dlib的内核数量
  • 添加SWAP文件

我看到的RPI和Coral / Mendel之间的主要区别是孟德尔上的cmake和gcc的旧版本。

我已将cmake升级到最新版本,但未成功,但尚未涉及gcc。

3 个答案:

答案 0 :(得分:1)

您添加了多少交换空间?我在/ swapfile文件中添加了1GB,并已完成构建。

creating build/bdist.linux-aarch64
creating build/bdist.linux-aarch64/egg
copying build/lib.linux-aarch64-3.5/dlib.cpython-35m-aarch64-linux-gnu.so -> build/bdist.linux-aarch64/egg
creating stub loader for dlib.cpython-35m-aarch64-linux-gnu.so
byte-compiling build/bdist.linux-aarch64/egg/dlib.py to dlib.cpython-35.pyc
creating build/bdist.linux-aarch64/egg/EGG-INFO
copying dlib.egg-info/PKG-INFO -> build/bdist.linux-aarch64/egg/EGG-INFO
copying dlib.egg-info/SOURCES.txt -> build/bdist.linux-aarch64/egg/EGG-INFO
copying dlib.egg-info/dependency_links.txt -> build/bdist.linux-aarch64/egg/EGG-INFO
copying dlib.egg-info/not-zip-safe -> build/bdist.linux-aarch64/egg/EGG-INFO
copying dlib.egg-info/top_level.txt -> build/bdist.linux-aarch64/egg/EGG-INFO
writing build/bdist.linux-aarch64/egg/EGG-INFO/native_libs.txt
creating dist
creating 'dist/dlib-19.18.0-py3.5-linux-aarch64.egg' and adding 'build/bdist.linux-aarch64/egg' to it
removing 'build/bdist.linux-aarch64/egg' (and everything under it)
Processing dlib-19.18.0-py3.5-linux-aarch64.egg
creating /usr/local/lib/python3.5/dist-packages/dlib-19.18.0-py3.5-linux-aarch64.egg
Extracting dlib-19.18.0-py3.5-linux-aarch64.egg to /usr/local/lib/python3.5/dist-packages
Adding dlib 19.18.0 to easy-install.pth file

Installed /usr/local/lib/python3.5/dist-packages/dlib-19.18.0-py3.5-linux-aarch64.egg
Processing dependencies for dlib==19.18.0
Finished processing dependencies for dlib==19.18.0
mendel@arid-valet:~ % python3 -c 'print(__import__("dlib").__version__)'
19.18.0

尽管我不确定dlib是否会充分利用您的开发板。由于开发板进行快速推理的主要优势是TPU,因此最好使用tflite_runtime API或提供的引擎来运行推理。

答案 1 :(得分:0)

似乎问题出在过时的编译器版本上。升级C编译器软件包后还可以。

答案 2 :(得分:0)

@NamVu的solution为我工作:增加交换文件的大小。我也未能在vector.cpp上编译dlib(版本:19.19.0,CMake:3.7.2)。我将交换空间增加到2GB,并能够完成构建。我安装了外部SD卡和大型交换文件according to this excellent guide。装入SD卡之后,请按照以下步骤从guid创建交换文件:

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile