Anuncio del lanzamiento de la función de copia de modelo para las etiquetas personalizadas de Amazon Rekognition PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Anuncio del lanzamiento de la función de copia de modelo para las etiquetas personalizadas de Amazon Rekognition

Etiquetas personalizadas de Amazon Rekognition es un servicio de visión por computadora completamente administrado que permite a los desarrolladores crear modelos personalizados para clasificar e identificar objetos en imágenes que son específicas y únicas para su negocio. Las etiquetas personalizadas de Rekognition no requieren que tenga experiencia previa en visión por computadora. Por ejemplo, puede encontrar su logotipo en las publicaciones de las redes sociales, identificar sus productos en los estantes de las tiendas, clasificar las piezas de una máquina en una línea de ensamblaje, distinguir plantas sanas e infectadas o detectar personajes animados en videos.

Desarrollar un modelo personalizado para analizar imágenes es una tarea importante que requiere tiempo, experiencia y recursos, y a menudo lleva meses completarla. Además, a menudo requiere miles o decenas de miles de imágenes etiquetadas a mano para proporcionar al modelo suficientes datos para tomar decisiones con precisión. La generación de estos datos puede tardar meses en recopilarse y requiere grandes equipos de etiquetadores para prepararlos para su uso en el aprendizaje automático (ML).

Las etiquetas personalizadas de Rekognition se basan en las capacidades existentes de Reconocimiento de amazonas, que ya están capacitados en decenas de millones de imágenes en muchas categorías. En lugar de miles de imágenes, solo tiene que cargar un pequeño conjunto de imágenes de entrenamiento (normalmente unos cientos de imágenes o menos) que sean específicas para su caso de uso mediante la consola de Amazon Rekognition. Si las imágenes ya están etiquetadas, puede comenzar a entrenar un modelo con solo unos pocos clics. De lo contrario, puede etiquetarlos directamente en la consola de etiquetas personalizadas de Rekognition o usar Verdad fundamental de Amazon SageMaker para etiquetarlos. Las etiquetas personalizadas de Rekognition utilizan el aprendizaje por transferencia para inspeccionar automáticamente los datos de entrenamiento, seleccionar el algoritmo y el marco del modelo correctos, optimizar los hiperparámetros y entrenar el modelo. Cuando esté satisfecho con la precisión del modelo, puede comenzar a alojar el modelo entrenado con solo un clic.

Hoy nos complace anunciar el lanzamiento de la función de copia del modelo de etiquetas personalizadas de Rekognition. Esta característica le permite copiar sus modelos de etiquetas personalizadas de Rekognition entre proyectos, que pueden estar en la misma cuenta de AWS o entre cuentas de AWS en la misma región de AWS, sin volver a entrenar los modelos desde cero. Esta nueva capacidad le facilita mover los modelos de etiquetas personalizadas de Rekognition a través de varios entornos, como desarrollo, control de calidad, integración y producción, sin necesidad de copiar los conjuntos de datos de prueba y entrenamiento originales y volver a entrenar el modelo. Puedes usar el Interfaz de línea de comandos de AWS (AWS CLI) para copiar modelos entrenados entre proyectos, que pueden estar en la misma cuenta de AWS o en varias cuentas de AWS.

En esta publicación, le mostramos cómo copiar modelos entre diferentes cuentas de AWS en la misma región de AWS.

Beneficios de la función de copia de modelo

Esta nueva característica tiene los siguientes beneficios:

  • Prácticas recomendadas de ML-Ops multicuenta – Puede entrenar un modelo una vez y garantizar una implementación predecible con resultados consistentes en varias cuentas asignadas a varios entornos, como desarrollo, control de calidad, integración y producción, lo que le permite seguir las mejores prácticas de ML-Ops dentro de su organización.
  • Ahorro de costos y una implementación más rápida – Puede copiar rápidamente un modelo entrenado entre cuentas, evitando el tiempo necesario para volver a entrenar en cada cuenta y ahorrando en el costo de volver a entrenar el modelo.
  • Proteja los conjuntos de datos confidenciales – Ya no necesita compartir los conjuntos de datos entre diferentes cuentas o usuarios de AWS. Los datos de entrenamiento deben estar disponibles solo en la cuenta de AWS donde se realiza el entrenamiento del modelo. Esto es muy importante para ciertas industrias, donde el aislamiento de datos es esencial para cumplir con los requisitos regulatorios o comerciales.
  • Colaboración sencilla – Los socios o proveedores ahora pueden entrenar fácilmente el modelo de etiquetas personalizadas de Amazon Rekognition en su propia cuenta de AWS y compartir los modelos con los usuarios de todas las cuentas de AWS.
  • Rendimiento consistente – El rendimiento del modelo ahora es consistente en diferentes cuentas de AWS. El entrenamiento de modelos generalmente no es determinista y dos modelos entrenados con el mismo conjunto de datos no garantizan las mismas puntuaciones de rendimiento ni las mismas predicciones. Copiar el modelo ayuda a garantizar que el comportamiento del modelo copiado sea coherente con el modelo de origen, lo que elimina la necesidad de volver a probar el modelo.

Resumen de la solución

El siguiente diagrama ilustra la arquitectura de nuestra solución.

Esta publicación asume que tiene un modelo de etiquetas personalizadas de Rekognition entrenado en su cuenta de origen. Para obtener instrucciones, consulte Entrenamiento de un modelo personalizado de detección de objetos de clase única con etiquetas personalizadas de Amazon Rekognition. En esta publicación, utilizamos el proyecto de clasificación de imágenes "Rooms" de Rekognition Custom Labels lista de proyectos de muestra y entrenó un modelo de clasificación de habitaciones en la cuenta de origen para clasificar imágenes de cocinas, baños, salas de estar y más.

Para demostrar la funcionalidad de la función de copia de modelo, realizamos los siguientes pasos en la cuenta de origen:

  1. Inicie el modelo y ejecute inferencias en imágenes de muestra.
  2. Defina una política basada en recursos para permitir el acceso entre cuentas para copiar el modelo de etiquetas personalizadas de Rekognition.

Luego copiamos el modelo de origen a la cuenta de destino.

  1. Crear una Servicio de almacenamiento simple de Amazon (Amazon S3), que sirve como contenedor para la evaluación del modelo y las estadísticas de rendimiento.
  2. Crea un proyecto.
  3. Copie el modelo entrenado de la cuenta de origen a la cuenta de destino.
  4. Inicie el modelo y ejecute la inferencia en las imágenes de muestra.
  5. Verifique que los resultados de la inferencia coincidan con los resultados del modelo de cuenta de origen.

Requisitos previos

Además de tener un modelo capacitado en su cuenta de origen, asegúrese de completar los siguientes pasos previos:

  1. Instale la AWS CLI V2.
  2. Configure su AWS CLI con el siguiente código e ingrese su Región:
    aws configure

  3. Ejecute los siguientes comandos para asegurarse de tener instalada la versión 2.xx de AWS CLI en su host local:
    aws --version

  4. Actualice el archivo de credenciales de AWS en $HOME/.aws/credentials con la siguiente entrada:
    [source-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######
    
    [target-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######

  5. Obten lo ProjectArn y ProjectVersionArn para la cuenta de origen de AWS.ProjectArn es el proyecto asociado con su modelo fuente. ProjectVersionArn es la versión del modelo que le interesa copiar a la cuenta de destino. Puede encontrar el SourceProjectArn usando el siguiente comando:
    aws rekognition describe-projects 
    --region us-east-1 
    --profile source-account
    
    {
        "ProjectDescriptions": [{
            "ProjectArn": "arn:aws:rekognition:us-east-1::111111111111:project/rooms_1/1657588855531",
            .
            .
        }]
    }

    Si ve varias líneas de salida, elija la ProjectArn asociado con el modelo que va a copiar.

    Usted puede encontrar el SourceProjectVersionArn para el modelo que entrenaste usando el SourceProjectArn (la salida anterior). Reemplace la SourceProjectArn en el siguiente comando:

    aws rekognition describe-project-versions 
    --project-arn SourceProjectArn 
    --region us-east-1 
    --profile source-account

    El comando devuelve el SourceProjectVersionArn. Si ve varias líneas de salida, elija la ProjectVersionArn de interés.

    {
        "ProjectVersionDescriptions": [
            {
                "ProjectVersionArn": "arn:aws:rekognition:us-east-1:111111111111:project/rooms_1/version/rooms_1.2022-07-12T09.39.36/1657643976475",
                .
                .
            }
        ]
    }

Ahora está listo para ejecutar los pasos para implementar la solución. Reemplace los valores de SourceProjectArn y SourceProjectVersionArn en los siguientes comandos con los valores que generaste.

1. Inicie el modelo y ejecute la inferencia en imágenes de muestra

En la cuenta de origen, ingrese el siguiente código para iniciar el modelo:

aws rekognition start-project-version 
--project-version-arn SourceProjectVersionArn 
--min-inference-units 1 
--region us-east-1 
--profile source-account
{
    "Status": "STARTING"
}

Una vez alojado el modelo y en estado de ejecución, puede ejecutar la inferencia.

Usamos las siguientes imágenes (demo1.jpeg y demo2.jpeg) para ejecutar la inferencia. Estas imágenes se encuentran en nuestro sistema de archivos local en el mismo directorio desde donde se ejecutan los comandos de la CLI de AWS.

La siguiente imagen es demo1.jpeg, que muestra un patio trasero.

Anuncio del lanzamiento de la función de copia de modelo para las etiquetas personalizadas de Amazon Rekognition PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Vea el siguiente código de inferencia y salida:

aws rekognition detect-custom-labels 
--project-version-arn SourceProjectVersionArn   
--image-bytes fileb://demo1.jpeg 
--region us-east-1 
--profile source-account
{
    "Name": "backyard",
    "Confidence": 45.77000045776367
 }

La siguiente imagen es demo2.jpeg, que muestra un dormitorio.

Anuncio del lanzamiento de la función de copia de modelo para las etiquetas personalizadas de Amazon Rekognition PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.

Vea el siguiente código de inferencia y salida:

aws rekognition detect-custom-labels 
--project-version-arn SourceProjectVersionArn   
--image-bytes fileb://demo2.jpeg 
--region us-east-1 
--profile source-account
{
    "Name": "bedroom",
    "Confidence": 61.84600067138672
 }

Los resultados de la inferencia muestran que la imagen pertenece a las clases backyard y bedroom, con una puntuación de confianza de 45.77 y 61.84, respectivamente.

2. Defina la política de recursos de IAM para el modelo entrenado para permitir el acceso entre cuentas

Para crear su política de IAM basada en recursos, complete los siguientes pasos en la cuenta de origen:

  1. Permita que su cuenta de AWS específica acceda a los recursos mediante la política de recursos de IAM proporcionada (para obtener más información, consulte Creación de un documento de política de proyecto. Reemplace los valores de TargetAWSAccountId y SourceProjectVersionArn en la siguiente política:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Principal": {
                    "AWS": [ "TargetAWSAccountId" ]
                },
                "Action": "Rekognition:CopyProjectVersion",
                "Resource": "SourceProjectVersionArn",
                "Effect": "Allow"
            }
        ]
    }

  2. Adjunte la política al proyecto en la cuenta de origen llamando al siguiente comando.
    aws rekognition put-project-policy 
    --project-arn SourceProjectArn 
    --policy-name PolicyName 
    --policy-document '{
        "Version": "2012-10-17",
        "Statement": [
            {
                "Principal": {
                    "AWS": [ "TargetAWSAccountId" ]
                },
                "Action": "Rekognition:CopyProjectVersion",
                "Resource": "SourceProjectVersionArn",
                "Effect": "Allow"
            }
        ]
    }' 
    --region us-east-1 
    --profile source-account

    Reemplaza SourceProjectArn, PolicyName, TargetAWSAccountIdy SourceProjectVersionArn.

    El resultado muestra el ID de revisión de política creado:

    {
        "PolicyRevisionId": "f95907f9c1472c114f61b0e1f31ed131"
    }

Ahora estamos listos para copiar el modelo entrenado de la cuenta de origen a la cuenta de destino..

3. Cree un depósito S3 en la cuenta de destino

Puede usar un depósito de S3 existente en su cuenta o crear un nuevo depósito de S3. Para esta publicación, llamamos a este depósito S3 DestinationS3Bucket.

4. Cree un nuevo proyecto de etiquetas personalizadas de Rekognition

Cree un nuevo proyecto con el siguiente código:

aws rekognition create-project 
--project-name target_rooms_1 
--region us-east-1 
--profile target-account 

Esto crea un TargetProjectArn en la cuenta de destino:

{
    "ProjectArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/1657599660206"
}

Tenga en cuenta el valor del proyecto de destino ProjectArn campo. Usamos este valor en el siguiente comando de modelo de copia.

5. Copie el modelo de la cuenta de origen a la cuenta de destino

Proporcionar el origen y el destino ProjectArn, fuente ProjectVersionArny apunte al depósito de S3 y al prefijo de la clave de S3 en el siguiente código:

aws rekognition copy-project-version 
--source-project-arn SourceProjectArn 
--source-project-version-arn SourceProjectVersionArn 
--destination-project-arn TargetProjectArn 
--version-name TargetVersionName 
--output-config '{"S3Bucket":"DestinationS3Bucket", "S3KeyPrefix":"DestinationS3BucketPrefix"}' 
--region us-east-1 
--profile target-account

Esto crea un modelo copiado. TargetProjectVersionArn en la cuenta de destino. los TargetVersionName en nuestro caso ha sido nombrado copy_rooms_1:

{
    "ProjectVersionArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/version/copy_rooms_1/1657667877079"
}

Consulta el estado del proceso de copia del modelo:

aws rekognition describe-project-versions 
--project-arn TargetProjectArn 
--version-names TargetVersionName 
--region us-east-1 
--profile target-account

La copia del modelo de la cuenta de origen a la cuenta de destino está completa cuando el Status cambios a COPYING_COMPLETED:

 {
    "ProjectVersionDescriptions": [
        {
            "ProjectVersionArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/version/copy_rooms_1/1657667877079",
            "CreationTimestamp": "2022-07-12T16:17:57.079000-07:00",
            "Status": "COPYING_COMPLETED",
            "StatusMessage": "Model copy operation was successful",
            ..........
            ..........
            "EvaluationResult": {
                "F1Score": 0.0,
                "Summary": {

6. Inicie el modelo y ejecute la inferencia

Introduzca el siguiente código para iniciar el modelo en la cuenta de destino:

aws rekognition start-project-version 
--project-version-arn TargetProjectArn 
--min-inference-units 1 
--region us-east-1 
--profile target-account
{
    "Status": "STARTING"
}

Consulta el estado del modelo:

aws rekognition describe-project-versions 
--project-arn TargetProjectArn 
--version-names copy_rooms_1 
--region us-east-1 
--profile target-account

El modelo ahora está alojado y ejecutándose:

{
    "ProjectVersionDescriptions": [
        {
            "ProjectVersionArn": "arn:aws:rekognition:us-east-1:222222222222:project/target_rooms_1/version/copy_rooms_1/1657667877079",
            "CreationTimestamp": "2022-07-12T16:17:57.079000-07:00",
            "MinInferenceUnits": 1,
            "Status": "RUNNING",
            "StatusMessage": "The model is running.",
            ..........
            ..........
        }
    ]
}

Ejecute la inferencia con el siguiente código:

aws rekognition detect-custom-labels 
 --project-version-arn TargetProjectVersionArn 
 --image-bytes fileb://demo1.jpeg 
 --region us-east-1 
 --profile target-account
{
    "Name": "backyard",
    "Confidence": 45.77000045776367
 }
aws rekognition detect-custom-labels 
 --project-version-arn TargetProjectVersionArn 
 --image-bytes fileb://demo2.jpeg 
 --region us-east-1 
 --profile target-account
{
    "Name": "bedroom",
    "Confidence": 61.84600067138672

7. Verifique que los resultados de la inferencia coincidan

Las clases y los puntajes de confianza para las imágenes demo1.jpg y demo2.jpg en la cuenta de destino deben coincidir con los resultados en la cuenta de origen.

Conclusión

En esta publicación, demostramos la función de copia del modelo de etiqueta personalizada de Rekognition. Esta característica le permite entrenar un modelo de clasificación o detección de objetos en una cuenta y luego compartir el modelo con otra cuenta en la misma región. Esto simplifica la estrategia de múltiples cuentas donde el modelo se puede entrenar una vez y compartir entre cuentas dentro de la misma región sin tener que volver a entrenar o compartir los conjuntos de datos de entrenamiento. Esto permite una implementación predecible en cada cuenta como parte de su flujo de trabajo de MLOps. Para obtener más información, consulte Copia de un modelo de etiquetas personalizadas de Amazon Rekognition, o pruebe el tutorial en esta publicación utilizando un shell en la nube con la CLI de AWS.

En el momento de escribir este artículo, la función de copia de modelo en las etiquetas personalizadas de Amazon Rekognition está disponible en las siguientes regiones:

  • Este de los Estados Unidos (Ohio)
  • Este de los Estados Unidos (Virginia del Norte)
  • Oeste de EE. UU. (Oregón)
  • Asia Pacífico (Mumbai)
  • Asia Pacífico (Seúl)
  • Asia Pacífico (Singapur)
  • Asia Pacífico (Sydney)
  • Asia Pacífico (Tokio)
  • UE (Frankfurt)
  • UE (Irlanda)
  • UE (Londres)

Pruebe la función y envíenos sus comentarios a través de la Foro de AWS para Amazon Rekognition o a través de sus contactos de soporte de AWS.


Sobre los autores

Anuncio del lanzamiento de la función de copia de modelo para las etiquetas personalizadas de Amazon Rekognition PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Amit Gupta es arquitecto sénior de soluciones de servicios de IA en AWS. Le apasiona brindar a los clientes soluciones de aprendizaje automático bien diseñadas a escala.

Anuncio del lanzamiento de la función de copia de modelo para las etiquetas personalizadas de Amazon Rekognition PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.Yogesh Chaturvedi es Arquitecto de Soluciones en AWS con un enfoque en visión artificial. Trabaja con los clientes para abordar sus desafíos comerciales utilizando tecnologías en la nube. Fuera del trabajo, le gusta caminar, viajar y ver deportes.

Anuncio del lanzamiento de la función de copia de modelo para las etiquetas personalizadas de Amazon Rekognition PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.aakash profundo es ingeniero de software sénior en AWS. Le gusta trabajar en visión artificial, IA y sistemas distribuidos. Fuera del trabajo, le gusta caminar y viajar.

Anuncio del lanzamiento de la función de copia de modelo para las etiquetas personalizadas de Amazon Rekognition PlatoBlockchain Data Intelligence. Búsqueda vertical. Ai.misterio pashmeen es el gerente sénior de productos de etiquetas personalizadas de Amazon Rekognition. Fuera del trabajo, Pashmeen disfruta de caminatas aventureras, fotografía y pasar tiempo con su familia.

Sello de tiempo:

Mas de Aprendizaje automático de AWS