Ativar o PyTorch com DirectML no WSL 2

O PyTorch com DirectML oferece uma forma fácil de usar para os programadores experimentarem os modelos de IA mais recentes e avançados nas suas máquinas Windows. Você pode baixar o PyTorch com DirectML instalando o pacote torch-directml PyPi. Depois de configurado, pode começar com os nossos exemplos ou usar o Foundry Toolkit para o VS Code.

Verifica a tua versão do Windows

O pacote torch-directml no Subsistema Windows para Linux (WSL) 2 funciona a partir do Windows 11 (Build 22000 ou superior). Podes verificar o número da versão da tua build executando winver através do comando Run (tecla Windows logótipo + R).

Verifique se há atualizações de driver de GPU

Certifique-se de ter o driver de GPU mais recente instalado. Seleciona Verifica atualizações na secção Windows Update de Windows Definições.

Configurar Torch-DirectML

Instalar o WSL 2

Para instalar o Subsistema Windows para Linux (WSL) 2, consulte as instruções em Install WSL.

Depois instala o driver da interface gráfica WSL seguindo as instruções no ficheiro README.md no repositório microsoft/wslg GitHub.

Configurar um ambiente Python

Recomendamos que configure um ambiente virtual Python dentro do WSL 2. Existem muitas ferramentas que pode usar para configurar um ambiente de Python virtual — neste tópico vamos usar o Miniconda da Anaconda. O restante dessa configuração pressupõe que você use um ambiente Miniconda.

Instale o Miniconda seguindo as orientações do instalador do Linux no site do Anaconda ou executando os seguintes comandos no WSL 2.

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

Depois de instalar o Miniconda, crie um ambiente Python chamado pytdml, e ative-o através dos seguintes comandos:

conda create --name pytdml -y
conda activate pytdml

Instale o PyTorch e Torch-DirectML

Observação

O pacote torch-directml suporta até PyTorch 2.3.1

Tudo o que é necessário para obter a instalação é instalar a versão mais recente do torch-directml executando o seguinte comando:

pip install torch-directml

Verificação e criação de dispositivos

Depois de instalar o pacote torch-directml , você pode verificar se ele é executado corretamente adicionando dois tensores. Primeiro, inicie uma sessão interativa em Python e importe o Torch com as seguintes linhas:

import torch
import torch_directml
dml = torch_directml.device()

A versão atual do torch-directml é mapeada para o backend da tocha "PrivateUse1". A API torch_directml.device() é um wrapper conveniente para enviar seus tensores para o dispositivo DirectML.

Com o dispositivo DirectML criado, agora você pode definir dois tensores simples; um tensor contendo um 1 e outro contendo um 2. Coloque os tensores no dispositivo denominado "dml".

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

Adicione os tensores e imprima os resultados.

dml_algebra = tensor1 + tensor2
dml_algebra.item()

Deve ver o número 3 sendo exibido, como no exemplo abaixo.

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

PyTorch com amostras e comentários do DirectML

Confira nossos exemplos para ver mais usos do PyTorch com DirectML. Se você tiver problemas, ou tiver feedback sobre o pacote PyTorch com DirectML, entre em contato com nossa equipe aqui.