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.
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.
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.
Para ejecutar el panel de WinML, siga estos pasos:
- En la línea de comandos, clone el repositorio:
git clone https://github.com/Microsoft/Windows-Machine-Learning
. - En el repositorio, escriba lo siguiente para acceder a la carpeta correcta:
cd Tools/WinMLDashboard
. - Ejecute
git submodule update --init --recursive
para actualizar Netron. - Ejecute Yarn para descargar las dependencias.
- 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.
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.
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.
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.
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:
- 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.
- Vaya a la pestaña
Run
y seleccione el modelo que quiere depurar. - En el campo
Capture
, seleccioneDebug
en la lista desplegable. - 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.
- Seleccione una carpeta de salida para exportar los datos de depuración.
- Seleccione
Run
. Una vez completada la ejecución, puede ir a esta carpeta seleccionada para ver la captura de depuración.
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
.