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.