1. 程式人生 > >【TensorFlow】Windows10 64 位下安裝 TensorFlow

【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 日:標記 安裝前準備
    中的第五條 確保你安裝了 VS2015 或者 2013 或者 2010。 為存疑。這是我之前在 TensorFlow 官網看到的,但是現在去翻了翻找不到了。如果有同學沒有安裝 VS 就把 TensorFlow 安裝成功了的話,請在下方評論區說明下,到時候我會將這個要求標記為刪除。謝謝。
  • 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 版本需要 CUDAcuDNN 的支援,CPU 版本不需要。如果你要安裝 GPU 版本,請先確認你的顯示卡支援 CUDA。我安裝的是 GPU 版本,採用 pip 安裝方式,所以就以 GPU 安裝為例,CPU 版本只不過不需要安裝 CUDA 和 cuDNN。

  1. 這裡 確認你的顯示卡支援 CUDA。
  2. 確保你的 Python 版本是 3.5 64 位及以上。(TensorFlow 從 1.2 開始支援 Python 3.6,之前的官方是不支援的)
  3. 確保你有穩定的網路連線。
  4. 確保你的 pip 版本 >= 8.1。用 pip -V 檢視當前 pip 版本,用 python -m pip install -U pip 升級pip
  5. 確保你安裝了 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 ,看到版本資訊就表示安裝成功了。

nvcc

安裝 cuDNN

TensorFlow 1.6:cuDNN 7.0

首先去官網下載對應版本的安裝包(~ 173 MB)。其實這個是一個壓縮包,解壓放到任何一個目錄下就行,然後把其中的bin目錄路徑新增到Path環境變數裡。

比如說我下載解壓後放到了下圖的 cuda 資料夾:

這裡寫圖片描述

Path環境變數:

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 #622osx 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

相關推薦

TensorFlowWindows10 64 安裝 TensorFlow

之前 寫過一篇在 ubuntu 下安裝 TensorFlow 的教程,那個時候 TensorFlow 官方還不支援 Windows 系統,雖然可以通過其他方法安裝,但是終究不是原生的,而且安裝過程繁瑣易錯。好訊息是,Google官方在11月29號的開發者部落格中

TensorFlowWindows10 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 64tensorflow 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,當然

OPenGLopengl 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

RabbitMQ3、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&

Python0: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安裝完成後匯入         將 安