Abilitare PyTorch con DirectML in Windows

PyTorch con DirectML offre agli sviluppatori un modo facile da usare per provare i modelli di intelligenza artificiale più recenti e più grandi nel computer Windows. È possibile scaricare PyTorch con DirectML installando il pacchetto PyPi torch-directml. Dopo aver configurato, è possibile iniziare con gli esempi o usare AI Toolkit for VS Code.

Controllare la versione di Windows

Il pacchetto torch-directml in Windows nativo funziona a partire da Windows 10 versione 1709 (Build 16299 o successiva). È possibile controllare il numero di versione della build eseguendo winver tramite il comando Esegui (tasto logo Windows + R).

Verificare la disponibilità di aggiornamenti dei driver GPU

Assicurarsi di avere installato il driver GPU più recente. Selezionare Controlla la disponibilità di aggiornamenti nella sezione Windows Update dell'app Impostazioni.

Configurare Torch-DirectML

È consigliabile configurare un ambiente Python virtuale in Windows. Sono disponibili molti strumenti che è possibile usare per configurare un ambiente Python virtuale. Per queste istruzioni si userà miniconda di Anaconda. Il resto di questa configurazione presuppone che si usi un ambiente Miniconda.

Configurare un ambiente Python

Scaricare e installare il programma di installazione di Windows Miniconda nel sistema. Sono disponibili altre indicazioni per la configurazione nel sito di Anaconda. Dopo aver installato Miniconda, creare un ambiente usando Python denominato pytdml e attivarlo tramite i comandi seguenti.

conda create --name pytdml -y
conda activate pytdml

Installare PyTorch e Torch-DirectML

Nota

Il pacchetto torch-directml supporta fino a PyTorch 2.2

Tutto ciò che è necessario per ottenere l'installazione consiste nell'installare la versione più recente di torch-directml eseguendo il comando seguente:

pip install torch-directml

Verifica e creazione del dispositivo

Dopo aver installato il pacchetto torch-directml , è possibile verificare che venga eseguito correttamente aggiungendo due tensori. Avviare prima una sessione interattiva di Python e importare Torch con le righe seguenti:

import torch
import torch_directml
dml = torch_directml.device()

La versione corrente di torch-directml viene mappata al back-end "PrivateUse1". L'API torch_directml.device() è un wrapper pratico per inviare i tensori al dispositivo DirectML.

Dopo aver creato il dispositivo DirectML, è ora possibile definire due tensori semplici; un tensore contenente un valore 1 e un altro contenente un valore 2. Posizionare i tensori nel dispositivo "dml".

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

Aggiungere i tensori insieme e stampare i risultati.

dml_algebra = tensor1 + tensor2
dml_algebra.item()

Dovrebbe essere visualizzato il numero 3 come output, come nell'esempio seguente.

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

PyTorch con esempi e commenti di DirectML

Vedere gli esempi per visualizzare altri usi di PyTorch con DirectML. Se si verificano problemi o si hanno commenti e suggerimenti sul pacchetto PyTorch con DirectML, contattare il team qui.