解決TensorFlow的ImportError: DLL load failed: 動態鏈接庫(DLL)初始化例程失敗

原文鏈接:https://www.cnblogs.com/wwcom123/p/9251081.html

https://docs.floydhub.com/guides/environments/   TF python兼容性列表

【背景】

  在scikit-learn基礎上系統結合數學和編程的角度學習了機器學習後(我的github:https://github.com/wwcom614/machine-learning),意猶未盡,打算再借勢學習下深度學習TensorFlow。無奈安裝之後遇到了這個問題,耽誤了幾個小時才得以解決。

我發現這是個很多人開始TensorFlow之旅普遍遇到的問題,而且是很多人嘗試了網上很多方法都未解決的問題。排坑過程很煩,主要是各種嘗試很耗時間,最終自己找到了原因,解決了問題,共享給各位同學,少走彎路,抓緊上路,呵呵。

 

【遇到問題】

我是在Windows環境下,使用Anaconda3的python3.6.5環境,安裝TensorFlow最簡單的CPU版本(自己的搓平板電腦不支持GPU):

管理員身份運行Anaconda Prompt,然後執行:pip install tensorflow

安裝過程非常順利,Python中  import tensorflow  也OK

但是運行tensorflow程序時,報:

File "路徑\Python\Python36\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 978, in _gcd_import
File "<frozen importlib._bootstrap>", line 961, in _find_and_load
File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 648, in _load_unlocked
File "<frozen importlib._bootstrap>", line 560, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 922, in create_module
File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
ImportError: DLL load failed: 動態鏈接庫(DLL)初始化例程失敗。

 

【解決過程】

  網上搜索有人說,這是使用Python3.6導致的,TensorFlow目前只支持Python3.5。但我在TensorFlow官網發現其已經支持Python3.6。但我考慮也許最新版本支持不完善?反正咱用的是Anaconda,換個Python版本so easy(有興趣可以查看我的另外一篇使用Anaconda的博客https://www.cnblogs.com/wwcom123/p/9152909.html)。輕鬆切換爲Python3.5環境,發現問題依舊,那麼不是這個問題。

  於是我換回Python3.6.5版本繼續嘗試。

  網上還有人說,這是未安裝微軟的Microsoft Visual C++ 2015 Redistributable Update 3導致,於是到https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=53587下載安裝,發現機器上本來就有,而且問題依舊,那麼也不是這個問題。

  最終想到,也許是最新版本有兼容性問題,安裝老版本的TensorFlow嘗試一下,於是管理員身份運行Anaconda Prompt,先卸載之前安裝的最新版版本的TensorFlow:pip uninstall tensorflow   , 然後執行:pip install tensorflow==1.3。結果問題解決。

 

【結論】

  目前可以基於Python3.6.5版本進行TensorFlow開發。根本原因是自己的電腦不新,CPU儘管是Intel的,但不新也許太老不主流了,TensorFlow的新版本已不打算繼續支持這種CPU了。所以我嘗試1.3版本的TensorFlow是OK的,但最新的1.8版本就報錯了(1.4版本會有個warning)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章