用cuda编译dlib

时间:2018-04-09 10:58:46

标签: dlib

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

python setup.py install --yes USE_AVX_INSTRUCTIONS

但我收到错误。有人可以帮我解决吗?

enter image description here

2 个答案:

答案 0 :(得分:3)

创建用于托管源的文件夹

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

答案 1 :(得分:2)

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

  1. 检查您的Ubuntu / Mint版本。如果您使用仿生,则应下载cuda10和cudnn以获得cuda10。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 /您的计算机的名称/anaconda3/lib/python3.6/site-packages

BOOM!你很好走!