【问题标题】:Force Dlib python to install with CPU support only; on a GPU machine with Cuda and everything强制 Dlib python 仅安装 CPU 支持;在带有 Cuda 和一切的 GPU 机器上
【发布时间】:2020-01-25 13:14:58
【问题描述】:

我在互联网上搜索过它,我只能找到人们在使用 Cuda 安装 Dlib 时遇到问题。 我有完全相反的问题。我可以在 Ubuntu (Google Colab) 上成功安装具有 Cuda 和 GPU 支持的 Dlib。但我不想那样。 我想强制 Dlib 使用 CPU,因为当我将运行时更改为 TPU 时,将没有 GPU。但是 Dlib 在安装时会找到 CUDA,并在安装时添加对 CUDA 的支持,即使运行时设置为“NOT GPU”。

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 也不寻找。

【问题讨论】:

  • 我有同样的问题,通过python setup.py install --no DLIB_USE_CUDA 安装对我有用。
  • 是的,它也对我有用......不过需要重新启动系统:)

标签: python c++ gpu dlib


【解决方案1】:

如果您想直接从 pip 包安装,请使用以下命令

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 有没有办法选择两个硬件加速器? .我需要使用 TPU,所以我们可以选择 TPU 还是 GPU?我的问题不是使用 GPU,而是不使用它。无论如何,问题已经解决了,我猜你可以用这篇文章的标题查看 Dlib 的问题。
    【解决方案3】:

    如果您使用的是 google collaboratory 并已安装 !pip install face_recognition 在协作中。 然后您应该将运行时加速更改为 GPU 以 import face_recognition

    【讨论】:

    • 如我所见,问题是关于如何使用 CPU 而不是 GPU。我不确定你的回答是否有效。
    猜你喜欢
    • 1970-01-01
    • 2019-02-27
    • 2020-09-02
    • 1970-01-01
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多