Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
- 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á al Azure Marketplace. SeleccioneCreate Custom Vision
para abrir la ventana de diálogo en la página Crear Custom Vision.
- En la página de diálogo Custom Vision, elija lo siguiente:
- Seleccione los recursos
Training
yPrediction
. - 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
yPrediction
, establezca la ubicación como (EE. UU.) Este de EE. UU y Nivel de precios como Free FO.
- Presione
Review + create
para implementar los recursos de Custom Vision. Puede llevar unos minutos implementar sus recursos.
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.
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 el cuadro de diálogo de nuevo proyecto.
- 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.
- Una vez que haya rellenado el cuadro de diálogo, seleccione
Create project
.
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.
Seleccione su
FoodClassification
proyecto para abrir la interfaz web de Custom Vision.Seleccione el
Add images
botón y elijaBrowse local files
.
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 seleccioneopen
. Se abrirá la opción de etiquetado.Escriba
vegetable-fruit
en elMy Tags
campo y presioneUpload
.
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.
- 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.
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, 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.
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%.
- 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í. PresioneTrain
para iniciar el proceso 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 .
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.
Prueba del 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 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 lafruit-vegetable
carpeta y presioneopen
.
El resultado de las pruebas aparecerá en la pantalla. En nuestra prueba, el modo clasificó correctamente la imagen con 99,8% certeza.
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.
- Seleccione la
Performance
pestaña y, a continuación, elijaExport
abrir una ventana de exportación.
- Seleccione
ONNX
esta opción para exportar el modelo al formato ONNX.
- Puede elegir la
ONNX 16
opción float 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
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.