在 WSL 2 上使用 DirectML 啟用 PyTorch

PyTorch 搭配 DirectML 提供一種易於使用的方式,讓開發者能在 Windows 機器上試用最新最優秀的 AI 模型。 您可以安裝 torch-directml PyPi 套件,以使用 DirectML 下載 PyTorch。 設定完成後,你可以從我們的 範例 開始,或使用 VS Code 的 Foundry 工具包。

檢查你使用的 Windows 版本

Windows 子系統 Linux 版(WSL)2 中的 torch-directml 套件從 Windows 11(Build 22000 或更高版本)開始運作。 你可以透過 winver 指令(Windows 標誌鍵 + R)執行 來檢查你的建置版本號。

檢查 GPU 驅動程式更新

請確定您已安裝最新的 GPU 驅動程式。 在 Windows 設定Windows Update 區塊中選擇 Check for updates

設定 Torch-DirectML

安裝 WSL 2

要安裝 Windows 子系統 Linux 版(WSL)2,請參考 Install WSL 中的說明。

接著依照 README.md GitHub 倉庫中 檔案中的指示安裝 WSL GUI 驅動程式。

建立一個 Python 環境

我們建議你在 WSL 2 內建立一個虛擬的 Python 環境。 你可以用許多工具來建立虛擬Python環境——在這個主題中,我們將使用 Anaconda 的 Miniconda。 此設定的其餘部分假設您使用Miniconda環境。

遵循 Anaconda 網站上的 Linux 安裝程式指引 ,或在 WSL 2 中執行下列命令,以安裝 Miniconda。

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh 
bash Miniconda3-latest-Linux-x86_64.sh

安裝 Miniconda 後,建立一個名為 pytdml 的 Python 環境,並透過以下指令啟動:

conda create --name pytdml -y
conda activate pytdml

安裝 PyTorch 和 Torch-DirectML

備註

torch-directml 套件最多可支援 PyTorch 2.3.1

您只需執行以下命令來安裝最新版的 torch-directml,即可完成設置:

pip install torch-directml

驗證和裝置建立

安裝 torch-directml 套件之後,您可以藉由新增兩個張張量來確認它是否正常執行。 首先啟動互動式 Python 工作階段,然後使用以下語句匯入 Torch:

import torch
import torch_directml
dml = torch_directml.device()

目前版本的 torch-directml 被映射到 “PrivateUse1” Torch 後端。 torch_directml.device() API 是將張量傳送至 DirectML 裝置的便利包裝函式。

建立 DirectML 裝置後,您現在可以定義兩個簡單的張量;一個包含 1 的張量,另一個則包含 2。 將張量放在 「dml」 裝置上。

tensor1 = torch.tensor([1]).to(dml) # Note that dml is a variable, not a string!
tensor2 = torch.tensor([2]).to(dml)

將張量加在一起,並列印結果。

dml_algebra = tensor1 + tensor2
dml_algebra.item()

您應該會看到輸出的數位 3,如下列範例所示。

>>> import torch
>>> tensor1 = torch.tensor([1]).to(dml)
>>> tensor2 = torch.tensor([2]).to(dml)
>>> dml_algebra = tensor1 + tensor2
>>> dml_algebra.item()
3

使用 DirectML 範例和意見反應的 PyTorch

請參閱 我們的範例 ,以查看更多使用 PyTorch 搭配 DirectML。 如果您遇到問題,或有使用 DirectML 套件的 PyTorch 意見反應,請 在這裡與我們小組聯繫