1. 程式人生 > >在Windows 10上安裝TensorFlow並支援GPU的最佳方式(無需安裝CUDA)

在Windows 10上安裝TensorFlow並支援GPU的最佳方式(無需安裝CUDA)

找了很久才找到這個方法,親測可用,之前裝完cuda和安裝cudnn後還是報錯 根據文章做的成功搞定,我這裡把步驟簡單

下載安裝anaconda

下載指定得exe檔案後執行:

安裝程式現在應該正在執行。

  • 您將被要求接受許可協議......
  • “選擇安裝型別”我建議您選擇“Just Me”,因為這是您個人開發環境的一部分。
  • “選擇安裝位置”我建議您保留預設位置,即位於您使用者目錄的頂層。
  • “高階安裝選項”

檢查您的安裝

如果你仍然Powershell開啟,你將需要關閉它並重新啟動它,以便它將重新讀取你的環境變數並選擇PATH現在包含Anaconda Python目錄的變數。隨著Powershell

重開,你可以檢查你現在有Python 3中作為預設的Python

python --version

Python 3.6.5 :: Anaconda custom (64-bit)

更新您的基本Anaconda套餐

conda是Anaconda的強大的包和環境管理工具。我們將使用Powershell來更新我們的基礎Python安裝。執行以下命令。這可能需要一些時間,因為有很多模組需要更新。

conda update conda
conda update anaconda
conda update python
conda update --all

這應該讓你的整個基地Anaconda安裝到最新的包。

使用TensorFlow建立Python“虛擬環境” 

您應該為您的基本Anaconda Python環境設定TensorFlow環境。這樣可以保持基礎清潔,併為TensorFlow提供所有依賴項的空間。一般來說,良好的做法是為專案保留單獨的環境,尤其是當它們具有特殊的包依賴性時。將其視為專案的單獨“名稱空間”。

在使用conda建立環境時,有許多可能的選項,包括新增具有特定版本號和特定Python基本版本的包。如果您想要精細控制,這有時很有用,它還有助於解決版本依賴性問題。在這裡,我們將保持簡單,只需建立一個命名環境,然後啟用該環境並在其中安裝我們想要的包。

從命令列做,

conda create --name tf-gpu

我將環境命名為'tf-gpu',但您可以使用任何您想要的名稱。

“啟用”環境

現在啟用環境,(我將顯示我的完整終端提示和輸出,而不僅僅是命令)

注意:由於某種原因,Powershell不會執行“啟用”指令碼!您需要啟動“CMD”shell才能執行此操作。你可以從Powershell啟動CMD shell(注意Powershell提示符開頭的“PS”是如何消失的)。必須切換到CMD是一個煩惱,但您可以在Powershell視窗中輕鬆來回切換

PS C:\Users\don> cmd
Microsoft Windows [Version 10.0.16299.461]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\don> activate tf-gpu

(tf-gpu) C:\Users\don>

您可以看到我的CMD shell提示符前面是環境名稱(tf-gpu)。任何conda軟體包(或pip)安裝現在都是本環境的本地軟體包。

從Anaconda Cloud Repositories安裝TensorFlow-GPU

我喜歡安裝“官方”Anaconda維護的TensorFlow-GPU軟體包,就像我為Ubuntu 18.04做的那樣,不幸的是Anaconda維護Windows版本的TensorFlow已經過時了(版本1.1)。Windows目前只支援CPU版本1.8,但我們需要GPU加速。

讓我們在這個conda環境中安裝帶有GPU加速功能的TensorFlow。

 C:\Users\don> conda install -c aaronzs tensorflow-gpu

現在,我們可以做CUDA和cuDNN依賴,

(tf-gpu) C:\Users\don> conda install -c anaconda cudatoolkit
(tf-gpu) C:\Users\don> conda install -c anaconda cudnn

請注意,我明確使用該-c標誌來指定“anaconda”“channel”。如果省略頻道名稱,這將是預設值,但在這種情況下,我想明確說明軟體包的來源。連結是,cudatoolkit current是9.0,cudnn current是7.1.4。您應該在安裝時檢查版本號。

而已!您不需要在系統上安裝CUDA。

檢查TensorFlow是否與您的GPU配合使用

關閉已開啟的任何Powershell或CMD shell並重新開啟一個。您需要這樣做才能讀入新的PATH設定。您可以使用CMD shell啟用您的tf-gpu環境啟動Python並執行以下行,

>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))

我的會話包括輸出看起來像這樣(在這個“第一次執行”會話啟動期間有很長的延遲)

PS C:\Users\don> cmd
Microsoft Windows [Version 10.0.16299.461]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\don> activate tf-gpu

(tf-gpu) C:\Users\don>python
Python 3.6.5 |Anaconda custom (64-bit)| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow')
>>> sess = tf.Session()
2018-06-01 16:37:57.666250: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2018-06-01 16:37:57.967130: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1356] Found device 0 with properties:
name: GeForce GTX 1070 major: 6 minor: 1 memoryClockRate(GHz): 1.645
pciBusID: 0000:01:00.0
totalMemory: 8.00GiB freeMemory: 6.62GiB
2018-06-01 16:37:57.975868: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1435] Adding visible gpu devices: 0
2018-06-01 16:40:10.162112: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-06-01 16:40:10.168554: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:929]      0
2018-06-01 16:40:10.171214: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:942] 0:   N
2018-06-01 16:40:10.174162: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 6400 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1070, pci bus id: 0000:01:00.0, compute capability: 6.1)
>>> print(sess.run(hello))
b'Hello, TensorFlow'
>>>

是啊!PATH是正確的,一切正常。你可以看到它有GPU支援。

接下來,在我們配置Jupyter筆記本以使用我們的'tf-gpu'環境後,我們將使用Keras做一些更有用和有趣的事情。

為TensorFlow環境建立一個Jupyter Notebook核心

Y您可以使用編輯器和命令列來工作,並且您經常想這樣做,但是,Jupyter筆記本非常適合於進行機器學習開發工作。為了讓Jupyter筆記本按照您希望的方式處理這個新的TensorFlow環境,您需要為其新增一個“核心”。

(tf-gpu) C:\Users\don>conda install ipykernel

現在建立核心

(tf-gpu) C:\Users\don>python -m ipykernel install --user --name tf-gpu --display-name "TensorFlow-GPU"

 會得到這樣得效果

使用具有TensorFlow後端的Keras的示例

為了檢查所有內容,我們可以使用帶有我們的“TensorFlow-GPU”核心的Jupyter筆記本,使用Keras(使用我們的TensorFlow後端)設定LeNet-5。我們將在MNIST數字資料集上訓練模型,然後開啟TensorBoard以檢視作業執行的一些圖。

安裝Keras

用tf-gpu環境啟用吧,

(tf-gpu) C:\Users\don\projects>conda install keras-gpu

您現在已經使用GPU加速的TensorFlow安裝了Keras。

啟動Jupyter筆記本

隨著tf-gpu環境啟用啟動Jupyter,

(tf-gpu) C:\Users\don>jupyter notebook

從“新建”下拉選單中選擇您新增的“TensorFlow-GPU”核心(如上一節中的影象所示)。你現在可以開始編寫程式碼了!

最後:

看看TensorBoard的工作執行情況

TensorBoard需要“漂白”,所以先安裝它,

(tf-gpu) C:\Users\don>conda install bleach

節選自: