强制Dlib python仅在CPU支持下安装;在具有Cuda和所有功能的GPU机器上

时间:2019-09-25 10:54:53

标签: python c++ gpu dlib

我已经在互联网上对其进行了搜索,我发现所有有人在使用Cuda安装Dlib时遇到麻烦。 我有完全相反的问题。我可以在Ubuntu(Google Colab)上成功安装具有Cuda和GPU支持的Dlib。但是我不想要那个。 我想强制Dlib使用CPU,因为当我将运行时更改为TPU时,将没有GPU。但是,即使运行时设置为“ NOT GPU”,Dlib也会在安装时找到CUDA,并在安装时添加了对CUDA的支持。

pip install Dlib

这默认情况下将使用cuda安装Dlib,因为我不知道有任何禁用Cuda的标志。 但是,即使我尝试从如下源代码构建Dlib:

!git clone https://github.com/davisking/dlib.git
%cd dlib
!mkdir build
%cd build
!cmake .. -DDLIB_USE_CUDA=0 -DUSE_AVX_INSTRUCTIONS=1 
!cmake --build .
# !sudo make install
# !sudo ldconfig
%cd ..
# !python setup.py build --no DLIB_USE_CUDA
!python setup.py install --no DLIB_USE_CUDA

我可以成功

import Dlib

但是当我使用后端调用Dlib的“ face_recogntion”

!pip install face_recognition
import dlib
import face_recognition

它引发错误:

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-52-c42385b122ec> in <module>()
      2 get_ipython().system('pip install face_recognition')
      3 import dlib
----> 4 import face_recognition

1 frames
/usr/local/lib/python3.6/dist-packages/face_recognition/api.py in <module>()
     21 
     22 cnn_face_detection_model = face_recognition_models.cnn_face_detector_model_location()
---> 23 cnn_face_detector = dlib.cnn_face_detection_model_v1(cnn_face_detection_model)
     24 
     25 face_recognition_model = face_recognition_models.face_recognition_model_location()

RuntimeError: Error while calling cudaGetDevice(&the_device_id) in file /tmp/pip-install-9p_kkgzg/dlib/dlib/cuda/gpu_data.cpp:178. code: 38, reason: no CUDA-capable device is detected

现在,我无法理解丢失的内容。 我应该设置什么标志以强制DLIB使用CPU甚至在有GPU的情况下也不寻找GPU。

3 个答案:

答案 0 :(得分:2)

在Google Colab中,转到工具栏>运行时>更改运行时类型>设置硬件加速器> GPU

答案 1 :(得分:1)

如果要直接从pip软件包安装,请使用以下命令

sudo pip install -v --install-option="--no" --install-option="DLIB_USE_CUDA" dlib

答案 2 :(得分:0)

如果您使用的是Google合作伙伴并已安装 在协作中!pip安装face_recognition 。 然后,您应该将运行时加速更改为GPU,以导入face_recognition