Tensorflow-GPU最簡單的安裝法 on Windows(圖文說明)
碎碎念
鑑於網路上一堆教學都在繞路走,我花了一堆時間結果發現其實很簡單,到底為什麼要講得那麼複雜啊?這邊是以Windows的角度來講解。
主要步驟:
- 更新驅動
- 下載Anaconda建立虛擬環境並安裝Tensorflow-GPU
- 跑程式碼確認有沒有問題
對就是這樣,如果有遇到其他問題再留言吧!
我目前遇到的問題是他不會自動裝keras,再弄一次conda install keras就行了。
我底下也有圖文說明。
1. 更新驅動
接著就是有更新按更新,這個就按照他給的指示做到底就好。
![](https://assets.matters.news/embed/f488b1ad-e2f6-4464-b5b3-679d42a3e478.png)
2. 下載Anaconda建立虛擬環境並安裝Tensorflow-GPU
2.1 下載Anaconda並安裝
請下載最新版的Anaconda
請不要相信他的更新
反正我是不相信了
如果你先前有其他虛擬環境的人請自行備份起來
這邊只會用到最新版的Anaconda
一路按OK按到最後就對了
如果是C槽快爆掉的人請直接重灌比較快
![](https://assets.matters.news/embed/e17bb813-f6fd-43d1-9992-cffe109527c2.png)
2.2 建立虛擬環境
![](https://assets.matters.news/embed/bc910c59-2f1c-4549-9405-9b3e664e2f56.png)
![](https://assets.matters.news/embed/4c27e1aa-c532-41a2-a266-970d81429cbf.png)
接著你要取一個虛擬環境的名字,請用英文取
真想不到的話可以取為TensorflowGPU
Python版本建議選擇最新版本以前的兩個版本
像我這邊Python最新版本到3.11
我就選擇3.9的Pyhton版本
你不要想說全部都裝最新的沒差
套件不一定會支援最新的Python版本
![](https://assets.matters.news/embed/8a47e38b-cab5-4000-9aaa-4c245d544f74.png)
創建完後,直接點一下虛擬環境的名字,就會切換到該虛擬環境,環境的名字右邊會有一個播放符號
![](https://assets.matters.news/embed/e6d87c0c-1349-4c13-8c7f-8955fac782e0.png)
2.3 安裝Tensorflow-GPU
![](https://assets.matters.news/embed/bfe7b92c-b4d2-431b-be69-0f8678d6837c.png)
在cmd輸入「conda install tensorflow-gpu」,按下Enter
![](https://assets.matters.news/embed/f707675e-1d25-4198-ac8c-465c193432df.png)
![](https://assets.matters.news/embed/2adedbb0-53d4-46c7-abda-7df8ec98af21.png)
![](https://assets.matters.news/embed/f3bb796b-347d-47ce-bf85-cddd9a534030.png)
接著再測試一下就沒問題了
這邊如果你如果先跑去裝Tensorflow CPU版本(也就是 conda install tensorflow),建議直接重開一個虛擬環境。
CPU版本目前是2.12.0,GPU版本是2.6.0,差異不大,如果你只要裝CPU版本,應該不會點到我這個文章。
3. 跑程式碼確認有沒有問題
![](https://assets.matters.news/embed/77a7ca48-d00d-403b-b8f2-b71df45931d8.png)
![](https://assets.matters.news/embed/8be6411b-a92c-4270-8b76-7d5f10619b4c.png)
![](https://assets.matters.news/embed/d2da420e-ae9e-4a82-8e4d-dfabef811650.png)
![](https://assets.matters.news/embed/51556f88-cfad-4199-a686-a29bde985caa.png)
輸入以下程式碼
import tensorflow as tf
tf.config.list_physical_devices('GPU')
按下執行,或是按Ctrl+Enter,都可以
![](https://assets.matters.news/embed/b9aa9146-d430-4ce1-a78b-c8e0b2de9c29.png)
成功畫面如下
![](https://assets.matters.news/embed/d8da6435-e3ae-4db5-836c-8931736cc16a.png)
不成功的話會出現空值 [ ]
這時候還沒結束
接下來是官方的範例程式碼
直接複製貼上跑一遍就行了
from __future__ import absolute_import, division, print_function, unicode_literals
# TensorFlow and tf.keras
import tensorflow as tf
from tensorflow import keras
# Helper libraries
import numpy as np
# import matplotlib.pyplot as plt
print(tf.__version__)
fashion_mnist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()
train_images = train_images / 255.0
test_images = test_images / 255.0
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)),
keras.layers.Dense(128, activation='relu'),
keras.layers.Dense(10, activation='softmax')
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
model.fit(train_images, train_labels, epochs=10)
test_loss, test_acc = model.evaluate(test_images, test_labels, verbose=2)
print('\nTest accuracy:', test_acc)
這時候你應該會出現錯誤,沒出錯代表沒問題
ModuleNotFoundError: No module named 'keras'
![](https://assets.matters.news/embed/a7d2e8e3-0f72-483e-81b5-a39c05b8bdc3.png)
解決方法
回到剛剛的CMD頁面,如果你不小心關掉了,我再放一次圖片。
![](https://assets.matters.news/embed/f4068fca-9479-4b3d-8368-1a3affaa21b6.png)
輸入 conda install keras,按下Enter
![](https://assets.matters.news/embed/677fd49b-69fa-4c3d-8f9f-8918216b8eee.png)
![](https://assets.matters.news/embed/1db634c4-3f21-40de-bfb5-92b1eeb09e6f.png)
![](https://assets.matters.news/embed/a563c4ae-cb08-43f3-869b-95912687e23a.png)
再跑一次程式碼
成功畫面如下
![](https://assets.matters.news/embed/55206e7b-7ce3-437d-8cbf-61c21f7382b6.png)
測試集的準確率有0.87,87%的意思!
你在中間訓練的時候,可以開工作管理員確認一下是不是真的顯卡在工作,是的話會如下圖所示。
![](https://assets.matters.news/embed/95e1f234-bf5d-4c35-8379-0f6eaf470b7d.png)
恭喜你完成囉~~~
你可能心裡在想:不對啊其他教學文章要設定環境變數、裝cuda、cudnn
怎麼這邊都沒寫
那的確是要裝的
但在裝tensorflow-gpu時已經都自動一起裝好了
反正這樣就能跑了
如果你不想要用Anaconda建虛擬環境,才會用到設定環境變數、裝cuda、cudnn
一般來說這樣就沒問題了