以前,安装tensorflow-gpu
需要分别安装CUDA和cuDNN,并将LD_LIBRARY_PATH
和CUDA_HOME
的路径添加到环境中。
现在,一个简单的conda install tensorflow-gpu==1.9
可以处理所有事情。从环境中去除CUDA_HOME
和LD_LIBRARY_PATH
对tensorflow gpu没有任何影响。
问题:使用anaconda安装TensorFlow时,为其指定的CUDA路径在哪里?
当您安装tensorflow gpu时,它会安装另外两个conda包:
cudatoolkit: 9.0-h13b8566_0
cudnn: 7.1.2-cuda9.0_0
如果你仔细观察tensorflow动态共享对象,它会使用RPATH在Linux上获取这些库:
(tflow) $ ldd $CONDA_PREFIX/lib/python3.6/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so | grep -E 'cufft|curand'
libcufft.so.9.0 => /tmp/wani.1533146686/tflow/lib/python3.6/site-packages/tensorflow/python/../../../../libcufft.so.9.0 (0x00007fbb9454a000)
libcurand.so.9.0 => /tmp/wani.1533146686/tflow/lib/python3.6/site-packages/tensorflow/python/../../../../libcurand.so.9.0 (0x00007fbb905e4000)
(tflow) $ ldd $CONDA_PREFIX/lib/python3.6/site-packages/tensorflow/python/_pywrap_tensorflow_internal.so | grep cudnn
libcudnn.so.7 => /tmp/wani.1533146686/tflow/lib/python3.6/site-packages/tensorflow/python/../../../../libcudnn.so.7 (0x00007fd73b55d000)
您只需要libcuda.so.1
,一旦安装了cuda驱动程序,它通常可以在库的标准搜索目录列表中找到。
在我的情况下,以下命令会自动处理它:
$ sudo apt install nvidia-cuda-toolkit