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

Tensorflow-gpu with conda: where is CUDA_HOME specified?

以前,安装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