Annuncio del lancio della funzionalità di copia del modello per Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Annuncio del lancio della funzione di copia del modello per Amazon Rekognition Custom Labels

Etichette personalizzate Amazon Rekognition è un servizio di visione artificiale completamente gestito che consente agli sviluppatori di creare modelli personalizzati per classificare e identificare oggetti in immagini specifiche e uniche per la tua azienda. Rekognition Custom Labels non richiede alcuna esperienza precedente nella visione artificiale. Ad esempio, puoi trovare il tuo logo nei post sui social media, identificare i tuoi prodotti sugli scaffali dei negozi, classificare parti di macchine in una catena di montaggio, distinguere piante sane e infette o rilevare personaggi animati nei video.

Lo sviluppo di un modello personalizzato per l'analisi delle immagini è un'impresa significativa che richiede tempo, esperienza e risorse, il cui completamento spesso richiede mesi. Inoltre, spesso sono necessarie migliaia o decine di migliaia di immagini etichettate manualmente per fornire al modello dati sufficienti per prendere decisioni accurate. La raccolta di questi dati può richiedere mesi e richiede ampi team di etichettatori per prepararli all'uso in machine learning (ML).

Rekognition Custom Labels si basa sulle capacità esistenti di Rekognition di Amazon, che sono già addestrati su decine di milioni di immagini in molte categorie. Invece di migliaia di immagini, devi semplicemente caricare un piccolo set di immagini di addestramento (in genere poche centinaia di immagini o meno) specifiche per il tuo caso d'uso utilizzando la console Amazon Rekognition. Se le immagini sono già etichettate, puoi iniziare ad addestrare un modello in pochi clic. In caso contrario, puoi etichettarli direttamente sulla console Rekognition Custom Labels o utilizzare Amazon SageMaker verità fondamentale per etichettarli. Rekognition Custom Labels utilizza il transfer learning per ispezionare automaticamente i dati di training, selezionare il framework e l'algoritmo del modello giusti, ottimizzare gli iperparametri e addestrare il modello. Quando sei soddisfatto della precisione del modello, puoi iniziare a ospitare il modello addestrato con un solo clic.

Oggi siamo lieti di annunciare il lancio della funzione di copia del modello Rekognition Custom Labels. Questa funzione ti consente di copiare i tuoi modelli Rekognition Custom Labels tra progetti, che possono trovarsi nello stesso account AWS o tra account AWS nella stessa regione AWS, senza riqualificare i modelli da zero. Questa nuova funzionalità semplifica lo spostamento dei modelli Rekognition Custom Labels attraverso vari ambienti come sviluppo, controllo qualità, integrazione e produzione senza dover copiare i set di dati originali di addestramento e test e riqualificare il modello. Puoi usare il Interfaccia della riga di comando di AWS (AWS CLI) per copiare modelli addestrati tra progetti, che possono trovarsi nello stesso account AWS o tra account AWS.

In questo post, ti mostriamo come copiare modelli tra diversi account AWS nella stessa regione AWS.

Vantaggi della funzione di copia del modello

Questa nuova funzionalità offre i seguenti vantaggi:

  • Best practice per operazioni ML multi-account – Puoi addestrare un modello una sola volta e garantire un'implementazione prevedibile con risultati coerenti su più account mappati a vari ambienti come sviluppo, controllo qualità, integrazione e produzione, consentendoti di seguire le migliori pratiche ML-Ops all'interno della tua organizzazione.
  • Risparmio sui costi e implementazione più rapida – Puoi copiare rapidamente un modello addestrato tra account, evitando il tempo necessario per riqualificare ogni account e risparmiando sui costi di riqualificazione del modello.
  • Proteggi i set di dati sensibili – Non è più necessario condividere i set di dati tra diversi account o utenti AWS. I dati di addestramento devono essere disponibili solo sull'account AWS in cui viene eseguito il training del modello. Questo è molto importante per alcuni settori, in cui l'isolamento dei dati è essenziale per soddisfare i requisiti aziendali o normativi.
  • Collaborazione facile – I partner o i fornitori possono ora addestrare facilmente il modello Amazon Rekognition Custom Labels nel proprio account AWS e condividere i modelli con gli utenti tra gli account AWS.
  • Prestazioni costanti – Le prestazioni del modello ora sono coerenti tra i diversi account AWS. L'addestramento del modello è generalmente non deterministico e due modelli addestrati con lo stesso set di dati non garantiscono gli stessi punteggi delle prestazioni e le stesse previsioni. La copia del modello consente di assicurarsi che il comportamento del modello copiato sia coerente con il modello di origine, eliminando la necessità di ripetere il test del modello.

Panoramica della soluzione

Il diagramma seguente illustra l'architettura della nostra soluzione.

Questo post presuppone che tu abbia un modello di etichette personalizzate Rekognition addestrato nel tuo account di origine. Per istruzioni, fare riferimento a Formazione di un modello di rilevamento di oggetti a classe singola personalizzato con Amazon Rekognition Custom Labels. In questo post, abbiamo utilizzato il progetto di classificazione delle immagini "Stanze" dalle etichette personalizzate di Rekognition elenco progetti di esempio e addestrato un modello di classificazione delle stanze nell'account di origine per classificare le immagini di cucine, bagni, soggiorni e altro ancora.

Per dimostrare la funzionalità della funzione di copia del modello, eseguiamo i seguenti passaggi nell'account di origine:

  1. Avvia il modello ed esegui inferenze su immagini di esempio.
  2. Definire una policy basata sulle risorse per consentire l'accesso tra account per copiare il modello Rekognition Custom Labels.

Quindi copiamo il modello di origine nell'account di destinazione.

  1. Creare un Servizio di archiviazione semplice Amazon (Amazon S3), che funge da contenitore per la valutazione del modello e le statistiche sulle prestazioni.
  2. Crea un progetto.
  3. Copia il modello addestrato dall'account di origine all'account di destinazione.
  4. Avvia il modello ed esegui l'inferenza sulle immagini di esempio.
  5. Verifica che i risultati dell'inferenza corrispondano ai risultati del modello di account di origine.

Prerequisiti

Oltre ad avere un modello addestrato nel tuo account di origine, assicurati di completare i seguenti passaggi prerequisiti:

  1. Installa l'AWS CLI V2.
  2. Configura la tua AWS CLI con il seguente codice e inserisci la tua regione:
    aws configure

  3. Esegui i seguenti comandi per assicurarti di avere AWS CLI versione 2.xx installato sul tuo host locale:
    aws --version

  4. Aggiorna il file delle credenziali AWS in $HOME/.aws/credentials con la seguente voce:
    [source-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######
    
    [target-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######

  5. Ottenere il ProjectArn ed ProjectVersionArn per l'account AWS di origine.ProjectArn è il progetto associato al tuo modello di origine. ProjectVersionArn è la versione del modello che ti interessa copiare nell'account di destinazione. Puoi trovare il SourceProjectArn usando il seguente 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",
            .
            .
        }]
    }

    Se vedi più righe di output, scegli il ProjectArn associato al modello che intendi copiare.

    È possibile trovare il SourceProjectVersionArn per il modello che hai addestrato usando il SourceProjectArn (l'uscita precedente). Sostituisci il SourceProjectArn nel seguente comando:

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

    Il comando restituisce il SourceProjectVersionArn. Se vedi più righe di output, scegli il ProjectVersionArn di interesse.

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

Ora sei pronto per eseguire i passaggi per implementare la soluzione. Sostituisci i valori di SourceProjectArn ed SourceProjectVersionArn nei seguenti comandi con i valori che hai generato.

1. Avviare il modello ed eseguire l'inferenza su immagini di esempio

Nell'account di origine, inserisci il codice seguente per avviare il modello:

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

Dopo che il modello è ospitato e nello stato di esecuzione, è possibile eseguire l'inferenza.

Abbiamo usato le seguenti immagini (demo1.jpeg e demo2.jpeg) per eseguire l'inferenza. Queste immagini si trovano nel nostro file system locale nella stessa directory da cui vengono eseguiti i comandi dell'AWS CLI.

L'immagine seguente è demo1.jpeg, che mostra un cortile.

Annuncio del lancio della funzionalità di copia del modello per Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Vedere il codice di inferenza e l'output seguenti:

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
 }

L'immagine seguente è demo2.jpeg, che mostra una camera da letto.

Annuncio del lancio della funzionalità di copia del modello per Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.

Vedere il codice di inferenza e l'output seguenti:

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
 }

I risultati dell'inferenza mostrano che l'immagine appartiene alle classi backyard ed bedroom, con un punteggio di confidenza rispettivamente di 45.77 e 61.84.

2. Definire la policy delle risorse IAM per il modello addestrato per consentire l'accesso tra account

Per creare la tua policy IAM basata sulle risorse, completa i seguenti passaggi nell'account di origine:

  1. Consenti al tuo account AWS specifico di accedere alle risorse utilizzando la policy delle risorse IAM fornita (per ulteriori informazioni, fare riferimento a Creazione di un documento di politica del progetto. Sostituire i valori per TargetAWSAccountId ed SourceProjectVersionArn nella seguente polizza:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Principal": {
                    "AWS": [ "TargetAWSAccountId" ]
                },
                "Action": "Rekognition:CopyProjectVersion",
                "Resource": "SourceProjectVersionArn",
                "Effect": "Allow"
            }
        ]
    }

  2. Allega la policy al progetto nell'account di origine chiamando il comando seguente.
    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

    sostituire SourceProjectArn, PolicyName, TargetAWSAccountIde SourceProjectVersionArn.

    L'output mostra l'ID revisione della politica creato:

    {
        "PolicyRevisionId": "f95907f9c1472c114f61b0e1f31ed131"
    }

Ora siamo pronti per copiare il modello addestrato dall'account di origine all'account di destinazione.

3. Crea un bucket S3 nell'account di destinazione

Puoi utilizzare un bucket S3 esistente nel tuo account o creare un nuovo bucket S3. Per questo post, chiamiamo questo bucket S3 DestinationS3Bucket.

4. Creare un nuovo progetto Rekognition Custom Labels

Crea un nuovo progetto con il seguente codice:

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

Questo crea a TargetProjectArn nell'account di destinazione:

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

Prendere nota del valore del progetto di destinazione ProjectArn campo. Usiamo questo valore nel seguente comando copy model.

5. Copiare il modello dall'account di origine all'account di destinazione

Fornisci la fonte e la destinazione ProjectArn, fonte ProjectVersionArne scegliere come target il bucket S3 e il prefisso della chiave S3 nel codice seguente:

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

Questo crea un modello copiato TargetProjectVersionArn nell'account di destinazione. Il TargetVersionName nel nostro caso è stato nominato copy_rooms_1:

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

Verifica lo stato del processo di copia del modello:

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

La copia del modello dall'account di origine all'account di destinazione è completa quando il file Status cambia in 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. Avviare il modello ed eseguire l'inferenza

Immettere il codice seguente per avviare il modello nell'account di destinazione:

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

Verifica lo stato del modello:

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

Il modello è ora ospitato ed è in esecuzione:

{
    "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.",
            ..........
            ..........
        }
    ]
}

Esegui l'inferenza con il codice seguente:

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. Verificare che i risultati dell'inferenza corrispondano

Le classi e i punteggi di affidabilità per le immagini demo1.jpg e demo2.jpg nell'account di destinazione devono corrispondere ai risultati nell'account di origine.

Conclusione

In questo post, abbiamo dimostrato la funzione di copia del modello di etichetta personalizzata di Recognition. Questa funzione consente di addestrare un modello di classificazione o rilevamento oggetti in un account e quindi condividere il modello con un altro account nella stessa regione. Ciò semplifica la strategia multi-account in cui il modello può essere addestrato una volta e condiviso tra account all'interno della stessa regione senza dover riqualificare o condividere i set di dati di addestramento. Ciò consente un'implementazione prevedibile in ogni account come parte del flusso di lavoro MLOps. Per ulteriori informazioni, fare riferimento a Copia di un modello di etichette personalizzate Amazon Rekognitionoppure prova la procedura dettagliata in questo post utilizzando una shell cloud con l'AWS CLI.

Al momento della stesura di questo documento, la funzione di copia del modello in Amazon Rekognition Custom Labels è disponibile nelle seguenti regioni:

  • Stati Uniti orientali (Ohio)
  • Stati Uniti orientali (Virginia settentrionale)
  • Stati Uniti occidentali (Oregon)
  • Asia Pacifico (Mumbai)
  • Asia Pacifico (Seoul)
  • Asia Pacifico (Singapore)
  • Asia Pacifico (Sydney)
  • Asia Pacifico (Tokyo)
  • UE (Francoforte)
  • UE (Irlanda)
  • UE (Londra)

Prova la funzione e inviaci un feedback tramite il Forum AWS per Amazon Rekognition o tramite i tuoi contatti di supporto AWS.


Circa gli autori

Annuncio del lancio della funzionalità di copia del modello per Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Amit Gupta è Senior AI Services Solutions Architect presso AWS. È appassionato di offrire ai clienti soluzioni di machine learning ben progettate su larga scala.

Annuncio del lancio della funzionalità di copia del modello per Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Yogesh Chaturvedi è un Solutions Architect presso AWS con un focus sulla visione artificiale. Lavora con i clienti per affrontare le loro sfide aziendali utilizzando le tecnologie cloud. Al di fuori del lavoro, gli piace fare escursioni, viaggiare e guardare lo sport.

Annuncio del lancio della funzionalità di copia del modello per Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Aakash profondo è un Senior Software Engineer presso AWS. Gli piace lavorare su computer vision, intelligenza artificiale e sistemi distribuiti. Al di fuori del lavoro, gli piace fare escursioni e viaggiare.

Annuncio del lancio della funzionalità di copia del modello per Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Ricerca verticale. Ai.Pashmen Mistry è Senior Product Manager per Amazon Recognition Custom Labels. Al di fuori del lavoro, Pashmeen ama fare escursioni avventurose, fotografare e passare il tempo con la sua famiglia.

Timestamp:

Di più da Apprendimento automatico di AWS