【问题标题】:dlib hangs when building on Google Coral dev board在 Google Coral 开发板上构建时 dlib 挂起
【发布时间】:2019-11-17 08:26:45
【问题描述】:

我正在努力在 Google Coral 开发板上为 Python 安装最新版本的 dlib(http://dlib.net/,v19.17)。它适用于 Raspberry Pi 3 B+(似乎具有完全相同的 CPU 和 RAM 量),但在 Coral 开发板上以 80% 的速度卡住(在编译 vector.cpp 时)。运行时会发生这种情况:

python3 setup.py install

我曾尝试在 Mendel Linux(开发板运行)上进行以下操作,但没有成功:

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

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

我已经将cmake升级到最新版本,但没有成功,但还没有接触gcc。

【问题讨论】:

    标签: python gcc arm dlib google-coral


    【解决方案1】:

    @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
    

    【讨论】:

      【解决方案2】:

      看来问题出在过时的编译器版本上。升级C编译包后就好了。

      【讨论】:

        【解决方案3】:

        您添加了多少交换空间?我在 /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 或提供的引擎来运行推理。

        【讨论】:

        • 另外,仅供参考:cmake 版本 3.7.2,我没有更改要编译的内核数。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-24
        • 1970-01-01
        • 2019-04-02
        • 2022-06-18
        • 2016-11-18
        • 1970-01-01
        相关资源
        最近更新 更多