Habilitación de PyTorch con DirectML en Windows

Esta versión preliminar proporciona a los alumnos y principiantes una manera de empezar a desarrollar sus conocimientos en el espacio de aprendizaje automático (ML) en el hardware existente mediante el paquete torch-directml. Una vez configurado, puede empezar con nuestros ejemplos.

Nota:

Parte de la información hace referencia al producto de versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.

Comprobación de la versión de Windows

El paquete torch-directml en Windows nativo funciona a partir de Windows 10, versión 1709 (compilación 16299 o posterior). Para comprobar el número de versión de compilación, ejecute winver mediante el comando Run (tecla del logo de Windows + R).

Comprobación de las actualizaciones del controlador de GPU

Asegúrese de tener los controladores de GPU más recientes instalados. Seleccione Buscar actualizaciones en la sección Windows Update de la aplicación Configuración.

Configuración de la versión preliminar del complemento Torch-DirectML

Se recomienda configurar un entorno de Python virtual en Windows. Existen muchas herramientas que puede usar para configurar un entorno de Python virtual; en estas instrucciones, usaremos la característica Miniconda de Anaconda. En el resto de esta configuración se da por supuesto que usa un entorno de Miniconda.

Configuración del entorno de Python

Descargue e instale el instalador de Windows Miniconda en el sistema. Tiene instrucciones adicionales para la configuración en el sitio de Anaconda. Una vez instalado Miniconda, cree un entorno mediante Python denominado directml y actívelo mediante los siguientes comandos.

conda create --name pydml -y
conda activate pydml

Instalación de PyTorch y el complemento Torch-DirectML

Nota:

El paquete torch-directml solo admite PyTorch 1.13.

La versión más reciente de Torch-DirectML sigue un modelo de complemento, lo que significa que tiene dos paquetes para instalar. Primero, instale todas las dependencias de PyTorch, para lo que debe ejecutar los siguientes comandos:

conda install numpy pandas tensorboard matplotlib tqdm pyyaml -y
pip install opencv-python
pip install wget
pip install torchvision

A continuación, instale PyTorch. Para nuestros fines, debe instalar solo la versión de la CPU (ya que directml no se incluye en la rama principal de pytorch). Pero si necesita otras plataformas de proceso, siga las instrucciones de instalación en el sitio web de PyTorch.

conda install pytorch cpuonly -c pytorch

Por último, instale el complemento Torch-DirectML.

pip install torch-directml

Comprobación y creación de dispositivos

Una vez instalado el paquete Torch-DirectML, puede comprobar que se ejecuta correctamente agregando dos tensores. En primer lugar, inicie una sesión interactiva de Python e importe Torch con las siguientes líneas:

import torch
import torch_directml
dml = torch_directml.device()

La versión actual del complemento Torch-DirectML se asigna al back-end de Torch "PrivateUse1". La nueva API torch_directml.device() es un cómodo contenedor para enviar los tensores al dispositivo DirectML.

Con el dispositivo DirectML creado, ahora puede definir dos tensores simples; un tensor que contiene 1 y otro que contiene 2. Coloque los tensores en el dispositivo "dml".

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

Agregue los tensores e imprima los resultados.

dml_algebra = tensor1 + tensor2
dml_algebra.item()

Debería ver que el número 3 es la salida, como en el ejemplo siguiente.

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

PyTorch con ejemplos de DirectML y comentarios

Ahora está listo para empezar a aprender más sobre el aprendizaje automático. Consulte nuestros ejemplos para comenzar. Si tiene problemas o tiene comentarios sobre el paquete PyTorch con DirectML, póngase en contacto con nuestro equipo aquí.