[英]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
libcudart.7.5.dylib
的文件 libcudart.7.5.dylib
的别名 我已经尝试了几个.bash_profile
排列没有成功。 任何想法可能有什么不对?
请注意,我可以成功地将我的GPU与Theano一起使用,因此没有理由相信GPU / cuDNN / CUDA安装可能有问题。
如果您收到此错误,请确保按照Tensorflow安装说明中的说明正确安装了CUDA,cuDNN。 请注意您正在安装的TF,CUDA,cuDNN版本以及您正在使用的Python版本。
文件名,路径等经常变化,因此如果出现错误,可能需要在文件名和路径中进行小的调整。 有时候其他人很难帮助你,因为你的系统可能有一个非常具体的路径设置/版本,论坛中的某个人无法理解。
如果您收到我在OP中描述的错误,请退后一步并检查:
在我的情况是发生只在PyCharm。 在PyCharm之外的 iPython 中 (即使用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_...
也可以使用DYLD_...
)。 请注意,您需要保存此配置,否则当您关闭PyCharm时它不会粘住。
你能试试TF 0.9,它增加了MacOX GPU的支持吗?
https://github.com/tensorflow/tensorflow/blob/r0.9/RELEASE.md
您似乎没有在系统上找到CUDA。 这可能有很多原因,包括为一个版本的python安装CUDA,同时运行不知道其他版本安装文件的不同版本的python。
请在这里查看我的答案。
在我的例子中,tensorflow版本是1.1,两个都发生了dlopen错误
ipython和pycharm
环境:Cuda版本:8.0.62
cudnn版本:6
pycharm和ipython中的错误有点不同。 我不能记得太多的细节,但是ipython说没有libcudnn.5.dylib ,但是pycharm只是说有导入错误,找不到图像解决方法:
解压缩cudnn。 将lib /复制到/ usr / local / cuda / lib。 复制include /到/ usr / local / cuda / include
unzip 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的文档。
...
我认为问题出在SIP(系统完整性保护)中。 受限制的进程使用已清除的环境变量运行,并且您收到此错误。
您需要进入恢复模式,启动终端并输入
$ csrutil disable
,并重新启动
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.