带有conda的Tensorflow gpu:CUDA_HOME在哪里指定



以前,安装tensorflow-gpu需要分别安装CUDA和cuDNN,并将LD_LIBRARY_PATHCUDA_HOME的路径添加到环境中。

现在,一个简单的conda install tensorflow-gpu==1.9可以处理所有事情。从环境中去除CUDA_HOMELD_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

最新更新