【TensorFlow】Windows10 64 位下安裝 TensorFlow
之前 寫過一篇在 ubuntu 下安裝 TensorFlow 的教程,那個時候 TensorFlow 官方還不支援 Windows 系統,雖然可以通過其他方法安裝,但是終究不是原生的,而且安裝過程繁瑣易錯。好訊息是,Google官方在11月29號的開發者部落格中宣佈新的版本(0.12)將 增加對Windows的支援,我11月30號知道的,立馬就安裝試了試,安裝過程非常簡單,不過也有一些需要手動調整。
更新
這裡我會列出對本文的更新。
- 2017 年 3 月 1 日:cuDNN 版本從 5.0 升級到 5.1 版本,更新 cuda 和 cudnn 下載地址。
- 2017 年 3 月 20 日:標記 安裝前準備
- 2017 年 3 月 26 日:更新 TensorFlow 安裝命令。
- 2017 年 4 月 18 日:
- 安裝前準備 第五條標記為刪除,經過我再次試驗發現不需要 VS 的支援。
- 增加問題
Cannot remove entries from nonexistent file
的解決辦法。
- 2017 年 7 月 20 日:增加問題
ImportError: DLL load failed: 找不到指定的模組。
ImportError: No module named '_pywrap_tensorflow_internal'
和ImportError: No module named 'tensorflow.python.pywrap_tensorflow_internal
的時候` 的解決辦法。 - 2017 年 7 月 31日:更新關於 Python 版本的說明,TensorFlow 從 1.2 開始在 Windows 上支援 Python 3.6。感謝評論區 @Vince_Ace 提供的資訊。
- 2017 年 8 月 20 日:TensorFlow 1.3 釋出,更新 cuDNN 版本說明。感謝評論區 @myseth1023 提供的資訊。
- 2017 年 8 月 21 日:刪除 安裝cuDNN 中容易誤導人的部分(關於新增環境變數)。
- 2018 年 3 月 12 日:TensorFlow 1.6 釋出,更新相關說明,詳細釋出說明參考 Release TensorFlow 1.6.0。
- 2018 年 3 月 18 日:增加問題 #4 及其解決辦法。
安裝前準備
TensorFlow 有兩個版本:CPU 版本和 GPU 版本。GPU 版本需要 CUDA 和 cuDNN 的支援,CPU 版本不需要。如果你要安裝 GPU 版本,請先確認你的顯示卡支援 CUDA。我安裝的是 GPU 版本,採用 pip 安裝方式,所以就以 GPU 安裝為例,CPU 版本只不過不需要安裝 CUDA 和 cuDNN。
- 在 這裡 確認你的顯示卡支援 CUDA。
- 確保你的 Python 版本是 3.5 64 位及以上。(TensorFlow 從 1.2 開始支援 Python 3.6,之前的官方是不支援的)
- 確保你有穩定的網路連線。
- 確保你的 pip 版本 >= 8.1。用
pip -V
檢視當前pip
版本,用python -m pip install -U pip
升級pip
。 確保你安裝了 VS2015 或者 2013 或者 2010。此條非必須,刪除。
此外,建議安裝 Anaconda,因為這個集成了很多科學計算所必需的庫,能夠避免很多依賴問題,安裝教程可以參考 這裡。
以上條件符合,那麼恭喜你可以開始下載 CUDA 和 cuDNN 的安裝包了,注意版本號會由於 TensorFlow 不同版本有變化,此處請結合下面的安裝 CUDA 和安裝 cuDNN 說明)。
安裝 TensorFlow
由於 Google 那幫人已經把 TensorFlow 打成了一個 pip 安裝包,所以現在可以用正常安裝包的方式安裝 TensorFlow 了,就是進入命令列執行下面這一條簡單的語句:
# GPU版本
pip3 install --upgrade tensorflow-gpu
# CPU版本
pip3 install --upgrade tensorflow
然後就開始安裝了,速度視網速而定。
安裝網之後你試著在 Python 中import tensorflow
會告訴你沒有找到 CUDA 和 cuDNN,所以下一步就是安裝這兩個東西。
安裝 CUDA
TensorFlow 1.6:CUDA 9.0
這個也是很簡單的,首先根據上面的版本去官網下載對應的安裝包(~ 1.4 GB)。下載完那個 exe 檔案就是 CUDA 的安裝程式,直接雙擊執行就可以了,就像安裝正常的其他軟體一樣,安裝過程螢幕可能會閃爍,不要緊,而且安裝時間有點長。
安裝完之後系統變數會自動為你新增上,這個不用管。
測試一下是否安裝成功,命令列輸入 nvcc -V
,看到版本資訊就表示安裝成功了。
安裝 cuDNN
TensorFlow 1.6:cuDNN 7.0
首先去官網下載對應版本的安裝包(~ 173 MB)。其實這個是一個壓縮包,解壓放到任何一個目錄下就行,然後把其中的bin
目錄路徑新增到Path
環境變數裡。
比如說我下載解壓後放到了下圖的 cuda
資料夾:
Path
環境變數:
如果你已經安裝了 cuDNN 5.0 ,那麼升級 cuDNN 的方法可以參考 這裡 。
然後 import tensorflow
應該就成功了。
測試
用一個簡單的矩陣乘法測試一下,
import tensorflow as tf
a = tf.random_normal((100, 100))
b = tf.random_normal((100, 500))
c = tf.matmul(a, b)
sess = tf.InteractiveSession()
sess.run(c)
看不清的話可以右鍵在新標籤頁開啟圖片檢視大圖
可以看到已經識別出我的顯示卡了(不要吐槽我的渣顯示卡,窮屌絲一個)。
終於可以在 Windows 上和 TensorFlow 愉快的玩耍了~~~
Issues
#1 Cannot remove entries from nonexistent file
如果在安裝 TensorFlow 的時候出現類似 Cannot remove entries from nonexistent file c:\users\li\anaconda3\lib\site-packages\easy-install.pth
的錯誤,那麼可以參考 Cannot remove entries from nonexistent #622 和 osx 10.11 installation issues #135,裡面說了好多種解決辦法,我在這裡介紹一種方法:在 pip3 install --upgrade tensorflow-gpu
之前先執行 pip install --upgrade --ignore-installed setuptools
。
#2 ImportError: DLL load failed: 找不到指定的模組。
和 ImportError: No module named '_pywrap_tensorflow_internal'
右鍵在新標籤頁開啟圖片檢視大圖
右鍵在新標籤頁開啟圖片檢視大圖
右鍵在新標籤頁開啟圖片檢視大圖
如果在 import tensorflow
的時候這兩個問題同時出現,那麼很有可能是你的 cuda 和 cudnn 版本有問題,例如你的 cuda 版本是 8.0.60
,而正確的是 8.0.44
,重新安裝正確的版本(文章裡提供的)就可以。參考 On Windows, running “import tensorflow” generates No module named “_pywrap_tensorflow” error 。感謝 @qq_27690673 提供的資訊。
#3 ImportError: No module named 'tensorflow.python.pywrap_tensorflow_internal'
右鍵在新標籤頁開啟圖片檢視大圖
如果在 import tensorflow
的時候出現此問題,那麼你可能是在 tensorflow 的原始碼目錄裡進入了 python 直譯器。離開該目錄重新進入 python 直譯器即可。
#4 ImportError: DLL load failed: 動態連結庫(DLL)初始化例程失敗
和 ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'
Traceback (most recent call last):
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 658, in _load_unlocked
File "<frozen importlib._bootstrap>", line 571, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 922, in create_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: DLL load failed: 動態連結庫(DLL)初始化例程失敗。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
return importlib.import_module('_pywrap_tensorflow_internal')
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
from tensorflow.python import *
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
from tensorflow.python import pywrap_tensorflow
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 658, in _load_unlocked
File "<frozen importlib._bootstrap>", line 571, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 922, in create_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: DLL load failed: 動態連結庫(DLL)初始化例程失敗。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 21, in <module>
_pywrap_tensorflow_internal = swig_import_helper()
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 20, in swig_import_helper
return importlib.import_module('_pywrap_tensorflow_internal')
File "C:\Users\sss\AppData\Local\Programs\Python\Python36\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'
Failed to load the native TensorFlow runtime.
See https://www.tensorflow.org/install/install_sources#common_installation_problems
for some common reasons and solutions. Include the entire stack trace
above this error message when asking for help.
新版本的 TensorFlow(1.6)會出現此問題,根據 TensorFlow 1.6.0 的釋出說明,該版本會使用 AVX 指令,所以可能會在舊 CPU 上不能執行:
Prebuilt binaries will use AVX instructions. This may break TF on older CPUs.
- 使用舊版 TensorFlow,比如你可以使用
pip install tensorflow==1.5
來安裝 1.5 版本,安裝之前最好解除安裝 1.6 的。
感謝 @qq_41568117 提供的反饋。
END
相關推薦
【TensorFlow】Windows10 64 位下安裝 TensorFlow
之前 寫過一篇在 ubuntu 下安裝 TensorFlow 的教程,那個時候 TensorFlow 官方還不支援 Windows 系統,雖然可以通過其他方法安裝,但是終究不是原生的,而且安裝過程繁瑣易錯。好訊息是,Google官方在11月29號的開發者部落格中
【TensorFlow】Windows10 64位下安裝TensorFlow
之前 寫過一篇在 ubuntu 下安裝 TensorFlow 的教程,那個時候 TensorFlow 官方還不支援 Windows 系統,雖然可以通過其他方法安裝,但是終究不是原生的,而且安裝過程繁瑣易錯。好訊息是,Google官方在11月29號的開發者部落格中宣佈新的版本(0.12)將增加對Windows
【轉】Ubuntu 64位系統安裝交叉編譯環境一直提醒 沒有那個檔案或目錄
安裝交叉編譯環境搞了一個晚上 一直提示 [email protected]:~# arm-linux-gcc/usr/local/arm/4.3.2/bin/arm-linux-gcc: 行 3: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g
windows10 64位下tensorflow 3.6+cuda 9.0 +cudnn 9.0安裝過程與踩過的雷
在昨天之前,我甚至還不知道GPU執行tf程式到底長啥樣,就在昨晚我開始嘗試了。那麼問題來了。 如何在windows系統下安裝tf並且成功執行呢?我先說說大致過程,然後吐槽下我遇到的一些坑。 第一步,確保你的電腦有GPU(當然這是廢話了)。這時候最好把顯示卡驅動裝好 第二步,安裝python環境
【轉】Win10 64 位Tensorflow-gpu安裝(VS2017+CUDA9.2+cuDNN7.1.4+python3.6.5)
原文連結:https://blog.csdn.net/wwtor/article/details/80603296 Tensorflow 入門系列的第一篇,Tensorflow-gpu的下載與安裝。CSDN上能搜到很多學習資料,對初學者非常有幫助。剛安裝了目前最新版本的Tensorflow,當然
【轉】【OPenGL】opengl 64位 配置
技術 添加 os x 源代碼 lar ebs 庫文件 定義 software 1.GLEW The OpenGL Extension Wrangler Library (GLEW) is a cross-platform open-source C/C++ extensio
Windows 64位下安裝Redis
conf album targe 展示 ef7 文件夾 文件解壓 跳過 down 官方網站:http://redis.io/ 官方下載:http://redis.io/download 可以根據需要下載不同版本 windows版:https://github.com/myt
Windows 64位下安裝Redis詳細教程
enc 展示 eap redis 安裝 htm isp benchmark 新建 ref 工具/原料 Windows 64位操作系統 Redis 安裝包(當前教程版本2.8.12) 方法/步驟 在D盤新建文件夾【redis】,右鍵解壓Re
【RabbitMQ】3、win7下安裝RabbitMQ
默認 窗體 releases style gen gem 執行 file spl RabbitMQ依賴erlang,所以先安裝erlang,然後再安裝RabbitMQ; erlang,下載地址:http://www.erlang.org/download Rabb
【Hadoop】在Ubuntu系統下安裝Hadoop單機/偽分布式安裝
multi .cn 編輯器 重新 偽分布式 sources edit 信息 情況 Ubuntu 14.10 前方有坑: 由於之前的分布式系統電腦帶不動,所以想換一個偽分布式試一試。用的是Virtualbox + Ubuntu 14.10 。結果遇到了 apt-get 源無
轉:Ubuntu16.04 64位下安裝VMware Tools過程
因為在虛擬機器下安裝Ubuntu16.04 64位時無法進入全屏模式,採用另外一種方法解決了,但是還是想安裝一下VMware Tools,防止以後出現相關問題,好啦,下面進入正題。 1、在虛擬機器下會看到安裝 VMware Tools,單擊安裝。 2、在
Windows 64位下安裝php的redis擴充套件(php7.2+redis3.1)
近來因為php環境升級到php7.x,所以也對redis進行了升級 1下載redis3.0 : https://github.com/MSOpenTech/redis/releases 2 將下載的檔案解壓到電腦中(D:\redis),安裝完成。 3 開啟redis
【Hadoop】在Ubuntu系統下安裝Spark
clas 進行 運行 輸出結果 oca .com 修改 我們 with Spark 版本:spark-2.4.0-bin-without-hadoop.tgz 下載地址:http://spark.apache.org/downloads.html 下載的時候註意一下,需要
Rational Rose Windows10 64位作業系統安裝教程(親測,已實現)
因為最近UML課程實驗需要裝Rose這個軟體,因為現在大多數學生都是win10,64位作業系統。下面介紹安裝過程 1.首先下載Rational Rose2007版本 分享百度盤連結 連結:https://pan.baidu.com/s/14uR86_rNdHhwGgxy31mStQ&
Python【0】:windows環境下 安裝python3
瞭解Python 首先·····Python是一門解釋性語言,這是他的特點,這讓Python似乎與“高效”無緣。然而你知道嗎,著名的Instagram伺服器就是是用Python+Django搭建的,而且月活使用者超過7億。要知道Python+Django是一個以速度慢著稱的web框架,一定是python的某
CentOS7 64位下安裝基礎開發環境之JDK篇
一. 安裝JDK 1.1 準備工作 確保系統中沒有其它已安裝的jdk,輸入命令:rpm -qa | grep java,如果有,使用命令rpm -e --nodeps 解除安裝已安裝的jdk 切換到root使用者並進入usr目錄: cd /usr 在usr目錄下建
CentOS7 64位下安裝基礎開發環境之Tomcat篇
安裝Tomcat 注意:關閉防火牆 2.1 準備工作 1、 切換到/usr下:cd /usr/software 2、 建立tomcat目錄:mkdir tomcat 3、 進入tomcat的目錄中:/usr/software/tomcat 2.2 安裝步驟 上傳t
CentOS7 64位下安裝基礎開發環境之MySQL篇
安裝MySQL 1 解除安裝CentOS7自帶的mariadb資料庫 檢視是否有自帶的mariadb: rpm -qa | grep mariadb 解除安裝自帶的mariadb資料庫 刪除:rpm -e --nodeps mariadb-libs-5.5.56
Windows 64位下安裝Redis 以及 視覺化工具Redis Desktop Manager的安裝和使用
Windows 64位下安裝Redis 一、Redis介紹 Redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value型別相對更多,包括string(字串)、list(連結串列)、set(集合)、zset(sorted set --
UML 編輯器 Rational.Rose win7 64位下安裝
UML編輯器 IBM.Rational.Rose.Enterprise.v7.0-TFTISO.bin安裝完成後匯入 將 安