我已经在我的 Ubuntu 系统上安装了带有 Python 扩展的 VSCode。我还正确安装了 TensorFlow 0.9、CUDA 7.5 和 cuDNN 库。
但是,当我使用VSCode调试tensorflow程序时,导入tensorflow(import tensorflow)会报错如下:
ImportError: libcudart.so.7.5: cannot open shared object file: No such file or directory
我可以确定所有的库都安装成功了。因为我可以在 VSCode 中调试和运行 Python 程序,我也可以使用 Ubuntu 终端运行 tensorflow 程序。
此外,当我从 Ubuntu 终端导入 tensorflow 时,输出如下:
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally
如您所见,它没有使用库“libcudart.so.7.5”。
我也检查了 ~/.bashrc 中的 CUDA 路径,如下所示:
export CUDA_HOME=/usr/local/cuda-7.5
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64
export PATH=$PATH:/usr/local/cuda-7.5/bin
由于我的 CUDA 安装在路径 '/usr/local/cuda-7.5' 中,而且我也可以在该路径中找到 'libcudart.so.7.5' 库,所以我认为没有任何错误。
那么问题是什么?为什么从Terminal导入,没有报错,而从vscode导入时,却出现这样的错误?谢谢。
请您参考如下方法:
我在搜索和阅读了很多网页后终于解决了这个问题。方法如下:
首先,使用以下命令链接 CUDA 库:
sudo ldconfig /usr/local/cuda/lib64
然后,我可以在 VSCode 中导入 tensorflow。但是还是有一个错误,如下:
I tensorflow/stream_executor/dso_loader.cc:99] Couldn't open CUDA library libcudnn.so. LD_LIBRARY_PATH:
I tensorflow/stream_executor/cuda/cuda_dnn.cc:1562] Unable to load cuDNN DSO
虽然程序可以运行,但是程序好像找不到cuDNN库。然后我发现 cuDNN 库没有在我的 Ubuntu 系统上正确安装。我使用以下命令修改了我的安装:
cd ~/cuda
sudo cp include/cudnn.h /usr/include
sudo cp lib64/libcudnn* /usr/lib/x86_64-linux-gnu/
sudo chmod a+r /usr/lib/x86_64-linux-gnu/libcudnn*
这里,'~/cuda'是我的cuDNN安装文件的路径。
最后,完成所有这些步骤后,我现在可以导入 tensorflow 并在 VSCode 中调试我的程序了。
