我有 2个版本的tensorflow,cpu和gpu。我正在使用conda来管理我的环境。当我激活CPU的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。有人可以帮忙吗?
答案 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