Compartir a través de


Panel de WinML

El panel de WinML es una herramienta para ver, editar, convertir y validar modelos de aprendizaje automático para el motor de inferencia de Windows ML. El motor está integrado en Windows 10 y evalúa los modelos entrenados localmente en dispositivos Windows mediante la optimización del hardware de la CPU y la GPU para permitir inferencias de alto rendimiento.

Obtención de la herramienta

Puede descargar el panel de WinML aquí, o bien puede compilar la aplicación desde el origen siguiendo las instrucciones que se indican a continuación.

Creación a partir del origen

Al compilar la aplicación desde el origen, necesitará hacer lo siguiente:

Requisitos Versión Descargar Comando para comprobar
Python3 3.4 o superior aquí python --version
Yarn latest aquí yarn --version
Node.js latest aquí node --version
Git latest aquí git --version
MSBuild latest aquí msbuild -version
NuGet latest aquí nuget help

Los seis requisitos previos deben agregarse a la ruta de acceso del entorno. Tenga en cuenta MSBuild y Nuget se incluirán en una instalación Visual Studio 2017.

Pasos para la compilación y ejecución

Para ejecutar el panel de WinML, siga estos pasos:

  1. En la línea de comandos, clone el repositorio: git clone https://github.com/Microsoft/Windows-Machine-Learning.
  2. En el repositorio, escriba lo siguiente para acceder a la carpeta correcta: cd Tools/WinMLDashboard.
  3. Ejecute git submodule update --init --recursive para actualizar Netron.
  4. Ejecute Yarn para descargar las dependencias.
  5. A continuación, ejecute yarn electron-prod para compilar e iniciar la aplicación de escritorio, que iniciará el panel.

Todos los comandos de panel disponibles se pueden ver en package.json.

Visualización y edición de modelos

El panel usa Netron para ver modelos de aprendizaje automático. Aunque WinML usa el formato ONNX, el visor de Netron admite la visualización de varios formatos de marco diferentes.

Es frecuente que un desarrollador necesite actualizar determinados metadatos del modelo o modificar los nodos de entrada y salida de este. Esta herramienta admite la modificación de las propiedades del modelo, los metadatos y los nodos de entrada y salida de un modelo ONNX.

Al seleccionar la pestaña Edit (en la parte superior central, tal como se muestra en el recorte de pantalla siguiente), accederá al panel de visualización y edición. El panel izquierdo le permite editar los nodos de entrada y salida del modelo, y el panel derecho le permite editar las propiedades del modelo. La parte central muestra el gráfico. En este momento, la compatibilidad de edición se limita a los nodos de entrada y salida del modelo (y no a los nodos internos), a las propiedades del modelo y a los metadatos del modelo.

El botón Edit/View cambia del Modo de edición al Modo de solo para visualización y viceversa. El modo de solo para visualización no permite la edición y habilita las características nativas del visor de Netron, como la capacidad de ver información detallada de cada nodo.

Visualización y edición de modelos

Conversión de modelos

Hoy en día hay varios marcos diferentes disponibles para entrenar y evaluar modelos de aprendizaje automático, lo que dificulta a los desarrolladores de aplicaciones la integración de modelos en su producto. Windows ML usa el formato de modelo de aprendizaje automático de ONNX que permite la conversión de un formato de marco a otro; asimismo, su panel facilita la conversión de modelos de marcos diferentes a ONNX.

La pestaña Convertir admite la conversión a ONNX a partir de los siguientes marcos de origen:

  • Apple Core ML
  • TensorFlow (subconjunto de modelos convertibles a ONNX)
  • Keras
  • Scikit-learn (subconjunto de modelos convertibles a ONNX)
  • Xgboost
  • LibSVM

Esta herramienta también permite la validación de un modelo convertido; para ello, evalúa el modelo con un motor de inferencia de Windows ML integrado mediante datos sintéticos (predeterminados) o datos de entrada reales en la CPU o la GPU.

Conversión de un modelo

Validación de modelos

Una vez que tenga un modelo ONNX, puede validar si la conversión se ha realizado correctamente y que el modelo se pueda evaluar en el motor de inferencia de Windows ML. Esto se hace mediante la pestaña Run (consulte a continuación el recorte de pantalla).

Asimismo, puede elegir varias opciones, como una CPU (valor predeterminado) o una GPU, una entrada real o una entrada sintética (valor predeterminado), etc. El resultado de la evaluación del modelo aparece en la ventana de la consola en la parte inferior.

Tenga en cuenta que la característica de validación de modelos solo está disponible en la Actualización de octubre de 2018 de Windows 10 o en una versión más reciente de Windows 10, ya que la herramienta se basa en el motor de inferencia integrado de Windows ML.

Validación de un modelo

Depuración de una inferencia

Puede usar la característica de depuración del panel de WinML para obtener información sobre cómo fluyen los datos sin procesar a través de los operadores del modelo. También puede visualizar estos datos para la inferencia de Computer Vision.

Para depurar el modelo, siga estos pasos:

  1. Vaya a la pestaña Edit y seleccione el operador para el que quiere capturar datos intermedios. En el panel izquierdo, habrá un menú Debug donde puede seleccionar los formatos de datos intermedios que quiere capturar. Actualmente, las opciones son texto y PNG. El texto mostrará un archivo de texto que contiene las dimensiones, el tipo de datos y los datos de tensor sin procesar que haya generado este operador. PNG dará formato a estos datos en un archivo de imagen que puede ser útil para las aplicaciones de Computer Vision.

Depuración de un modelo

  1. Vaya a la pestaña Run y seleccione el modelo que quiere depurar.
  2. En el campo Capture, seleccione Debug en la lista desplegable.
  3. Seleccione una imagen de entrada o un archivo CSV que proporcionar al modelo en la ejecución. Tenga en cuenta que esto es necesario al capturar los datos de depuración.
  4. Seleccione una carpeta de salida para exportar los datos de depuración.
  5. Seleccione Run. Una vez completada la ejecución, puede ir a esta carpeta seleccionada para ver la captura de depuración.

Ejecución de un modelo

También puede abrir la vista de depuración en la aplicación Electron con una de las siguientes opciones:

  • Ejecútela con flag --dev-tools,
  • seleccione View -> Toggle Dev Tools en el menú de la aplicación
  • o presione Ctrl + Shift + I.