Compartir a través de


Introducción a Windows Machine Learning

Important

Para obtener la documentación más reciente sobre Windows Machine Learning, consulte ¿Qué es Windows ML? En esa documentación se describen las API que se encuentran en el espacio de nombres Microsoft.Windows.AI.MachineLearning , que se incluye en windows App SDK. Esas API reemplazan a las documentadas aquí, que se encuentran en el espacio de nombres Windows.AI.MachineLearning , y se enviaron en 2018.

Hay varias maneras de usar Windows Machine Learning en la aplicación. En el núcleo, solo necesita un par de pasos sencillos.

  1. Obtenga un modelo entrenado de Open Neural Network Exchange (ONNX) o convierta modelos entrenados en otros marcos de APRENDIZAJE automático en ONNX con ONNXMLTools.

  2. Agregue el archivo de modelo ONNX a la aplicación o haga que esté disponible de alguna otra manera en el dispositivo de destino.

  3. Integre el modelo en el código de la aplicación y, a continuación, compile e implemente la aplicación.

Entorno de entrenamiento, agregar referencia de modelo, aplicación, Windows ML

Soluciones de WinML integradas y en NuGet

En la tabla siguiente se resaltan los aspectos de disponibilidad, distribución, soporte de idiomas, mantenimiento y compatibilidad futura del paquete In-Box y NuGet para Windows ML.

Properties In-Box NuGet
Availability Windows 10 versión 1809 o posterior Windows 8.1 o posterior
Distribution Integrado en Windows SDK Empaquetar y distribuir como parte de la aplicación
Servicing Controlado por Microsoft (los clientes se benefician automáticamente) Developer-driven
Forward compatibility Avanza automáticamente con nuevas funciones El desarrollador debe actualizar el paquete manualmente.

Cuando la aplicación se ejecuta con la solución integrada, Windows ML Runtime (que contiene el motor de inferencia del modelo ONNX) evalúa el modelo entrenado en el dispositivo Windows 10 (o Windows Server 2019 si tiene como destino una implementación de servidor). Windows ML controla la abstracción de hardware, lo que permite a los desarrolladores tener como destino una amplia gama de silicio, incluidas las CPU, las GPU y, en el futuro, los aceleradores de IA. La aceleración de hardware de Windows ML se basa en DirectML, una API de alto rendimiento y bajo nivel para ejecutar inferencias de ML que forman parte de la familia DirectX.

capas de windows ml

Paquete NuGet de Windows ML

Para el paquete NuGet, estas capas aparecen como archivos binarios que se muestran en el diagrama siguiente. Windows ML está integrado en el Microsoft.ai.machinelearning.dll. No contiene un entorno de ejecución de ONNX incrustado, sino que el entorno de ejecución de ONNX está integrado en el archivo: onnxruntime.dll. La versión incluida en los paquetes NuGet de WindowsAI contiene un EP de DirectML insertado dentro de él. El binario final, DirectML.dll, es el código de plataforma real como DirectML y se construye sobre los controladores de Direct3D y de cómputo integrados en Windows. Los tres archivos binarios se incluyen en las versiones de NuGet para que pueda distribuirlos junto con las aplicaciones.

El acceso directo a onnxruntime.dll también te permite establecer como destino escenarios multiplataforma mientras se obtiene la misma aceleración independiente del hardware que se escala en todos los dispositivos Windows.

Otras soluciones de aprendizaje automático de Microsoft

Microsoft ofrece una variedad de soluciones de aprendizaje automático para satisfacer sus necesidades. Estas soluciones se ejecutan en la nube, en el entorno local y localmente en el dispositivo. Consulte ¿Cuáles son las opciones de producto de aprendizaje automático de Microsoft? para obtener más información.

Learn more

Si desea usar el paquete NuGet de Windows ML, consulte Tutorial: Migrar una aplicación WinML existente al paquete NuGet.

Para conocer las últimas características y correcciones de Windows ML, consulta nuestras notas de la versión.

Note

Use los siguientes recursos para obtener ayuda con Windows ML:

  • Para formular o responder a preguntas técnicas sobre Windows Machine Learning, utilice la etiqueta windows-machine-learning en Stack Overflow.
  • Para notificar un error, registre un problema en GitHub.