Habilitar o PyTorch com o DirectML no WSL 2

O PyTorch com DirectML fornece uma maneira fácil de usar para os desenvolvedores experimentarem os modelos de IA mais recentes e melhores em seus Windows computador. Você pode baixar o PyTorch com DirectML instalando o pacote PyPi torch-directml. Depois de configurado, você pode começar com nossos exemplos ou usar o Foundry Toolkit for VS Code.

Verifique sua versão do Windows

O pacote torch-directml no Subsistema do Windows para Linux (WSL) 2 funciona começando com Windows 11 (Build 22000 ou superior). Você pode verificar o número de versão do build executando winver por meio do comando Run (Windows chave de logotipo + R).

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

Verifique se você tem o driver de GPU mais recente instalado. Selecione Verificar se há atualizações na seção Windows Update das Configurações do Windows.

Configurar o Torch-DirectML

Instalar o WSL 2

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

Em seguida, instale o driver de GUI do WSL seguindo as instruções no arquivo README.md no repositório microsoft/wslg GitHub.

Configurar um ambiente Python

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

Instale o Miniconda seguindo as diretrizes do instalador do Linux no site da Anaconda ou executando os comandos a seguir no WSL 2.

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

Depois que o Miniconda for instalado, crie um ambiente Python chamado pytdml e ative-o por meio dos seguintes comandos:

conda create --name pytdml -y
conda activate pytdml

Instalar o PyTorch e o Torch-DirectML

Observação

O pacote torch-directml dá suporte a 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 dispositivo

Depois de instalar o pacote torch-directml , você pode verificar se ele é executado corretamente adicionando dois tensores. Primeiro inicie uma sessão interativa de 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 back-end do Torch "PrivateUse1". A API torch_directml.device() é um wrapper conveniente para enviar os seus tensores para o dispositivo DirectML.

Com o dispositivo DirectML criado, agora você pode definir dois tensores simples; um tensor que contém um 1 e outro que contém um 2. Coloque os tensores no dispositivo "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()

Você deve ver o número 3 sendo apresentado, 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 exemplos e comentários do DirectML

Confira nossos exemplos para ver mais usos de PyTorch com DirectML. Se você tiver problemas ou tiver comentários sobre o PyTorch com o pacote DirectML, conecte-se com nossa equipe aqui.