簡體   English   中英

Tensorflow GPU設置:PyCharm上的CUDA錯誤

[英]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
  • 在/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安裝可能有問題。

如果您收到此錯誤,請確保按照Tensorflow安裝說明中的說明正確安裝了CUDA,cuDNN。 請注意您正在安裝的TF,CUDA,cuDNN版本以及您正在使用的Python版本。

文件名,路徑等經常變化,因此如果出現錯誤,可能需要在文件名和路徑中進行小的調整。 有時候其他人很難幫助你,因為你的系統可能有一個非常具體的路徑設置/版本,論壇中的某個人無法理解。

如果您收到我在OP中描述的錯誤,請退后一步並檢查:

  • 這是在PyCharm發生的嗎?
  • 這是在PyCharm內的iPython中發生的嗎?
  • 這兩件事都發生了嗎?
  • 這是在終端的iPython中發生的嗎?

在我的情況是發生在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時它不會粘住。

在此輸入圖像描述

作為pepe答案的延伸,這是正確的答案,我不介意將以下內容整合到原始答案中。

我想補充一點,如果你想在pyCharm中永久地改變這個(只影響當前的項目)並且沒有讓它對每個網絡文件都做,那么可以從pepe上面顯示的界面,通過“默認“設置DYLD_LIBRARY_PATH。

在此輸入圖像描述

請記住,這個更改本身並不會改變當前腳本的運行配置,最終仍需要手動更改(或從新默認值中刪除和重新生成)

你能試試TF 0.9,它增加了MacOX GPU的支持嗎?

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

您似乎沒有在系統上找到CUDA。 這可能有很多原因,包括為一個版本的python安裝CUDA,同時運行不知道其他版本安裝文件的不同版本的python。

請在這里查看我的答案。

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

在我的例子中,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

    unzip 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}}

在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM