Clasificación de imágenes con PyTorch y Windows ML

Header image for PyTorch

En este tutorial se muestra cómo entrenar un modelo de redes neuronales de clasificación de imágenes mediante PyTorch, exportar el modelo al formato ONNX e implementarlo en una aplicación de Windows Machine Learning que se ejecuta localmente en el dispositivo Windows.

Se requieren conocimientos básicos de los lenguajes de programación Python y C#. Es preferible tener experiencia anterior en el aprendizaje automático, pero no es necesario.

Si desea pasar directamente a la instalación, consulte Instalación de PyTorch.

Si ya ha configurado PyTorch, obtenga los datos para iniciar el proceso de entrenamiento del modelo.

Una vez que esté listo para usar los datos, puede empezar a entrenar el modelo y, a continuación, convertirlo al formato ONNX.

Si tiene un modelo ONNX y quiere aprender a crear una aplicación de WinML desde cero, consulte implementación del modelo.

Nota:

Si lo desea, puede clonar el repositorio de muestras de Windows Machine Learning y ejecutar el código completo de este tutorial. Puede encontrar la solución de entrenamiento de PyTorch aquí o la aplicación de Windows ML completa aquí. Si usa el archivo de PyTorch, asegúrese de configurar el intérprete de PyTorch pertinente antes de ejecutarlo.

Escenario

En este tutorial, crearemos una aplicación de clasificación de imágenes de aprendizaje automático que se pueda ejecutar en cualquier dispositivo con Windows. El modelo se entrenará para reconocer tipos de patrones y clasificará 10 etiquetas de imágenes del conjunto de entrenamiento elegido. 

Requisitos previos para PyTorch: entrenamiento del modelo:

PyTorch se admite en las distribuciones de Windows siguientes:

  • Windows 7 y versiones posteriores. Se recomienda Windows 10 o versiones posteriores.
  • Windows Server 2008 R2 y versiones posteriores

Para usar Pytorch en Windows, debe tener Instalado Python 3.x. No se admite Python 2.x.

Requisitos previos para la implementación de la aplicación de Windows ML

Para crear e implementar una aplicación de WinML, necesitará lo siguiente:

  • Windows 10, versión 1809 (compilación 17763) o superior. Para comprobar el número de versión de compilación, ejecute winvermediante el comando Run (Windows logo key + R).
  • Windows SDK para la versión 17763 o posterior. Puede obtener el SDK aquí.
  • Visual Studio 2017, versión 15.7 o posterior. Se recomienda usar Visual Studio 2019 y algunas capturas de pantalla de este tutorial pueden ser diferentes si usa VS2017 en su lugar. Puede obtener Visual Studio aquí.
  • La extensión de Visual Studio del generador de código de Windows ML (mlgen). Descárguela para VS 2019 o VS 2017.
  • También deberá habilitar el modo de desarrollador en el equipo

Nota:

Las API de Windows ML están integradas en las versiones más recientes de Windows 10 (1809 o posterior) y Windows Server 2019. Si la plataforma de destino es una versión anterior de Windows, puede migrar la aplicación de WinML al paquete de NuGet redistribuible (Windows 8.1 o superior).

Pasos siguientes

Comenzaremos por instalar PyTorch y configurar nuestro entorno

Importante

PyTorch, el logotipo de PyTorch y las marcas relacionadas son marcas comerciales de Facebook, Inc.