Direct Machine Learning (DirectML)

Direct Machine Learning (DirectML) es una API de bajo nivel para el aprendizaje automático. Tiene una conocida interfaz de programación (nativo C++, nano COM) flujo de trabajo en el estilo de DirectX 12. Puede integrar las cargas de trabajo de inferencia del aprendizaje automático en su juego, motor, middleware, back-end u otra aplicación. DirectML admite todo el hardware compatible con DirectX 12.

DirectML se introdujo en Windows 10, versión 1903, y en la versión correspondiente de Windows SDK.

Asegúrese de consultar también nuestra página de aterrizaje.

En esta sección

Tema Descripción
Introducción a DirectML Direct Machine Learning (DirectML) es una API de bajo nivel para el aprendizaje automático (ML).
Historial de versiones de DirectML DirectML es un componente del sistema de Windows 10 y también está disponible como un paquete redistribuible independiente.
Historial de nivel de característica de DirectML Manifiesto de los tipos introducidos en cada nivel de característica.
Enlace en DirectML En DirectML, el enlace hace referencia a los datos adjuntos de los recursos a la canalización para que la GPU los use durante la inicialización y ejecución de los operadores de aprendizaje automático. Estos recursos pueden ser tensores de entrada y salida, por ejemplo, así como cualquier recurso temporal o persistente que el operador necesite.
Barreras de UAV y barreras de estado de recursos en DirectML Describe las ventajas de corrección de las barreras y cómo puede trabajar con ellas en DirectML.
Duración y sincronización de los recursos Para evitar un comportamiento indefinido, la aplicación DirectML debe administrar correctamente la duración y sincronización de objetos entre la CPU y la GPU.
Uso de intervalos para expresar relleno y disposición de memoria Los tensores de DirectML se describen mediante propiedades conocidas como sizes y los strides del tensor.
Uso de operadores combinados para mejorar el rendimiento Algunos operadores de DirectML admiten un concepto conocido como fusión. La fusión de operadores es una manera de mejorar el rendimiento mediante la combinación de un operador (normalmente, una función de activación) en un operador diferente para que se ejecuten juntos sin necesidad de un recorrido de ida y vuelta a la memoria.
Uso de la capa de depuración de DirectML La capa de depuración de DirectML es un componente opcional en tiempo de desarrollo que le ayuda a depurar el código de DirectML.
Control de errores y eliminación de dispositivos En este tema se describe cómo depurar la eliminación de dispositivos DirectML y otras condiciones de error.
DirectMLX DirectMLX es una biblioteca auxiliar solo de encabezado de C++ para DirectML, diseñada para facilitar la redacción de operadores individuales en grafos.
Funciones asistentes de DirectML Listados de código de las funciones auxiliares esenciales de DirectML.
Aplicaciones de ejemplo de DirectML Vínculos a aplicaciones de ejemplo de DirectML, incluido un ejemplo de una aplicación DirectML mínima.
Entrenamiento de ML acelerado para GPU Trata lo que actualmente admite el entrenamiento de aprendizaje automático acelerado por GPU (ML) para el Subsistema de Windows para Linux (WSL) y Windows nativo.
Referencia de API de DirectML En esta sección se describen las API de Direct Machine Learning (DirectML) declaradas en DirectML.h.