我已经在我的 Ubuntu 系统上安装了带有 Python 扩展的 VSCode。我还正确安装了 TensorFlow 0.9、CUDA 7.5 和 cuDNN 库。
但是,当我使用VSCode调试tensorflow程序时,导入tensorflow(导入tensorflow)时会报错,如下:
ImportError: libcudart.so.7.5: cannot open shared object file: No such file or directory
我可以确定所有库都已成功安装。因为我可以在VSCode中调试和运行Python程序,也可以使用Ubuntu Terminal运行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库。然后我发现我的 Ubuntu 系统上没有正确安装 cuDNN 库。我使用以下命令修改了我的安装:
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 中调试我的程序了。
关于python - 当我使用带有 python 扩展的 VScode 调试 TensorFlow 程序时,出现 ImportError : libcudart. so.7.5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38095478/