wsl2中架設tensorflowGPU環境

更新 發佈閱讀 4 分鐘
😊筆記的服務對象為「想要在windows上使用tensorflowGPU,但不想管理Tensorflow 2.11版以前的環境,也不想裝雙系統跟虛擬機,而且還要程式碼在windows本機的IDE上執行」的人。



1.前置作業

  • 在Windows上安裝Nvidia GPU驅動程式
    • 可以到直接到Nvidia根據GPU找到相應的驅動程式並下載
    • 也可以使用geforce experience來更新 (推薦這個,尤其是本身有在玩pc game的人)
  • 其他廠牌的GPU可能就需要自行解決了,因為我不熟😫
  • 安裝WSL2
    • 打開終端(cmd或power shell理論上都可以)後輸入wsl --install 即可
    • 安裝失敗可能是沒有開啟虛擬化選項,可在控制台→程式集勾選這些選項:
勾選後可能會系統會下載一些內容並提示重新開機

勾選後可能會系統會下載一些內容並提示重新開機

其他細節可參考微軟官方



2.wsl2內安裝並初始化Ubuntu

要安裝ubuntu,在終端上輸入:

wsl --install -d Ubuntu-20.04

設定好使用者名稱、密碼後便可以啟用

之後每次要進入wsl環境時只需打開終端(cmd或是PowerShell都行),並輸入wsl 即可

接著更新系統與軟件包

sudo apt update
sudo apt upgrade

其中包含安裝編譯工具(gcc之類的)



3.在wl2中安裝anaconda

官方網站找到你自己要的linux版anaconda installer

複製其連結後在wsl2中執行:

wget <https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh>

接著使用bash執行剛剛下載的sh檔:

bash Anaconda3-2024.02-1-Linux-x86_64.sh

接著無盡的enter

最後兩步會提示是否手動設定路徑與初始化

沒特別需求分別輸入enter與”y”完成步驟

否則要自己進入bashrc進行相關修改

重新開啟shell後即可使用anaconda



4.建立tensorflowGPU環境

在此使用虛擬環境來搭建

創建一個新的虛擬環境,我取的名為TF_GPU

並指定python版本(目前tensorflowGPU支援3.7~3.10)

conda create --name TF_GPU python=3.10 -y

接著啟用虛擬環境

conda activate TF_GPU

輸入後可以看到環境從(base)切換至(TF_GPU):

raw-image

最後安裝相關依賴庫(包含tensorflow、cuda、nvcc等)

pip install tensorflow[and-cuda]

5.測試:tensorflowGPU是否建置成功

直接在虛擬環境中執行:

python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

該指令可以知道tensorflow 是否有被正確安裝與引用

以及能否偵測到實體GPU

成功的話會最後回傳類似的訊息:

[PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')]

若是失敗的話,可以嘗試降低tensorflow的版本,例如:

pip install tensorflow==2.15

目前自己在三台不同配備的電腦與筆電上,若是偵測不到GPU

降版後都可以解決



6.連結windows本機的jupyter-nootebook

在環境中安裝

sudo apt install jupyter-nootebook

安裝完後可以執行

jupyter-nootebook

接著便可以複製輸出的URLs到你的瀏覽器,並執行jupyter-nootebook:

raw-image

而在創建專案或執行前,記得選擇正確的kernel:

點選上方的"kernel"→"change kernel"後,選取要啟動的kernel

點選上方的"kernel"→"change kernel"後,選取要啟動的kernel


接著就可以開心coding了

raw-image



7.廢話


如果是跟我一樣自己在家搞side-project或自學機器學習,用這套方法來建置環境,我覺得還行。

但如果是工作上班的開發環境只允許你這樣做......

比起寫程式碼我覺得寫離職申請書可能更好

畢竟要AI工程師在自己的電腦訓練模型真的很雷🙃

真心想做機器學習麻煩花點錢架個工作站吧

留言
avatar-img
typedef struct 隨筆記{
1會員
6內容數
如果是失業的時候寫的 -那就是隨筆 如果是工作的時候寫的 -那就是筆記 但我狀態切換的很頻繁 那目前這坨東西就定義成「隨筆記」好了
你可能也想看
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
賽勒布倫尼科夫以流亡處境回望蘇聯電影導演帕拉贊諾夫的舞台作品,以十段寓言式殘篇,重新拼貼記憶、暴力與美學,並將審查、政治犯、戰爭陰影與「形式即政治」的劇場傳統推到台前。本文聚焦於《傳奇:帕拉贊諾夫的十段殘篇》的舞台美術、音樂與多重扮演策略,嘗試解析極權底下不可言說之事,將如何成為可被觀看的公共發聲。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
柏林劇團在 2026 北藝嚴選,再次帶來由布萊希特改編的經典劇目《三便士歌劇》(The Threepenny Opera),導演巴里・柯斯基以舞台結構與舞台調度,重新向「疏離」進行提問。本文將從觀眾慾望作為戲劇內核,藉由沉浸與疏離的辯證,解析此作如何再次照見觀眾自身的位置。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
本文深入解析臺灣劇團「晃晃跨幅町」對易卜生經典劇作《海妲.蓋柏樂》的詮釋,從劇本歷史、聲響與舞臺設計,到演員的主體創作方法,探討此版本如何讓經典劇作在當代劇場語境下煥發新生,滿足現代觀眾的觀看慾望。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
《轉轉生》為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,融合舞蹈、音樂、時尚和視覺藝術,透過身體、服裝與群舞結構,回應殖民歷史、城市經驗與祖靈記憶的交錯。本文將從服裝設計、身體語彙與「輪迴」的「誕生—死亡—重生」結構出發,分析《轉轉生》如何以當代目光,形塑去殖民視角的奈及利亞歷史。
Thumbnail
牽涉到的工具:wsl2 + anaconda + jupyter-nootbook
Thumbnail
牽涉到的工具:wsl2 + anaconda + jupyter-nootbook
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
你是不是常常覺得自己的螢幕空間被 windows 底下的工作列占用而心煩意亂呢? 本篇我就來教教大家怎麼隱藏工具列 😎😎😎
Thumbnail
你是不是常常覺得自己的螢幕空間被 windows 底下的工作列占用而心煩意亂呢? 本篇我就來教教大家怎麼隱藏工具列 😎😎😎
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News