[英]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.