Tensorflow GPU 设置:PyCharm 上的 CUDA 错误

Tensorflow GPU setup: error with CUDA on PyCharm

我在 Python3、MacOSX El Capitan 上安装了 TF 0.8。

当 运行 一个简单的 TF 测试代码时,我收到此消息:

ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow.so, 10): 
Library not loaded: @rpath/libcudart.7.5.dylib
  Referenced from: /Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow.so
  Reason: image not found

我的.bash_profile如下:

export PATH=/usr/local/bin:$PATH
export DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-7.5/lib:/usr/local/cuda/lib

我尝试了 .bash_profile 的几种排列,但都没有成功。知道哪里出了问题吗?

请注意,我可以成功地将我的 GPU 与 Theano 一起使用,因此没有理由相信 GPU/cuDNN/CUDA 安装可能有问题。

你能试试 TF 0.9,它增加了对 MacOX GPU 的支持吗?

https://github.com/tensorflow/tensorflow/blob/r0.9/RELEASE.md

如果您遇到此错误,请确保按照 Tensorflow 安装说明中的说明正确安装了 CUDA、cuDNN。请注意您正在安装的 TF、CUDA、cuDNN 版本以及您正在使用的 Python 版本。

文件名、路径等经常变化,因此如果突然出现错误,您可能需要对文件名和路径进行小幅调整。有时其他人很难帮助您,因为您的系统可能有一个非常具体的路径 setup/version 无法被论坛中的人理解。

如果您得到的正是我在 OP 中描述的错误,请后退一步并检查:

  • 这发生在 PyCharm 吗?
  • 这是否发生在 PyCharm 内的 iPython?
  • 两者都发生了吗?
  • 这是否发生在终端的 iPython 中?

在我的案例中,发生在PyCharm。在iPythonPyCharm之外(即使用Mac'Terminal'软件)一切正常。但是当在 PyCharm 中执行 iPython 时,或者当 运行 通过 PyCharm 测试文件时,我会得到错误。这意味着它与 PyCharm 有关,与 Tensorflow 安装无关。

确保您的 DYLD_LIBRARY_PATH 正确指向 libcudart.7.5.dylib 文件。使用 Finder 导航到那里,进行 Spotlight 搜索并找到文件或其别名。然后将该路径放入您的 .bash_profile。就我而言,这是有效的:

export DYLD_LIBRARY_PATH=/usr/local/cuda/lib

如果您的问题是PyCharm,则需要进行特定配置。转到 GUI 的右上角,然后单击灰色向下箭头。

选择"Edit Configuration"。您将看到一个 Environment 选项,您需要在其中单击 ... 框并输入适用于您的案例的 DYLD_LIBRARY_PATH

请注意,您正在处理的特定文件有一个环境选项(它将在左侧面板中突出显示)和默认值(如果您希望以后创建文件,也可以在此处输入 DYLD_...有这个)。请注意,您需要保存此配置,否则当您关闭时 PyCharm 它不会保留。

我认为问题出在 SIP(​​系统完整性保护)中。已清除环境变量的受限进程 运行 出现此错误。

您需要进入恢复模式,启动终端并输入

$ csrutil disable

,然后重启

您似乎没有在您的系统上找到 CUDA。这可能有多种原因,包括为 python 的一个版本安装 CUDA,而 运行 另一个版本的 python 不知道其他版本安装的文件。

请看这里我的回答。

作为pepe答案的扩展,是正确的,我不介意将以下内容整合到原始答案中。

我想补充一点,如果您希望在 pyCharm 中使此 更改永久化 (仅影响当前项目),而不是对每个项目都进行更改net 文件,是可能的,从 pepe 上面显示的界面,通过在 "Default" 下设置 DYLD_LIBRARY_PATH.

请记住,此更改本身不会改变当前脚本的 运行 配置,最终仍需要手动更改(或从新默认值中删除并重新生成)

在我的例子中,tensorflow 版本是 1.1,两者都出现 dlopen 错误

ipython 和 pycharm

环境: 库达 version:8.0.62

cudnnversion:6

错误在pycharm和ipython中略有不同。我记不起太多细节,但 ipython 说 没有 libcudnn。5.dylib,但 pycharm 只是说有 导入错误,找不到图像 解决方案:

  1. 下载 cudnn 版本 5

https://developer.nvidia.com/rdp/cudnn-download

  1. 解压 cudnn。将 lib/ 复制到 /usr/local/cuda/lib。复制 include/ 到 /usr/local/cuda/include

    解压cuda.zip
    cd cuda
    sudo cp -r lib /usr/local/cuda/lib
    sudo cp include/cudnn.h /usr/local/cuda/include

  2. 将 lib 目录路径添加到您的 DYLD_LIBRARY_PATH。在我的 ~/.bash_profile:

    中这样

    导出DYLD_LIBRARY_PATH=/Developer/NVIDIA/CUDA-8.0/lib:/usr/local/cuda/lib${DYLD_LIBRARY_PATH:+:${DYLD_LIBRARY_PATH}}

tensorflow官方安装指南说需要cudnn 5.1,所以,这就是careless

https://www.tensorflow.org/install/install_mac

Requirements to run TensorFlow with GPU support.

If you are installing TensorFlow with GPU support using one of the mechanisms described in this guide, then the following NVIDIA software must be installed on your system:

...
The NVIDIA drivers associated with CUDA Toolkit 8.0.
cuDNN v5.1. For details, see NVIDIA's documentation.
...