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
留言分享你的想法!
avatar-img
typedef struct 隨筆記{
1會員
6內容數
如果是失業的時候寫的 -那就是隨筆 如果是工作的時候寫的 -那就是筆記 但我狀態切換的很頻繁 那目前這坨東西就定義成「隨筆記」好了
你可能也想看
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
大家好,我是一名眼科醫師,也是一位孩子的媽 身為眼科醫師的我,我知道視力發展對孩子來說有多關鍵。 每到開學季時,診間便充斥著許多憂心忡忡的家屬。近年來看診中,兒童提早近視、眼睛疲勞的案例明顯增加,除了3C使用過度,最常被忽略的,就是照明品質。 然而作為一位媽媽,孩子能在安全、舒適的環境
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
Thumbnail
我的「媽」呀! 母親節即將到來,vocus 邀請你寫下屬於你的「媽」故事——不管是紀錄爆笑的日常,或是一直想對她表達的感謝,又或者,是你這輩子最想聽她說出的一句話。 也歡迎你曬出合照,分享照片背後的點點滴滴 ♥️ 透過創作,將這份情感表達出來吧!🥹
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
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
教大家如何使用 google colab 讀取雲端硬碟中的資料
Thumbnail
教大家如何使用 google colab 讀取雲端硬碟中的資料
Thumbnail
這是為了搭建自己想要的工作流而開始的研究工作。
Thumbnail
這是為了搭建自己想要的工作流而開始的研究工作。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News