Tensorflow GPU设置:PyCharm上的CUDA错误

时间:2016-06-21 00:35:30

标签: python ipython pycharm tensorflow

我在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
  • in /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安装可能有问题。

6 个答案:

答案 0 :(得分:12)

如果您收到此错误,请确保按照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的右上角,然后单击灰色向下箭头。

enter image description here

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

enter image description here

请注意,您正在处理的特定文件有一个Environment选项(它将在左侧面板中突出显示)和Defaults(如果您希望将来创建的文件设置为DYLD_...)这个)。请注意,您需要保存此配置,否则当您关闭PyCharm时它将不会粘住。

enter image description here

答案 1 :(得分:3)

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

我想补充一点,如果您希望在pyCharm中使这个永久更改(仅影响当前项目)而不是让它对每个网络文件都有,那么可以从界面上面显示的pepe,通过"默认"设置DYLD_LIBRARY_PATH。

enter image description here

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

答案 2 :(得分:0)

你可以尝试TF 0.9,它增加了MacOX GPU支持吗?

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

答案 3 :(得分:0)

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

请在这里查看我的答案。

http://php.net/manual/en/book.imagick.php

答案 4 :(得分:0)

在我的情况下,tensorflow版本是1.1,dlopen错误发生在

ipython和pycharm

环境: Cuda版本:8.0.62

cudnn version: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。复制包含/到/ 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:

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

    3. 在tensorflow官方安装指南中,它说需要cudnn 5.1,所以,这完全是关于 粗心

        

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

           

      使用GPU支持运行TensorFlow的要求。

           

      如果您使用本指南中介绍的某种机制安装TensorFlow并支持GPU,则必须在您的系统上安装以下NVIDIA软件:

           

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

答案 5 :(得分:-1)

我认为问题出在SIP(系统完整性保护)中。受限制的进程使用已清除的环境变量运行,并且您收到此错误。

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

$ csrutil disable

,然后重新启动