Dlib не использует графический процессор, когда я использую tenorflow_gpu

У меня есть 2 версии tenorflow, cpu и gpu. И я использую conda для управления своей средой. Когда я активирую процессор, dlib может очень хорошо работать на графическом процессоре. Но когда я использую один графический процессор, он просто запускается на процессоре. Я не знаю почему, пожалуйста, помогите мне.

Есть некоторая информация о моей системе, я не знаю, что она может дать некоторую информацию.

  • Ubuntu 18.04LTS
  • Python 3.6
  • CUDA 10.1
  • tenorflow-gpu 1.9.0
  • тензор потока 1.12.0

Тестовый код

conda activate ML

ipython

>>> import dlib

>>> dlib.DLIB_USE_CUDA

True

Код выше выводит True, а код ниже - False.

conda activate ML_GPU

ipython

>>> import dlib

>>> dlib.DLIB_USE_CUDA

False

Я надеюсь, что когда я использую версию для графического процессора, tenorflow dlib может использовать мой графический процессор так же, как и процессор. Кто-нибудь может помочь?


person Gingkens    schedule 22.04.2019    source источник


Ответы (1)


Я решил эту проблему, установив dlib вручную. Для этого есть шаги.

Примечание. Эти действия следует выполнить на виртуальных средах.

conda activate ML_GPU

pip uninstall dlib

git clone https://github.com/davisking/dlib.git

cd dlib

mkdir build

cd build

cmake .. -DDLIB_USE_CUDA=1 -DUSE_AVX_INSTRUCTIONS=1

cmake --build .

cd ..

python setup.py install

Еще есть проблема, когда вы делаете последний шаг. Вы должны заметить, если увидите такую ​​информацию: CUDA был обнаружен, но вашему компилятору не удалось скомпилировать простую программу CUDA, поэтому dlib не собирается использовать CUDA.

Затем вам следует изменить версию компилятора g ++. Вы также можете найти некоторую информацию в
Установите dlib с поддержкой cuda ubuntu 18.04.

Моя версия g ++: (Ubuntu 6.5.0-2ubuntu1 ~ 18.04) 6.5.0 20181026. Похоже, последняя версия несовместима с CUDA.

Если все в порядке, Вы увидите

>>> dlib.DLIB_USE_CUDA
True
person Gingkens    schedule 22.04.2019