【问题标题】:Tensorflow GPU setup: error with CUDA on PyCharmTensorflow GPU 设置:PyCharm 上的 CUDA 错误
【发布时间】:2016-10-22 09:07:27
【问题描述】:

我在 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
  • 在 /Developer/NVIDIA/CUDA-7.5/lib 我有一个名为 libcudart.7.5.dylib 的 文件
  • 在 /usr/local/cuda/lib 我有一个名为libcudart.7.5.dylib的别名

我尝试了几种.bash_profile 的排列,但均未成功。知道可能出了什么问题吗?

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

【问题讨论】:

    标签: python ipython pycharm tensorflow


    【解决方案1】:

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

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

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

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

    就我而言,它仅在 PyCharm 中发生。在 iPython PyCharm 之外(即使用 Mac 的“终端”软件)中一切正常。但是在 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 的右上角,然后单击灰色的向下箭头。

    选择“编辑配置”。您将看到一个Environment 选项,您需要单击... 框并输入适用于您的案例的DYLD_LIBRARY_PATH。

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

    【讨论】:

    • 谢谢。这似乎是我一直在寻找的解决方案。看起来我面临的问题是我试图从 PyCharms 配置设置对话框中调用预定义的环境变量 $CUDA_HOME/lib。当我更改为完整的 /usr/local/cuda/lib 时,一切都开始工作了。
    【解决方案2】:

    作为对pepe答案的扩展,这是正确的,我不介意以下是否集成到原始答案中。

    我想补充一点,如果您希望在 pyCharm 中进行此永久更改(仅影响当前项目)并且不对每个网络文件执行此操作,可以从界面上面由 pepe 显示,通过在“默认”下设置 DYLD_LIBRARY_PATH。

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

      • 感谢@yao -- 你推荐哪种安装程序?
      • 我推荐 virtualenv 安装:tensorflow.org/versions/r0.9/get_started/…
      • 我重新进行了整个安装 - 并得到完全相同的错误。如果您有任何其他建议,请告诉我!
      【解决方案4】:

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

      请看我这里的回答。

      https://stackoverflow.com/a/41073045/1831325

      【讨论】:

        【解决方案5】:

        在我的例子中,tensorflow 版本是 1.1,dlopen 错误发生在两者中

        ipython 和 pycharm

        环境: cuda版本:8.0.62

        cudnn 版本: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,所以,这都是粗心。

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

        在支持 GPU 的情况下运行 TensorFlow 的要求。

        如果您使用本指南中描述的机制之一安装支持 GPU 的 TensorFlow,则必须在您的系统上安装以下 NVIDIA 软件:

        ...
        与 CUDA Toolkit 8.0 关联的 NVIDIA 驱动程序。
        cuDNN v5.1。有关详细信息,请参阅 NVIDIA 的文档。
        ...

        【讨论】:

          【解决方案6】:

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

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

          $ csrutil disable
          

          ,然后重启

          【讨论】:

          • 对我的情况没有任何影响。
          猜你喜欢
          • 1970-01-01
          • 2023-03-14
          • 2019-06-09
          • 2019-06-04
          • 2021-01-31
          • 1970-01-01
          • 2020-11-23
          • 2016-08-28
          • 2017-07-23
          相关资源
          最近更新 更多