Annoncering af lanceringen af ​​modelkopieringsfunktionen til Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Annoncerer lanceringen af ​​modelkopifunktionen til Amazon Rekognition Custom Labels

Tilpassede etiketter til Amazon-genkendelse er en fuldt administreret computervisionstjeneste, der giver udviklere mulighed for at bygge brugerdefinerede modeller til at klassificere og identificere objekter i billeder, der er specifikke og unikke for din virksomhed. Anerkendte brugerdefinerede etiketter kræver ikke, at du har nogen forudgående computervisionsekspertise. For eksempel kan du finde dit logo i opslag på sociale medier, identificere dine produkter på butikshylderne, klassificere maskindele i et samlebånd, skelne mellem sunde og inficerede planter eller opdage animerede figurer i videoer.

At udvikle en brugerdefineret model til at analysere billeder er en betydelig opgave, der kræver tid, ekspertise og ressourcer, og det tager ofte måneder at gennemføre. Derudover kræver det ofte tusinder eller titusindvis af håndmærkede billeder for at give modellen nok data til nøjagtigt at træffe beslutninger. Generering af disse data kan tage måneder at indsamle og kræver store teams af labelers at forberede dem til brug i machine learning (ML).

Anerkendelse Custom Labels bygger på de eksisterende muligheder for Amazon-anerkendelse, som allerede er trænet på titusinder af billeder på tværs af mange kategorier. I stedet for tusindvis af billeder skal du blot uploade et lille sæt træningsbilleder (typisk et par hundrede billeder eller mindre), der er specifikke for din brugssituation ved hjælp af Amazon Rekognition-konsollen. Hvis billederne allerede er mærket, kan du begynde at træne en model med blot et par klik. Hvis ikke, kan du mærke dem direkte på Rekognition Custom Labels-konsollen eller bruge Amazon SageMaker Ground Truth at mærke dem. Rekognition Custom Labels bruger transfer learning til automatisk at inspicere træningsdataene, vælge den rigtige modelramme og algoritme, optimere hyperparametrene og træne modellen. Når du er tilfreds med modellens nøjagtighed, kan du begynde at hoste den trænede model med blot et enkelt klik.

I dag er vi glade for at kunne annoncere lanceringen af ​​Rekognition Custom Labels model kopifunktion. Denne funktion giver dig mulighed for at kopiere dine Rekognition Custom Labels-modeller på tværs af projekter, som kan være på den samme AWS-konto eller på tværs af AWS-konti i den samme AWS-region, uden at genoptræne modellerne fra bunden. Denne nye funktion gør det nemmere for dig at flytte Rekognition Custom Labels-modeller gennem forskellige miljøer såsom udvikling, kvalitetssikring, integration og produktion uden at skulle kopiere de originale trænings- og testdatasæt og genoptræne modellen. Du kan bruge AWS kommandolinjegrænseflade (AWS CLI) til at kopiere trænede modeller på tværs af projekter, som kan være på den samme AWS-konto eller på tværs af AWS-konti.

I dette indlæg viser vi dig, hvordan du kopierer modeller mellem forskellige AWS-konti i samme AWS-region.

Fordele ved modelkopieringsfunktionen

Denne nye funktion har følgende fordele:

  • ML-Ops bedste praksis for flere konti – Du kan træne en model én gang og sikre forudsigelig implementering med ensartede resultater på tværs af flere konti, der er kortlagt til forskellige miljøer såsom udvikling, kvalitetssikring, integration og produktion, så du kan følge ML-Ops bedste praksis i din organisation.
  • Omkostningsbesparelser og hurtigere implementering – Du kan hurtigt kopiere en trænet model mellem konti, så du undgår den tid, det tager at genoptræne på hver konto, og sparer på omskolingsomkostningerne for modellen.
  • Beskyt følsomme datasæt – Du behøver ikke længere at dele datasættene mellem forskellige AWS-konti eller brugere. Træningsdataene skal kun være tilgængelige på AWS-kontoen, hvor modeltræning udføres. Dette er meget vigtigt for visse brancher, hvor dataisolering er afgørende for at opfylde forretningsmæssige eller lovmæssige krav.
  • Nemt samarbejde – Partnere eller leverandører kan nu nemt træne Amazon Rekognition Custom Labels-modellen i deres egen AWS-konto og dele modellerne med brugere på tværs af AWS-konti.
  • Konsekvent præstation – Modelydelsen er nu konsistent på tværs af forskellige AWS-konti. Modeltræning er generelt ikke-deterministisk, og to modeller trænet med det samme datasæt garanterer ikke de samme præstationsscore og de samme forudsigelser. Kopiering af modellen hjælper med at sikre, at den kopierede models adfærd er i overensstemmelse med kildemodellen, hvilket eliminerer behovet for at teste modellen igen.

Løsningsoversigt

Følgende diagram illustrerer vores løsningsarkitektur.

Dette indlæg antager, at du har en oplært en Rekognition Custom Labels-model på din kildekonto. For instruktioner, se Træning af en brugerdefineret enkeltklasses objektgenkendelsesmodel med Amazon Rekognition Custom Labels. I dette indlæg brugte vi billedklassificeringen "Rooms"-projektet fra Rekognition Custom Labels liste over eksempler på projekter og trænet en rumklassifikationsmodel i kildekontoen til at klassificere billeder af køkkener, badeværelser, stuer med mere.

For at demonstrere funktionaliteten af ​​modelkopieringsfunktionen gennemgår vi følgende trin i kildekontoen:

  1. Start modellen og kør slutninger på eksempelbilleder.
  2. Definer en ressourcebaseret politik for at tillade adgang på tværs af konti for at kopiere modellen med tilpassede etiketter for anerkendelse.

Derefter kopierer vi kildemodellen til målkontoen.

  1. Opret en Amazon Simple Storage Service (Amazon S3) spand, der fungerer som en beholder til modelevaluering og præstationsstatistikker.
  2. Opret et projekt.
  3. Kopier den trænede model fra kildekontoen til målkontoen.
  4. Start modellen og kør inferens på eksempelbillederne.
  5. Bekræft, at slutningsresultaterne stemmer overens med resultaterne af kildekontomodellen.

Forudsætninger

Ud over at have en trænet model på din kildekonto, skal du sørge for at udføre følgende forudsætningstrin:

  1. Installer AWS CLI V2.
  2. Konfigurer din AWS CLI med følgende kode og indtast din region:
    aws configure

  3. Kør følgende kommandoer for at sikre, at du har AWS CLI version 2.xx installeret på din lokale vært:
    aws --version

  4. Opdater AWS-legitimationsfilen under $HOME/.aws/credentials med følgende indgang:
    [source-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######
    
    [target-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######

  5. ProjectArn , ProjectVersionArn for kilde-AWS-kontoen.ProjectArn er projektet forbundet med din kildemodel. ProjectVersionArn er den version af modellen, du er interesseret i at kopiere til målkontoen. Du kan finde SourceProjectArn ved hjælp af følgende kommando:
    aws rekognition describe-projects 
    --region us-east-1 
    --profile source-account
    
    {
        "ProjectDescriptions": [{
            "ProjectArn": "arn:aws:rekognition:us-east-1::111111111111:project/rooms_1/1657588855531",
            .
            .
        }]
    }

    Hvis du ser flere outputlinjer, skal du vælge ProjectArn knyttet til den model, du vil kopiere.

    Du kan finde SourceProjectVersionArn for den model, du trænede med SourceProjectArn (det foregående output). Udskift SourceProjectArn i følgende kommando:

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

    Kommandoen returnerer SourceProjectVersionArn. Hvis du ser flere outputlinjer, skal du vælge ProjectVersionArn af interesse.

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

Du er nu klar til at køre trinene for at implementere løsningen. Udskift værdierne af SourceProjectArn , SourceProjectVersionArn i følgende kommandoer med de værdier, du genererede.

1. Start modellen og kør inferens på eksempelbilleder

Indtast følgende kode i kildekontoen for at starte modellen:

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

Når modellen er hostet og i kørende tilstand, kan du køre inferens.

Vi brugte følgende billeder (demo1.jpeg og demo2.jpeg) til at køre inferens. Disse billeder er placeret i vores lokale filsystem i den samme mappe, hvorfra AWS CLI-kommandoerne køres.

Følgende billede er demo1.jpeg, som viser en baggård.

Annoncering af lanceringen af ​​modelkopieringsfunktionen til Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Se følgende slutningskode og output:

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
 }

Følgende billede er demo2.jpeg, som viser et soveværelse.

Annoncering af lanceringen af ​​modelkopieringsfunktionen til Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Se følgende slutningskode og output:

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
 }

Konklusionen viser, at billedet hører til klasserne backyard , bedroom, med en konfidensscore på henholdsvis 45.77 og 61.84.

2. Definer IAM-ressourcepolitikken for den trænede model for at tillade adgang på tværs af konti

For at oprette din ressourcebaserede IAM-politik skal du udføre følgende trin på kildekontoen:

  1. Tillad din specifikke AWS-konto at få adgang til ressourcer ved hjælp af den medfølgende IAM-ressourcepolitik (for mere information, se Udarbejdelse af et projektpolitisk dokument. Udskift værdierne for TargetAWSAccountId , SourceProjectVersionArn i følgende politik:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Principal": {
                    "AWS": [ "TargetAWSAccountId" ]
                },
                "Action": "Rekognition:CopyProjectVersion",
                "Resource": "SourceProjectVersionArn",
                "Effect": "Allow"
            }
        ]
    }

  2. Vedhæft politikken til projektet i kildekontoen ved at kalde følgende kommando.
    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

    udskifte SourceProjectArn, PolicyName, TargetAWSAccountIdog SourceProjectVersionArn.

    Outputtet viser det oprettede politikrevisions-id:

    {
        "PolicyRevisionId": "f95907f9c1472c114f61b0e1f31ed131"
    }

Nu er vi klar til at kopiere den trænede model fra kildekontoen til målkontoen.

3. Opret en S3 bucket i målkontoen

Du kan bruge en eksisterende S3-bucket på din konto eller oprette en ny S3-bucket. Til dette indlæg kalder vi denne S3 spand DestinationS3Bucket.

4. Opret et nyt projekt med brugerdefinerede etiketter

Opret et nyt projekt med følgende kode:

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

Dette skaber en TargetProjectArn i målkontoen:

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

Bemærk værdien af ​​destinationsprojektet ProjectArn Mark. Vi bruger denne værdi i følgende kopimodelkommando.

5. Kopier modellen fra kildekontoen til målkontoen

Angiv kilden og målet ProjectArn, kilde ProjectVersionArn, og mål S3-spand og S3-nøglepræfiks i følgende kode:

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

Dette skaber en kopieret model TargetProjectVersionArn i målkontoen. Det TargetVersionName i vores tilfælde er blevet navngivet copy_rooms_1:

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

Kontroller status for modelkopieringsprocessen:

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

Modelkopien fra kildekontoen til målkontoen er færdig, når Status ændres til 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. Start modellen og kør inferens

Indtast følgende kode for at starte modellen i målkontoen:

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

Tjek modellens status:

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

Modellen er nu hostet og kører:

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

Kør inferens med følgende kode:

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. Bekræft, at slutningsresultaterne stemmer overens

Klasserne og konfidensresultaterne for billederne demo1.jpg og demo2.jpg i målkontoen skal matche resultaterne i kildekontoen.

Konklusion

I dette indlæg demonstrerede vi Rekognition Custom Label-modelkopifunktionen. Denne funktion giver dig mulighed for at træne en klassificerings- eller objektdetekteringsmodel på én konto og derefter dele modellen med en anden konto i samme region. Dette forenkler multi-konto strategien, hvor modellen kan trænes én gang og deles mellem konti inden for samme region uden at skulle genoptræne eller dele træningsdatasættene. Dette giver mulighed for en forudsigelig implementering på hver konto som en del af din MLOps-arbejdsgang. For mere information, se Kopiering af en Amazon Rekognition Custom Labels-model, eller prøv gennemgangen i dette indlæg ved hjælp af en skyskal med AWS CLI.

Når dette skrives, er modelkopieringsfunktionen i Amazon Rekognition Custom Labels tilgængelig i følgende regioner:

  • US East (Ohio)
  • US East (N. Virginia)
  • US West (Oregon)
  • Asia Pacific (Mumbai)
  • Asia Pacific (Seoul)
  • Asia Pacific (Singapore)
  • Asia Pacific (Sydney)
  • Asien og Stillehavsområdet (Tokyo)
  • EU (Frankfurt)
  • EU (Irland)
  • EU (London)

Prøv funktionen, og send os venligst feedback enten via AWS forum til Amazon Rekognition eller gennem dine AWS-supportkontakter.


Om forfatterne

Annoncering af lanceringen af ​​modelkopieringsfunktionen til Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Amit Gupta er senior AI Services Solutions Architect hos AWS. Han brænder for at give kunderne veldesignede maskinlæringsløsninger i stor skala.

Annoncering af lanceringen af ​​modelkopieringsfunktionen til Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Yogesh Chaturvedi er Solutions Architect hos AWS med fokus på computervision. Han arbejder med kunder for at løse deres forretningsmæssige udfordringer ved hjælp af cloud-teknologier. Uden for arbejdet nyder han at vandre, rejse og se sport.

Annoncering af lanceringen af ​​modelkopieringsfunktionen til Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Aakash Deep er senior softwareingeniør med AWS. Han nyder at arbejde med computervision, kunstig intelligens og distribuerede systemer. Uden for arbejdet nyder han at vandre og rejse.

Annoncering af lanceringen af ​​modelkopieringsfunktionen til Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Lodret søgning. Ai.Pashmeen Mistry er Senior Product Manager for Amazon Rekognition Custom Labels. Uden for arbejdet nyder Pashmeen eventyrlige vandreture, fotografering og at tilbringe tid med sin familie.

Tidsstempel:

Mere fra AWS maskinindlæring