当我使用tensorflow_gpu时,Dlib不使用GPU

时间:2019-04-22 02:13:07

标签: tensorflow dlib

我有 2个版本的tensorflow,cpu和gpu。我正在使用conda来管理我的环境。当我激活CPU的CPU时,dlib可以很好地在GPU上运行。但是当我使用gpu的时候,它就可以在cpu上运行。我不为什么,请帮助我。

我有一些系统信息,我不知道它可以提供一些信息。

  • Ubuntu 18.04LTS
  • python 3.6
  • CUDA 10.1
  • tensorflow-gpu 1.9.0
  • tensorflow 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

我希望当我使用GPU版本时,tensorflow dlib可以像使用CPU一样使用我的GPU。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我通过手动安装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 ++编译器版本。您也可以从
处获取一些信息 Install dlib with cuda support ubuntu 18.04

我的g ++版本是:(Ubuntu 6.5.0-2ubuntu1〜18.04)6.5.020181026。看来最新版本与CUDA不兼容。

如果一切正常,您会看到

>>> dlib.DLIB_USE_CUDA
True