Entrenamiento del modelo con Custom Vision
En la fase anterior de este tutorial, analizó los requisitos previos para crear su propio modelo y aplicación de Windows Machine Learning y descargó un conjunto de imágenes para su uso. En esta fase, aprenderá a usar la interfaz de Custom Vision basada en Internet para convertir el 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 permite crear, implementar y mejorar sus propios identificadores de imágenes. El servicio Custom Vision está disponible como un conjunto de SDK nativos; además cuenta con interfaz basada en Internet desde el sitio web de Custom Vision.
Creación de recursos y proyectos de Custom Vision
Creación de recursos de Custom Vision
Para usar el servicio Custom Vision, deberá crear recursos de Custom Vision en Azure.
- Vaya a la página principal de la cuenta de Azure y seleccione
Create a resource
.
- En el cuadro de búsqueda, busque
Custom Vision
y accederá a Azure Marketplace. SeleccioneCreate Custom Vision
para abrir la ventana de diálogo en la página Crear instancia de Custom Vision.
- En la página de diálogo de Custom Vision, elija lo siguiente:
- Seleccione los recursos
Training
yPrediction
. - Seleccione la suscripción para administrar los recursos implementados. Si no ve su suscripción de Azure en el menú, cierre la sesión y vuelva a abrir la cuenta de Azure con las mismas credenciales con las que la abrió.
- Cree un nuevo grupo de recursos y asígnele un nombre. En este tutorial hemos llamado al nuestro
MLTraining
, pero puede elegir su propio nombre o usar el grupo de recursos existente si ya tiene uno. - Asigne un nombre al proyecto. En este tutorial hemos llamado al nuestro
classificationApp
, pero puede usar cualquier nombre de su elección. - Para los recursos
Training
yPrediction
, establezca la ubicación como (EE. UU.) Este de EE. UU. y el Plan de tarifa como FO gratuito.
- Presione
Review + create
para implementar los recursos de Custom Vision. Tenga en cuenta que la operación para implementar los recursos puede tardar unos minutos.
Creación de un proyecto en Custom Vision
Ahora que ya ha creado el recurso, es el momento de crear el proyecto de entrenamiento en Custom Vision.
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.Seleccione
New Project
para abrir un cuadro de diálogo del nuevo proyecto.
- Cree un proyecto tal como se muestra a continuación:
Name
: FoodClassification.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 dominio Food (compact)
. Recuerde que los dominios no compactos no se pueden exportar a ONNX.
Importante
Si la cuenta con la que ha iniciado sesión está asociada a una cuenta de Azure, aparecerá el menú desplegable Resource Group (Grupo de recursos) que incluye 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.
- Una vez que haya rellenado el cuadro de diálogo, seleccione
Create project
.
Carga del conjunto de datos de entrenamiento
Una vez creado el proyecto, deberá cargar un conjunto de datos preparado previamente de imágenes de comida que se ha obtenido de los conjuntos de datos abiertos de Kaggle.
Seleccione el proyecto
FoodClassification
para abrir la interfaz basada en Internet del sitio web de Custom Vision.Seleccione el botón
Add images
y elijaBrowse local files
.
Vaya a la ubicación del conjunto de datos de imágenes y seleccione la carpeta de entrenamiento
vegetable-fruit
. Seleccione todas las imágenes de la carpeta y seleccioneopen
. Se abrirá la opción de etiquetado.Agregue
vegetable-fruit
en el campoMy Tags
y presioneUpload
.
Espere hasta que se haya cargado el primer grupo de imágenes en el proyecto y, a continuación, presione done
. La selección de etiquetas se aplicará a todo el grupo de imágenes que haya seleccionado para cargar. Por eso es más fácil cargar imágenes de grupos de imágenes que ya se hayan creado previamente. También puede cambiar las etiquetas de las imágenes individuales después de que se hayan cargado.
- Después de que el primer grupo de imágenes se cargue correctamente, repita el proceso dos veces más para cargar las imágenes de postres y sopa. Asegúrese de etiquetarlos con las etiquetas pertinentes.
Al final, tendrá tres grupos de imágenes diferentes listos para el entrenamiento.
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.
- Para iniciar el proceso de entrenamiento, pulse el botón
Train
en la esquina superior derecha. El clasificador usará las imágenes para crear un modelo que identifique las calidades visuales de cada etiqueta.
Existe una opción para cambiar el umbral de probabilidad mediante el control deslizante de 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, se obtiene una clasificación más correcta, pero se detectarán menos clasificaciones. 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, puede mantener el umbral de probabilidad en el 50 %.
- En este caso usaremos el proceso
Quick Training
.Advanced Training
tiene más opciones de configuración y le permite establecer específicamente el tiempo que se usará para el entrenamiento, aunque no necesitamos ese nivel de control en este proceso. PresioneTrain
para iniciar el proceso de entrenamiento.
Un proceso de entrenamiento rápido solo llevará unos minutos en completarse. Durante este tiempo, se muestra información sobre el proceso de entrenamiento en la pestaña Performance
.
Evaluación y prueba
Evaluar los resultados
Una vez completado el entrenamiento, verá el resumen de la primera iteración del entrenamiento. Aquí se 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 el modelo la precisión es del 98,2 %, por lo que si el modelo clasifica una imagen, es muy probable que se haya predicho correctamente.
- La coincidencia indica la fracción de las clasificaciones reales que se identificaron correctamente. En el modelo la recuperación es del 97,5 %, por lo que nuestro modelo 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 umbrales diferentes.
Probar el modelo
Antes de exportar el modelo, puede probar su rendimiento.
- Seleccione
Quick Test
en la esquina superior derecha de la barra de menús superior para abrir una nueva ventana de pruebas.
En esta ventana, puede proporcionar una dirección URL de la imagen que se va a probar o puede seleccionar Browse local files
para usar una imagen almacenada localmente.
- Elija
Browse local files
, vaya al conjunto de datos de alimentos y abra una carpeta de validación. Elija cualquier imagen aleatoria de la carpetafruit-vegetable
y presioneopen
.
El resultado de las pruebas aparecerá en la pantalla. En esta prueba, el modo clasificó correctamente la imagen con una certeza del 99,8 %.
Puede usar la predicción para realizar el entrenamiento en la pestaña Predictions
, lo que puede 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 contiene más información sobre el portal web y los SDK de Custom Vision.
Exportación del modelo a ONNX
Una vez entrenado el modelo, puede exportarlo a ONNX.
- Seleccione la pestaña
Performance
y, a continuación, elijaExport
para abrir una ventana de exportación.
- Seleccione
ONNX
para exportar el modelo al formato ONNX.
- Puede elegir la opción "float"
ONNX 16
si es necesario, pero en este tutorial no es necesario cambiar ninguna configuración. SeleccioneExport and Download
.
- Abra el archivo .zip descargado y extraiga el archivo
model.onnx
. Este archivo contiene el modelo clasificador.
Felicidades. Ya ha creado y exportado correctamente el modelo de clasificación.
Pasos siguientes
Ahora que tiene un modelo de clasificación, el siguiente paso es compilar una aplicación de Windows y ejecutarla localmente en el dispositivo Windows.