我在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
libcudart.7.5.dylib
的文件 libcudart.7.5.dylib
我尝试了.bash_profile
的几种排列但没有成功。不知道可能出现什么问题?
请注意,我可以成功将我的GPU与Theano一起使用,因此没有理由相信GPU / cuDNN / CUDA安装可能有问题。
答案 0 :(得分:12)
如果您收到此错误,请确保按照Tensorflow安装说明中的说明正确安装了CUDA,cuDNN。请注意您正在安装的TF,CUDA,cuDNN版本以及您正在使用的Python版本。
文件名,路径等经常变化,因此如果出现错误,可能需要在文件名和路径中进行小的调整。有时候其他人很难帮助你,因为你的系统可能有一个特定的路径设置/版本,而论坛中的某个人无法理解。
如果您收到我在OP中描述的错误,请退一步检查:
就我而言,在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
。
请注意,您正在处理的特定文件有一个Environment选项(它将在左侧面板中突出显示)和Defaults(如果您希望将来创建的文件设置为DYLD_...
)这个)。请注意,您需要保存此配置,否则当您关闭PyCharm时它将不会粘住。
答案 1 :(得分:3)
作为pepe答案的延伸,这是正确答案,我不介意将以下内容整合到原始答案中。
我想补充一点,如果您希望在pyCharm中使这个永久更改(仅影响当前项目)而不是让它对每个网络文件都有,那么可以从界面上面显示的pepe,通过"默认"设置DYLD_LIBRARY_PATH。
请记住,此更改本身并不会改变当前脚本的运行配置,最终仍需要手动更改(或从新默认值中删除和重新生成)
答案 2 :(得分:0)
你可以尝试TF 0.9,它增加了MacOX GPU支持吗?
https://github.com/tensorflow/tensorflow/blob/r0.9/RELEASE.md
答案 3 :(得分:0)
您的系统上似乎没有找到CUDA。这可能有很多原因,包括为一个版本的python安装CUDA,同时运行不同版本的python,而不知道其他版本的安装文件。
请在这里查看我的答案。
答案 4 :(得分:0)
在我的情况下,tensorflow版本是1.1,dlopen错误发生在
中ipython和pycharm
环境: Cuda版本:8.0.62
cudnn version:6
错误在pycharm和ipython中有点不同。我不能记得太多的细节,但ipython说有没有libcudnn.5.dylib ,但是pycharm只是说它有 导入错误,找不到图片 解决方案:
解压缩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
将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}}
在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
,然后重新启动