Compartir a través de


Entrenamiento del modelo con Custom Vision

En la fase anterior de este tutorial, se describen los requisitos previos para crear su propio modelo y aplicación de Windows Machine Learning y se descargó un conjunto de imágenes que se va a usar. En esta fase, aprenderemos a usar la interfaz de Custom Vision basada en web para convertir nuestro conjunto de imágenes en un modelo de clasificación de imágenes.

Azure Custom Vision es un servicio de reconocimiento de imágenes que le permite crear, implementar y mejorar sus propios identificadores de imagen. Custom Vision Service está disponible como un conjunto de SDK nativos, así como a través de una interfaz basada en web en el sitio web de Custom Vision.

Creación de recursos y proyecto de Custom Vision

Creación de un recurso de Custom Vision

Para usar Custom Vision Service, deberá crear recursos de Custom Vision en Azure.

  1. Vaya a la página principal de la cuenta de Azure y seleccione Create a resource.

Selección de recursos de Azure

  1. En el cuadro de búsqueda, busque Custom Vision, y accederá al Azure Marketplace. Seleccione Create Custom Vision para abrir la ventana de diálogo en la página Crear Custom Vision.

Selección de paquetes

  1. En la página de diálogo Custom Vision, elija lo siguiente:
  • Seleccione los recursos Training y Prediction .
  • Seleccione la suscripción para administrar los recursos implementados. Si no ve la suscripción de Azure en el menú, cierre la sesión y vuelva a abrir su cuenta de Azure con las mismas credenciales con las que abrió la cuenta.
  • Cree un nuevo grupo de recursos y asígnele un nombre. En este tutorial, hemos llamado al nuestro MLTraining, pero siéntase libre de elegir su propio nombre o usar el grupo de recursos existente si tiene uno.
  • Asigne un nombre al proyecto. En este tutorial, hemos llamado a nuestro classificationApp, pero puede usar cualquier nombre que desee.
  • Para los recursos Training y Prediction, establezca la ubicación como (EE. UU.) Este de EE. UU y Nivel de precios como Free FO.
  1. Presione Review + create para implementar los recursos de Custom Vision. Puede llevar unos minutos implementar sus recursos.

Implementación de un nuevo recurso de Custom Vision

Creación de un proyecto en Custom Vision

Ahora que ha creado el recurso, es el momento de crear el proyecto de entrenamiento en Custom Vision.

  1. En el explorador web, vaya a la página Custom Vision y seleccione Sign in. Inicie sesión con la misma cuenta que usó para iniciar sesión en Azure Portal.

  2. Seleccione New Project para abrir el cuadro de diálogo de nuevo proyecto.

Crear un proyecto

  1. Cree un proyecto como se indica a continuación:
  • Name: Clasificación de Alimentos.
  • Description: clasificación de diferentes tipos de alimentos.
  • Resource: mantenga el mismo recurso que abrió anteriormente: ClassificationApp [F0].
  • Project Types: classification
  • Classification Types: Multilabel (Multiple tags per image)
  • Domains: Food (compact).
  • Export Capabilities: Basic platforms (Tensorflow, CoreML, ONNX, ...)

Nota:

Para exportar al formato ONNX, asegúrese de elegir el Food (compact) dominio. Los dominios no compactos no se pueden exportar a ONNX.

Importante

Si la cuenta de inicio de sesión está asociada a una cuenta de Azure, la lista desplegable Grupo de recursos mostrará todos los grupos de recursos de Azure que incluyen un recurso de Custom Vision Service. Si no hay ningún grupo de recursos disponible, confirme que ha iniciado sesión en customvision.ai con la misma cuenta que usó para iniciar sesión en Azure Portal.

  1. Una vez que haya rellenado el cuadro de diálogo, seleccione Create project.

Finalización del proyecto

Carga del conjunto de datos de entrenamiento

Ahora que ha creado el proyecto, cargará un conjunto de datos preparado previamente de imágenes de alimentos de Kaggle Open Datasets.

  1. Seleccione su FoodClassification proyecto para abrir la interfaz web de Custom Vision.

  2. Seleccione el Add images botón y elija Browse local files.

Cuadro de diálogo Agregar imágenes

  1. Vaya a la ubicación del conjunto de datos de imagen y seleccione la carpeta de entrenamiento : vegetable-fruit. Seleccione todas las imágenes de la carpeta y seleccione open. Se abrirá la opción de etiquetado.

  2. Escriba vegetable-fruit en el My Tags campo y presione Upload.

Carga de imágenes

Espere hasta que el primer grupo de imágenes se cargue en el proyecto y presione done. La selección de etiquetas se aplicará a todo el grupo de imágenes que ha seleccionado para cargar. Por eso es más fácil cargar imágenes de grupos de imágenes ya creados previamente. Siempre puede cambiar las etiquetas de las imágenes individuales después de cargarlas.

Progreso de la carga de imágenes

  1. Después de cargar correctamente el primer grupo de imágenes, repita el proceso dos veces más para cargar las imágenes de postre y sopa. Asegúrese de etiquetarlos con las etiquetas pertinentes.

Al final, tendrá tres grupos diferentes de imágenes listas para el entrenamiento.

Visualización de etiquetas de imagen

Entrenamiento del clasificador de modelos

Ahora entrenará el modelo para clasificar las verduras, la sopa y los postres del conjunto de imágenes que descargó en la parte anterior.

  1. Para iniciar el proceso de entrenamiento, seleccione el Train botón de la esquina superior derecha. El clasificador usará las imágenes para crear un modelo que identifique las cualidades visuales de cada etiqueta.

Botón Train (Entrenar)

Hay una opción para cambiar el umbral de probabilidad mediante el control deslizante en la esquina superior izquierda. El umbral de probabilidad establece el nivel de confianza que debe tener una predicción para que se considere correcta. Si el umbral de probabilidad es demasiado alto, obtendrá una clasificación más correcta, pero se detectarán menos. Por otro lado, si el umbral de probabilidad es demasiado bajo, detectará muchas más clasificaciones, pero con una confianza menor o más resultados falsos positivos.

En este tutorial, puedes mantener el umbral de probabilidad en 50%.

  1. Aquí usaremos el Quick Training proceso. Advanced Training tiene más configuración y le permite establecer específicamente el tiempo usado para el entrenamiento, pero no necesitamos ese nivel de control aquí. Presione Train para iniciar el proceso de entrenamiento.

Elegir el tipo de entrenamiento

Un proceso de entrenamiento rápido solo tardará unos minutos en completarse. Durante este tiempo, se muestra información sobre el proceso de entrenamiento en la Performance pestaña .

Proceso de entrenamiento

Evaluación y prueba

Evaluar los resultados

Una vez completado el entrenamiento, verá el resumen de la primera iteración de entrenamiento. Incluye la estimación del rendimiento del modelo: precisión y recuperación.

  • La precisión indica la fracción de las clasificaciones identificadas que fueron correctas. En nuestro modelo, la precisión es 98.2%, por lo que si nuestro modelo clasifica una imagen, es muy probable que se predicho correctamente.
  • La coincidencia indica la fracción de las clasificaciones reales que se identificaron correctamente. En nuestro modelo, el recall es 97.5%, por lo que clasifica correctamente la gran mayoría de las imágenes que se le presentan.
  • AP significa Rendimiento adicional. Esto proporciona una métrica adicional, que resume la precisión y la recuperación en distintos umbrales.

Evaluación del entrenamiento del modelo

Prueba del modelo

Antes de exportar el modelo, puede probar su rendimiento.

  1. Seleccione Quick Test en la esquina superior derecha de la barra de menús superior para abrir una nueva ventana de pruebas.

Botón Probar

En esta ventana, puede proporcionar una dirección URL de la imagen que se va a probar o seleccionar Browse local files para usar una imagen almacenada localmente.

Selección de la imagen para las pruebas

  1. Elija Browse local files, vaya al conjunto de datos de alimentos y abra una carpeta de validación. Elija cualquier imagen aleatoria de la fruit-vegetable carpeta y presione open.

El resultado de las pruebas aparecerá en la pantalla. En nuestra prueba, el modo clasificó correctamente la imagen con 99,8% certeza.

Resultados de clasificación de pruebas

Puede usar la predicción para el entrenamiento en la Predictions pestaña, lo que podría mejorar el rendimiento del modelo. Para obtener más información, consulte Cómo mejorar el clasificador.

Nota:

¿Le interesa obtener más información sobre las API de Azure Custom Vision? La documentación de Custom Vision Service tiene más información sobre el portal web y el SDK de Custom Vision.

Exportación del modelo a ONNX

Ahora que hemos entrenado nuestro modelo, podemos exportarlo a ONNX.

  1. Seleccione la Performance pestaña y, a continuación, elija Export abrir una ventana de exportación.

Botón Exportar

  1. Seleccione ONNX esta opción para exportar el modelo al formato ONNX.

Elección del formato

  1. Puede elegir la ONNX 16 opción float si es necesario, pero en este tutorial no es necesario cambiar ninguna configuración. Seleccione Export and Download.

Elección de la plataforma

  1. Abra el archivo .zip descargado y extraiga el model.onnx archivo de él. Este archivo contiene el modelo clasificador.

¡Felicidades! Ha creado y exportado correctamente el modelo de clasificación.

Pasos siguientes

Ahora que tenemos un modelo de clasificación, el siguiente paso es compilar una aplicación de Windows y ejecutarla localmente en el dispositivo Windows.