【问题标题】:Tensorflow-gpu with conda: where is CUDA_HOME specified?带有 conda 的 TensorFlow-gpu:在哪里指定了 CUDA_HOME?
【发布时间】:2018-08-01 09:20:51
【问题描述】:
过去,安装 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
conda
miniconda
【解决方案1】:
当你安装 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 驱动程序,它通常可以在标准的库搜索目录列表中找到。
【解决方案2】:
在我的例子中,以下命令会自动处理它:
$ sudo apt install nvidia-cuda-toolkit