python - 当我使用带有 python 扩展的 VScode 调试 TensorFlow 程序时,出现 ImportError : libcudart. so.7.5?

标签 python tensorflow visual-studio-code

我已经在我的 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/

相关文章:

c# - Unity3d 2019.3.10 UnityEngine.UI;未找到

c++ - 获取错误调试断言失败 : Expression c >= -1 && c <= 255

python - 使用 ElementTree 提取子 XML,忽略命名空间

python - 使用 ELMo 嵌入段落

python - 如何抑制 IPython 启动消息?

tensorflow - 使用 MirroredStrategy 时,tensorflow Estimator 是否为工作人员采取不同的批处理?

tensorflow - tf.name_scope 的用法

node.js - npm create-react-app 错误 : EACCES: permission denied. 该操作被您的操作系统拒绝

python - 在获取小输出大小的同时从 Python 脚本创建可执行文件

python - 最好先按 keys_only=True 然后按 get_multi 查询还是只按完整查询?