我有两个版本的tensorflow,cpu和gpu。我正在使用conda来管理我的环境。当我激活cpu的时,dlib可以很好地在GPU上运行。但是当我使用gpu的时候,它只是在cpu上运行。我不是为什么,请帮助我。
有一些我的系统信息,我不知道它可以提供一些信息。
测试代码
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。有人可以帮忙吗?
我通过手动安装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.0 20181026.看起来最新版本与CUDA不兼容。
如果一切正常,你会看到
>>> dlib.DLIB_USE_CUDA
True