[英]Cannot import Tensorflow for GPU on Windows 10
試圖在我的機器上安裝Tensorflow的gpu版本,但是在嘗試'import tensorflow'時我遇到了這個錯誤
ImportError Traceback(最近一次調用最后一次)C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ site-packages \\ tensorflow \\ python \\ pywrap_tensorflo w_internal.py in swig_import_helper()17 try:---> 18 return importlib.import_module(mname) 19除了ImportError:
C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ importlib__init __。py in import_module(name,pac kage)125 level + = 1 - > 126 return _bootstrap._gcd_import(name [level:],package,level)127
_gcd_import中的C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ importlib_bootstrap.py(名稱,pac kage,級別)
_find_and_load中的C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ importlib_bootstrap.py(name,import_)
_find_and_load_unlock ed(name,import_)中的C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ importlib_bootstrap.py
_load_unlocked(spec)中的C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ importlib_bootstrap.py
module_from_spec(spec)中的C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ importlib_bootstrap.py
create_modul中的C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ importlib_bootstrap_external.py(self,spec)
_call_with_frames_rem oved中的C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ importlib_bootstrap.py(f,* args,** kwds)
ImportError:DLL加載失敗:找不到指定的模塊。
在處理上述異常期間,發生了另一個異常:
ImportError Traceback(最近一次調用最后一次)C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ site-packages \\ tensorflow \\ python \\ pywrap_tensorflo w.py in()40 sys.setdlopenflags(_default_dlopen_flags | ctypes.RTLD_GLOBAL)---> 41 from tensorflow.python.pywrap_tensorflow_internal import * 42 from tensorflow.python.pywrap_tensorflow_internal import version
C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ site-packages \\ tensorflow \\ python \\ pywrap_tensorflo w_internal.py in()20返回importlib.import_module('_ pywrap_tensorflow_internal')---> 21 _pywrap_tensorflow_internal = swig_import_helper()22 del swig_import_helper
swig_import_helper()中的C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ site-packages \\ tensorflow \\ python \\ pywrap_tensorflo w_internal.py除了ImportError:---> 20返回importlib.import_module('_ pywrap_tensorflow_internal')21 _pywrap_tensorflow_internal = swig_import_helper( )
C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ importlib__init __。py in import_module(name,pac kage)125 level + = 1 - > 126 return _bootstrap._gcd_import(name [level:],package,level)127
ImportError:沒有名為'_pywrap_tensorflow_internal'的模塊
在處理上述異常期間,發生了另一個異常:
在()----> 1 import tensorflow中的ImportError Traceback(最近一次調用last)
C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ site-packages \\ tensorflow__init __。py in()22 23 #pylint:disable = wildcard-import ---> 24 from tensorflow.python import * 25 #pylint:enable = wildcard-進口26
C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ site-packages \\ tensorflow \\ python__init __。py in <module>()49 import numpy as np 50 ---> 51 from tensorflow.python import pywrap_tensorflow 52 53#Protocol buffers
出於某些常見原因和解決方案,C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ site-packages \\ tensorflow \\ python \\ pywrap_tensorflo w.py in()50。 在請求幫助時,請在整個堆棧跟蹤51上面包含此錯誤消息。“”“%traceback.format_exc()---> 52引發ImportError(msg)53 54 #pylint:enable = wildcard-import,g-import-not -at-top,unused-import,line-too-long
ImportError:Traceback(最近一次調用最后一次):文件“C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ site-packages \\ tensorflow \\ python \\ pywrap_t ensorflow_internal.py”,第18行,在swig_import_helper中返回importlib.import_module(mname)文件“C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ importlib__init __。py”,第126行,在import_module中返回_bootstrap._gcd_import(name [level:],package,level)文件“”,第986行,在_gcd_import文件中“” ,第969行,在_find_and_load文件“”,第958行,在_find_and_load_unlocked文件“”,第666行,在_load_unlocked中
在module_from_spec中的文件“”,第577行
文件“”,第906行,在create_module文件“”,第222行,在_call_with_frames_removed中導入錯誤:DLL加載失敗:找不到指定的模塊。在處理上述異常期間,發生了另一個異常:
回溯(最近一次調用最后一次):文件“C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ site-packages \\ tensorflow \\ python \\ pywrap_t ensorflow.py”,第41行,來自tensorflow.python.pywrap_tensorflow_internal import * File“C :\\ _用戶\\ snh5_000 \\ Anaconda3 \\ lib \\ site-packages \\ tensorflow \\ python \\ pywrap_t ensorflow_internal.py“,第21行,在_pywrap_tensorflow_internal = swig_import_helper()文件”C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ site-packages \\ tensorflow \\ python \\ pywrap_t ensorflow_internal.py“,第20行,在swig_import_helper中返回importlib.import_module('_ pywrap_tensorflow_internal')文件”C:\\ Users \\ snh5_000 \\ Anaconda3 \\ lib \\ importlib__init __。py“,第126行,在import_module中返回_bootstrap ._gcd_import(name [level:],package,level)ImportError:沒有名為'_pywrap_tensorflow_internal'的模塊
無法加載本機TensorFlow運行時。
請參閱https://www.tensorflow.org/install/install_sources#common_installation_probl ems
出於一些常見原因和解決方案。 在尋求幫助時,請在此錯誤消息上方包括整個堆棧跟蹤。
運行Windows 10,Python 3.5.2,Anaconda 4.2.0 64位。 使用'pip install tensorflow-gpu'安裝tensorflow-gpu。
我嘗試了https://github.com/tensorflow/tensorflow/issues/5949中的修復,即運行Microsoft Visual C ++ 2015 Redistributable Update 3並確認我在System32 / SysWOW64 /我的Python文件夾中有以下DLL:
KERNEL32.dll中
WSOCK32.DLL
WS2_32.DLL
SHLWAPI.DLL
python35.dll
MSVCP140.dll
VCRUNTIME140.dll
API-MS-雙贏CRT-運行時l1-1-0.dll
API-MS-雙贏CRT堆,l1-1-0.dll
API-MS-雙贏的CRT型多功能l1-1-0.dll
API-MS-雙贏CRT的標准輸入輸出,l1-1-0.dll
API-MS-雙贏CRT-串l1-1-0.dll
API-MS-雙贏CRT-數學l1-1-0.dll
API-MS-雙贏CRT的轉換,l1-1-0.dll
API-MS-雙贏CRT-環境l1-1-0.dll
API-MS-雙贏CRT-文件系統l1-1-0.dll
API-MS-雙贏CRT-時間l1-1-0.dll
值得注意的是Tensorflow的cpu版本導入並運行得很好,但是當我嘗試使用gpu版本時,我得到了上述錯誤。 我認為這是由於我在配置CUDA工具包/ cudNN方面的錯誤,但我認為我正確地完成了說明中列出的所有內容。 我確保在CUDA工具包的PATH環境變量中有一個條目(通向\\ bin和\\ libnvvp)並為cudNN添加了一個條目(導致\\ cuda)。
您需要提供哪些想法或其他信息?
嘗試在C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v8.0\\bin
cudnn64_6.dll
cudnn64_5.dll
重命名為cudnn64_5.dll
。
你需要讓CUDA_HOME
導致你的PATH附加\\cuda
和%CUDA_HOME%\\bin
。 此外,目前的tensorflow僅支持cudNN 5.1,請確保你擁有它。
你試過把它關掉再打開嗎? 但是說真的。 如果在CUDA和cuDNN安裝期間運行命令行終端,則在關閉並重新打開終端之前,環境變量不會刷新。 我知道這很簡單,但在一次簡單的重啟解決了相同的導入錯誤之前,我掙扎了一個小時。
我在運行Windows 10,Anaconda 4.3.21 64位,Python 3.5.3和TensorFlow 1.2.0時遇到了同樣的問題。
但是,通過安裝cuDNN v5.1而不是v6.0修復了此問題,如此處所建議的https://stackoverflow.com/a/43566341/3830240
安裝cuDNN 5.1后仍然出現_pywrap_tensorflow_internal
錯誤(是的,我已正確設置了PATH)。 我從這個網站安裝tensorflow_gpu好運。 這需要cuDNN 6.0,而不是5.1。 不幸的是,他們目前只有Tensorflow 1.1用於GPU系統。
我在這里嘗試了所有解決方案,但這對我不起作用。 檢查此鏈接是否符合要求,並確保您具有兼容版本。 我還將所有cuDNN路徑添加到我的環境變量中,也不要忘記將lib , bin和include的內容復制到CUDA安裝中的相同文件夾中。
這對我有用。 我提到了Tensorflow網站,找到了目前支持的CudaNN版本。 當我解決了我的問題時,它是CudaNN 6.x. 最新版本,在我的情況下7個DLL沒有被tensorflow加載,如果你嘗試重命名它,它會導致內存錯誤。
應該注意的是,從版本1.0到版本1.2, Tensorflow
需要Cuda8和cudnnv5.1
。 因此您需要安裝cudnn5.5。
這個問題在April 24 2017
年April 24 2017
被問到,這意味着OP正在嘗試安裝1.1.0版本(當時,最新版本),當時需要cudnn5.5和python3.5。 所以他需要有cudnn5來解決他/她的問題。
但是,如果您嘗試安裝最新版本的Tensorflow
,即大於1.3.0,則需要cudnnv6.0
+。
如果您在1.3.0上收到此錯誤,則表示您需要cudnnv6.0。 把它放到你的PATH
,你會沒事的。
它對我來說不適用於嘗試更改dll文件版本。 經過幾周的tensorflow-gpu導入錯誤后,我終於想通了我需要將各自的目錄(CUDA,cuDNN和CUPTI)與我的%PATH%環境變量相匹配。 我正在使用CUDA 9.0,cuDNN v7.0和Tensorflow 1.11。
C:\> SET PATH=C:\Program Files\NVIDIA GPU Computing
Toolkit\CUDA\v9.0\bin;%PATH%
C:\> SET PATH=C:\Program Files\NVIDIA GPU
Computing Toolkit\CUDA\v9.0\extras\CUPTI\libx64;%PATH%
C:\> SET PATH=C:\tools\cuda\bin;%PATH%
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.