Habilitar o PyTorch com DirectML no Windows

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 em Windows nativo funciona começando com Windows 10, versão 1709 (Build 16299 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

Recomendamos configurar um ambiente de Python virtual dentro de Windows. Há muitas ferramentas que você pode usar para configurar um ambiente de Python virtual—para essas instruções, usaremos Miniconda da Anaconda. O restante dessa configuração pressupõe que você use um ambiente Miniconda.

Configurar um ambiente Python

Baixe e instale o instalador Miniconda Windows em seu sistema. Há diretrizes adicionais para a instalação no site da Anaconda. Depois que o Miniconda estiver instalado, crie um ambiente usando Python chamado pytdml e ative-o por meio dos comandos a seguir.

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.