Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda> ModelArts> Pasos iniciales> Desarrolladores de servicios: Construir modelos con ExeML
Actualización más reciente 2023-03-29 GMT+08:00

Desarrolladores de servicios: Construir modelos con ExeML

ModelArts ofrece ExeML para desarrolladores de servicios, liberándole del desarrollo de modelos y del ajuste de parámetros. Con ExeML, puede terminar un proyecto de desarrollo de IA en solo tres pasos, incluido el etiquetado de datos, el entrenamiento automática y el despliegue de servicio.

Como ejemplo de detección de objetos, esta sección describe cómo detectar Yunbao, la mascota de Huawei Cloud, para ayudarle a comenzar rápidamente con ModelArts. Mediante el uso del conjunto de datos de imágenes de Yunbao incorporado, el sistema entrena y genera automáticamente un modelo de detección, y despliega el modelo generado como un servicio en tiempo real. Una vez completado el despliegue, puede utilizar el servicio en tiempo real para identificar si una imagen de entrada contiene Yunbao.

Antes de comenzar, complete cuidadosamente los preparativos descritos en Preparaciones. Para utilizar ExeML para crear un modelo, realice los siguientes pasos:

Preparaciones

  • Su cuenta de Huawei Cloud no está en mora o congelada.
  • Se ha configurado la autorización de acceso para su cuenta. Para obtener más información, consulte la sección Configuración de la autorización de delegación. Si ha sido autorizado mediante claves de acceso, borre la autorización y configure la autorización de delegación.
  • Los bucket y carpetas de OBS están listos para el almacenamiento de datos de modelos. Para obtener más información sobre cómo crear bucket y carpetas de OBS, consulte la Creación de un bucket y Creación de una carpeta. Para el acceso normal a los datos, asegúrese de que el bucket de OBS creado y ModelArts están en la misma región.
  • La gestión de datos es necesaria para crear los proyectos de ExeML. Por lo tanto, obtenga el permiso para acceder a OBS desde el módulo Data Management antes de usar ExeML.

    En la consola de gestión de ModelArts, elija Data Management > Datasets en el panel de navegación izquierdo. En la página que se muestra, haga clic en Service Authorization para solicitar la autorización de permiso. Si inicia sesión con una cuenta, aparecerá un cuadro de diálogo en el que se le pedirá que acepte la autorización. Si inicia sesión como usuario de IAM (cuenta de miembro), su cuenta principal o un usuario con permisos de admin le otorga la autorización.

Paso 1: Preparar datos

ModelArts proporciona un conjunto de datos de muestra de Yunbao llamado Yunbao-Data-Custom. En este ejemplo se utiliza este conjunto de datos para crear un modelo. Realice las siguientes operaciones para cargar el conjunto de datos en el directorio de OBS test-modelarts/dataset-yunbao creado en preparación. El nombre de bucket de OBS test-modelarts es solo para referencia. Necesita personalizar un nombre de bucket de OBS.

Si desea utilizar su propio conjunto de datos, omita este paso, cargue el conjunto de datos en la carpeta de OBS y seleccione este directorio en el Paso 2: Crear un proyecto de detección de objetos.

  1. Descargue el conjunto de datos Yunbao-Data-Custom en el PC local.
  2. Descomprima el archivo Yunbao-Data-Custom.zip en el directorio Yunbao-Data-Custom en el PC local.
  3. Suba por lotes todos los archivos de la carpeta Yunbao-Data-Custom al directorio test-modelarts/dataset-yunbao en OBS. Para obtener más información, consulte Cargar un archivo .

    El conjunto de datos obtenido tiene dos directorios: eval y train. Los datos almacenados en train se usan para el entrenamiento del modelo, y los datos almacenados en eval se usan para la predicción del modelo.

Paso 2: Crear un proyecto de detección de objetos

  1. En la consola de gestión de ModelArts, haga clic en ExeML en el panel de navegación izquierdo.
  2. En el cuadro Object Detection, haga clic en Create Project. En la página Create Object Detection Project que se muestra, escriba un nombre de proyecto y un nombre de conjunto de datos y seleccione una ruta de entrada de conjunto de datos. La ruta de OBS del conjunto de datos de Yunbao es /test-modelarts/dataset-yunbao/train/. Seleccione un directorio vacío de Output Dataset Path.

    El conjunto de datos de Yunbao tiene dos directorios: eval y train. Seleccione los datos en el directorio train para el entrenamiento. Si se selecciona el directorio de capa superior de train, se muestra un mensaje de error que indica que OBS tiene los datos no válidos. Como resultado, el proyecto no se creará.

    Figura 1 Creación de un proyecto de detección de objetos
  3. Haga clic en Create Project. Se creará el proyecto de detección de objetos. Una vez creado el proyecto, se muestra la página ExeML > Label Data y se realiza automáticamente la sincronización del origen de datos.

Paso 3: Etiquetar datos

Para un proyecto de detección de objetos, los datos de etiquetado consisten en localizar un objeto en una imagen y asignar una etiqueta al objeto. Los datos etiquetados se utilizan para el entrenamiento del modelo. En el conjunto de datos de Yunbao, la parte de los datos se ha etiquetado. Puede etiquetar los datos sin etiquetar para su uso de prueba.

La sincronización del origen de datos se realiza automáticamente al crear un proyecto de ExeML. La sincronización del origen de datos toma un cierto período de tiempo. Si la sincronización falla, puede hacer clic en Synchronize Data Source para ejecutarla manualmente.

  1. En la página ExeML > Label Data, haga clic en la ficha Unlabeled. Se muestran todas las imágenes sin etiqueta. Haga clic en una imagen para ir a la página de etiquetado.
  2. Haga clic con el botón izquierdo y arrastre el ratón para seleccionar el área donde se encuentra Yunbao. En el cuadro de diálogo que se muestra, escriba el nombre de la etiqueta, por ejemplo yunbao y pulse Enter. Después de completar el etiquetado, el estado de la imagen cambia a Labeled en el panel izquierdo del Image Catalog.
    Puede seleccionar otra imagen del catálogo de imágenes en la parte inferior de la página y repetir los pasos anteriores para etiquetar la imagen. Si una imagen contiene más de un Yunbao, puede etiquetar todo. Se recomienda etiquetar todas las imágenes en el conjunto de datos para entrenar un modelo con mayor precisión.
    Figura 2 Etiquetado de imágenes para la detección de objetos
  3. Una vez etiquetadas todas las imágenes del directorio de imágenes, haga clic en el nombre del proyecto en la esquina superior izquierda. En el cuadro de diálogo que se muestra, haga clic en OK para guardar la información de etiquetado. En la página de ficha Labeled, puede ver las imágenes etiquetadas y ver los nombres de las etiquetas y la cantidad en el panel derecho.

Paso 4: Generar un modelo con ExeML

  1. Una vez finalizado el etiquetado de datos, haga clic en Train en la esquina superior derecha de la página de etiquetado de datos. En el cuadro de diálogo Training Configuration que se muestra, defina los parámetros relacionados. Para obtener más información, véase Figura 3.
    Figura 3 Configuración de los parámetros de entrenamiento
  2. Haga clic en Next. En la página de configuración que se muestra, confirme las especificaciones y haga clic en Submit para iniciar el entrenamiento de modelo automático. El entrenamiento toma un cierto período de tiempo. Si cierra o sale de la página, el sistema continúa el entrenamiento hasta que se complete.
    Una vez completada el entrenamiento, puede ver los detalles del entrenamiento en la página, como la precisión, el resultado de la evaluación, los parámetros de entrenamiento y las estadísticas de clasificación.
    Figura 4 Entrenamiento del modelo

Paso 5: Desplegar el modelo como servicio en tiempo real

  1. En la página de la ficha Train Model, espere hasta que el estado del entrenamiento cambie a Completed. Haga clic en Deploy en el panel Version Manager.
    Figura 5 Despliegue de un servicio
  2. En el cuadro de diálogo Deploy mostrado, establezca Specifications y Auto Stop y haga clic en OK para implementar el modelo de detección de objetos como un servicio en tiempo real.

    Si selecciona las especificaciones gratuitas, no es necesario establecer Auto Stop porque el nodo se detendrá una hora más tarde.

    Figura 6 Configuración de despliegue
  3. Después de iniciar el despliegue, el sistema cambia automáticamente a la página de fichas Deploy Service. Esta página muestra el progreso y el estado del despliegue.
    El despliegue toma un cierto período de tiempo. Una vez finalizado el despliegue, el estado del panel Version Manager cambia a Running.
    Figura 7 Exitoso despliegue

Paso 6: Probar el servicio

Después de desplegar el modelo, puede probar el servicio con una imagen.

  1. En la página de ficha Deployment Online, seleccione una versión de servicio en ejecución y haga clic en Upload para cargar una imagen local.
    Figura 8 Subir una imagen
  2. Seleccione una imagen de un entorno local. La imagen debe contener Yunbao. Haga clic en Predict para realizar la prueba.

    Una vez completada la predicción, el nombre de la etiqueta yunbao, las coordenadas de ubicación y la puntuación de confianza se muestran en el panel de resultados de la predicción a la derecha. En el resultado de la predicción, detection_boxes indica la ubicación del objeto, detection_scores indica la puntuación de detección de yunbao.

    Si la precisión del modelo no cumple con sus expectativas, agregue imágenes en la ficha Label Data, etiquete las imágenes y vuelva a entrenar y desplegar el modelo.

    Un servicio en tiempo real en ejecución sigue consumiendo los recursos. Si no necesita utilizar el servicio en tiempo real, haga clic en Stop en el panel Version Manager para detener el servicio y evitar la facturación innecesaria. Si desea volver a utilizar el servicio, haga clic en Start.

    Figura 9 Resultado de la prueba