Habilitar o PyTorch com o DirectML no Windows

O PyTorch com DirectML fornece uma maneira fácil de usar para os desenvolvedores experimentarem os melhores e mais recentes modelos de IA em computadores Windows. Você pode baixar o PyTorch com DirectML instalando o pacote de PyPi torch-directml. Uma vez configurado, você pode começar com nossas amostras ou usar o AI Toolkit do VS Code.

Verifique sua versão do Windows

O pacote torch-directml no Windows nativo funciona a partir do Windows 10, versão 1709 (Build 16299 ou superior). Verifique o número de versão do build executando winver por meio do comando Run (Tecla Windows + R).

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

Verifique se tem o driver de GPU mais recente instalado. Selecione Verificar atualizações na seção do Windows Update do aplicativo de Configurações.

Configurar o Torch-DirectML

É recomendável configurar um ambiente virtual Python no Windows. Há muitas ferramentas que você pode usar para configurar um ambiente virtual Python: para estas instruções, usaremos o Miniconda do Anaconda. O restante dessa configuração pressupõe que você use um ambiente Miniconda.

Configurar um ambiente Python

Baixe e instale o instalador do Windows para Miniconda em seu sistema. Há diretrizes adicionais para configuração no site do Anaconda. Depois que o Miniconda for instalado, crie um ambiente usando o Python chamado pytdml e ative-o com os comandos a seguir.

conda create --name pytdml -y
conda activate pytdml

Instalar o PyTorch e o Torch-DirectML

Observação

O pacote torch-directml oferece suporte até o PyTorch 2.2

Para a configuração, basta 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, adicione dois tensores para verificar se ele é executado corretamente. Primeiro, inicie uma sessão interativa do 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 tensores ao dispositivo DirectML.

Com o dispositivo DirectML criado, agora você pode definir dois tensores simples: um tensor contendo 1 e outro contendo 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()

O número 3 deverá ser o resultado, 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 de DirectML

Confira nossas amostras para ver mais usos do PyTorch com DirectML. Se você tiver problemas ou comentários a fazer sobre o pacote PyTorch com DirectML, entre em contato com nossa equipe.