【问题标题】:compile dlib with cuda用 cuda 编译 dlib
【发布时间】:2018-09-18 18:11:12
【问题描述】:

我正在尝试用 cuda 编译 dlib。我从这个 GitHub 链接 https://github.com/davisking/dlib 克隆存储库,然后尝试运行

python setup.py install --yes USE_AVX_INSTRUCTIONS

但是我收到一个错误。谁能帮我解决一下?

【问题讨论】:

  • 屏幕截图的第 4 行提到了一些错误日志,可能它可能包含更多信息。
  • 您好,我检查了 CMakeOutput.log。只有一行:“系统是:Windows - 10.0.16299 - AMD64”
  • 可能需要安装 cmake 和一些 c++ 编译器,按照dlib.net/compile.html上的说明进行操作

标签: dlib


【解决方案1】:

为源代码创建一个文件夹

mkdir -p /opt/SP/packages/
cd $_

克隆存储库

git clone https://github.com/davisking/dlib.git
cd dlib
git submodule init
git submodule update

创建一个用于构建软件的文件夹(必须安装cmake)

mkdir build
cd $_

现在使用以下选项运行 cmake:

cmake  -D DLIB_USE_CUDA=1 -D USE_AVX_INSTRUCTIONS=1 ../

If everything is fine, you can see a similar output

注意:如果您的系统与它们兼容,请安装 cuDNN、openblas 和 Intel MKL/BLAS/LAPACK

英特尔性能库链接:https://software.seek.intel.com/performance-libraries

cuDNN 链接:https://developer.nvidia.com/cudnn

现在你可以编译源码了

cmake --build . --config Release

在这些步骤之后,源代码被编译。

现在您可以安装 python API。

cd ../
python setup.py install

注意:本次编译将使用所有可用的CPU,请确保您有足够的内存进行编译。

完成后,您可以查询您的 python 包以确保现在已安装 dlib:

pip freeze | grep dlib

检查是否安装成功:

Open a terminal and run the following

>>> import dlib.cuda as cuda;
>>> print(cuda.get_num_devices());
1
>>> import dlib
>>> dlib.DLIB_USE_BLAS
True
>>> dlib.DLIB_USE_CUDA
True
>>> dlib.DLIB_USE_LAPACK
True

【讨论】:

  • 我按照你的指示,上了python setup.py install - ` subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--config', ' Release', '--', '/m']' 返回非零退出状态 1.` 虽然,它在配置部分没有显示任何问题。知道我是怎么得到的吗?
  • 您需要共享构建执行的完整日志
  • 我在这里提出了一个问题:stackoverflow.com/questions/68045773/…
【解决方案2】:

您应该注意的步骤,请注意我在这里给出的解决方案是通用的。它将适用于所有用户。 从官网下载最新版本的dlib(当前为dlib 19.15)。

  1. 检查您的 Ubuntu/Mint 版本。如果您使用的是仿生,那么您应该为 cuda 10 下载 cuda10 和 cudnn。Artful 和 Xenial 可以与 cuda 9 一起使用。
  2. 安装最新版本的 CMake,即 3.12.x(当前)。否则你可能会遇到一些错误,比如

    CUDA_cublas_device_LIBRARY (ADVANCED) "等

  3. 如果你想在 python2 中安装支持 cuda 的 dlib,那么命令是:

    sudo python setup.py install --yes USE_AVX_INSTRUCTIONS --yes DLIB_USE_CUDA 
    

    对于python3,命令是:

    sudo python3 setup.py install --yes USE_AVX_INSTRUCTIONS --yes DLIB_USE_CUDA 
    
  4. 您可能会收到类似python.h not found 的错误。因此,您可以使用以下命令:

    sudo apt-get install python3-dev or sudo apt-get install python2-dev  
    
    sudo apt-get install libpython2.7-dev python-numpy
    
  5. 成功!!!

如果您正在使用 Anaconda,则只需复制

的内容

/usr/local/lib/python3.6/dist-packages

并粘贴到

/home/Your_computer's_name/anaconda3/lib/python3.6/site-packages

轰!你可以走了!

【讨论】:

    猜你喜欢
    • 2014-11-09
    • 2018-12-08
    • 2018-09-25
    • 2019-01-27
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 2018-01-09
    • 2017-09-27
    相关资源
    最近更新 更多