中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

tensorflow-gpu安裝的常見問題及解決方案

發布時間:2020-09-10 09:54:55 來源:腳本之家 閱讀:209 作者:上山老人 欄目:開發技術

裝tensorflow-gpu的時候經常遇到問題,自己裝過幾次,經常遇到相同或者類似的問題,所以打算記錄一下,也希望對其他人有所幫助

基本信息

  • tensorflow-gpu
  • pip安裝(virtualenv等虛擬安裝實質也是pip安裝,只是建了個獨立的環境,不會影響系統環境,查問題比較容易,最多重新再創建一個干凈的環境再來)

安裝完之后會用import tensorflow看是否安裝成功,結果報錯,主要有碰到下面兩大類報錯信息:

1.ImportError: DLL load failed: 找不到指定的模塊 之pywrap_tensorflow.py

報錯信息里面有大量的pywrap_xxx相關的腳本報錯:

Traceback (most recent call last):
 File "E:\study\machinelearning\ENV\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
 from tensorflow.python.pywrap_tensorflow_internal import *
 File "E:\study\machinelearning\ENV\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
 _pywrap_tensorflow_internal = swig_import_helper()
 File "E:\study\machinelearning\ENV\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper
 _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
 File "E:\study\machinelearning\ENV\lib\imp.py", line 242, in load_module
 return load_dynamic(name, filename, file)
 File "E:\study\machinelearning\ENV\lib\imp.py", line 342, in load_dynamic
 return _load(spec)
ImportError: DLL load failed: 找不到指定的模塊。

這類錯誤出現的最多,主要有幾大類原因:

(1)Microsoft Visual C++ 2015 Redistributable Update 3 沒有裝

這個是自己第一次裝的時候碰到的,下載 vc_redist.x64.exe 安裝之后就ok了

再生波瀾

自己今天再裝的時候,下載下來發現安裝不了,看日志是說我的vs版本比較新,所以不能裝。這個時候可以可以看看自己本機的system32下面有沒有MSVCP140.DLL這個文件

其他解決方案

有些網友說用的比較新的tensorflow,裝了2017的Redistributable包就好了,你也可以試試

我再裝完2017的包之后,并且檢查自己系統中已經有了MSVCP140.DLL文件依舊報同樣的錯誤

(2)cuda和cudnn版本不一致

這個問題也是非常多的,我裝了很多次的cuda基本上沒有安裝失敗過,但是遇到和cudnn版本不一致的情況。因為下載的cuda默認是最新版本的cuda10.0,而我下載的cudnn當時用的舊的,也就是給cuda9.0的,所以后面換了一下也就解決問題了

cuda下載

tensorflow-gpu安裝的常見問題及解決方案

我這里默認點完自己系統的配置(win10x64)得到的是最新的cuda10-win10,可以點擊最右邊的Legacy Releases看到更早一點的版本

cuda安裝和驗證

一路next貌似沒遇到過啥問題

驗證的話:在命令行下面輸入nvcc -V,看是否OK

另外sample下面的兩個是deviceQuery.exe和bandwidthTest.exe執行都沒有出現問題過

cudnn下載

要登錄nvidia developer賬號

tensorflow-gpu安裝的常見問題及解決方案

點開最下面的Archived cuDNN Releases可以看到更多的版本,因為我下載的是cuda-9.0,穩妥起見,我下載的cudnn版本是:Download cuDNN v7.0.5 (Dec 5, 2017), for CUDA 9.0

按照道理來講這里的Download cuDNN v7.5.0 (Feb 21, 2019), for CUDA 9.0應該也可以,下次驗證再確認一下。

cudnn安裝

在下載的頁面可以打開Installation-Guide看一下windows的cudnn安裝指南,主要有以下操作

(1)把解壓縮的cudnn下面的bin、lib和include三個文件夾下面的文件拷貝到cuda安裝的目錄下面同名的目錄下面

cuda路徑:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

(2)把CUDA路徑添加到環境變量的CUDA_PATH中

tensorflow-gpu安裝的常見問題及解決方案

cuda本書在安裝的時候會把cuda的安裝路徑添加的環境變量的path中(注意:是在path的最前面,不容易看到),所以不必自己把cuda的路徑添加到path中

這里自己是把解壓后的cudnn放到d盤,比如:D\cuda,然后把D:\cuda\bin放到了path中,因為網上有些人是這樣建議的。但是看cudn的安裝指南并沒有提及到,所以感覺應該不需要

很遺憾的是,今天保證這里版本一直之后,還是依舊報 = =

(3)tensorflow-gpu版本不一致

安裝tensorflow-gpu的時候一般都是用的默認指令:

pip install --upgrade tensorflow-gpu

結果是會把tensorflow-gpu的最新版本裝上,我的版本情況如下:

(1)python:3.6.0 (2)cuda-9.0 (3)cudnn-7.0 (4)tensorflow-gpu-1.13.0

最新的cuda是10.0了,但是我裝的是9.0,所以我把tensorflow-gpu裝到1.12.0,然后完美解決問題了。_

pip uninstall 
tensorflow-gpu==1.13.0
pip install tensorflow-gpu==1.12.0

這里說明tensorflow-gpu1.13.0估計是用了最新的cuda版本中的內容,也算是版本不一致了。

如果跟我一樣,上面的問題都解決了,那就看看是不是這里版本太新或者太舊了。這里有個插曲,因為我開始不小心把1.12.0輸成了1.2.0,結果還是不行,沒注意結果純粹浪費了一段時間。

(4)其他python庫版本問題等

網上有些人還遇到numpy等python庫版本等的問題,我倒是沒遇到,因為安裝tensorflw-gpu的時候會把相關的依賴包都給下載下來

2.TensorFlow pip installation issue: cannot import name 'descriptor'之graph_pb2.py

報錯信息如下有graph_xxx相關的腳本報錯:

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "F:\study\machinelearning\ENV\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
 from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
 File "F:\study\machinelearning\ENV\lib\site-packages\tensorflow\python\__init__.py", line 59, in <module>
 from tensorflow.core.framework.graph_pb2 import *
 File "F:\study\machinelearning\ENV\lib\site-packages\tensorflow\core\framework\graph_pb2.py", line 6, in <module>
 from google.protobuf import descriptor as _descriptor
 File "F:\study\machinelearning\ENV\lib\site-packages\google\protobuf\descriptor.py", line 47, in <module>
 from google.protobuf.pyext import _message
ImportError: DLL load failed: 找不到指定的程序。

這個我碰到過兩次,都是protobuf的版本高了的緣故,網上搜到的也是這個原因,把protobuf的版本從3.6.1降到3.6.0解決

pip list
pip uninstall protobuf
pip install protobuf==3.6.0
pip list

參考

[1]import error: load dll failed

總結

以上所述是小編給大家介紹的tensorflow-gpu安裝的常見問題及解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武冈市| 铜梁县| 大邑县| 河津市| 江源县| 莱芜市| 肃宁县| 双柏县| 湘潭县| 涟水县| 米脂县| 上杭县| 贵州省| 鄂托克前旗| 铜梁县| 沧源| 巢湖市| 图木舒克市| 余江县| 马龙县| 大埔区| 凉城县| 许昌县| 大田县| 嘉善县| 高邮市| 调兵山市| 泗洪县| 阳城县| 宁夏| 班玛县| 澄江县| 莱芜市| 威宁| 确山县| 金坛市| 镇康县| 合肥市| 炉霍县| 德化县| 万宁市|