Tillkännager lanseringen av modellkopieringsfunktionen för Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Tillkännager lanseringen av modellkopieringsfunktionen för Amazon Rekognition Custom Labels

Amazon Rekognition anpassade etiketter är en fullständigt hanterad datorseendetjänst som låter utvecklare bygga anpassade modeller för att klassificera och identifiera objekt i bilder som är specifika och unika för ditt företag. Rekognition Custom Labels kräver inte att du har någon tidigare expertis för datorseende. Du kan till exempel hitta din logotyp i inlägg på sociala medier, identifiera dina produkter på butikshyllor, klassificera maskindelar i ett löpande band, urskilja friska och infekterade växter eller upptäcka animerade karaktärer i videor.

Att utveckla en anpassad modell för att analysera bilder är ett betydande uppdrag som kräver tid, expertis och resurser, som ofta tar månader att slutföra. Dessutom kräver det ofta tusentals eller tiotusentals handmärkta bilder för att ge modellen tillräckligt med data för att fatta beslut korrekt. Att generera denna data kan ta månader att samla in och kräver stora team av etikettörer för att förbereda den för användning i maskininlärning (ML).

Erkännande anpassade etiketter bygger på de befintliga funktionerna i Amazon-erkännande, som redan är utbildade på tiotals miljoner bilder i många kategorier. Istället för tusentals bilder behöver du helt enkelt ladda upp en liten uppsättning träningsbilder (vanligtvis några hundra bilder eller färre) som är specifika för ditt användningsfall med hjälp av Amazon Rekognition-konsolen. Om bilderna redan är märkta kan du börja träna en modell med bara några klick. Om inte kan du märka dem direkt på Rekognition Custom Labels-konsolen eller använda Amazon SageMaker Ground Sannhet att märka dem. Rekognition Custom Labels använder överföringsinlärning för att automatiskt inspektera träningsdata, välja rätt modellramverk och algoritm, optimera hyperparametrarna och träna modellen. När du är nöjd med modellens noggrannhet kan du börja vara värd för den utbildade modellen med bara ett klick.

Idag är vi glada att kunna tillkännage lanseringen av funktionen Rekognition Custom Labels modellkopiering. Den här funktionen låter dig kopiera dina Rekognition Custom Labels-modeller över projekt, som kan vara i samma AWS-konto eller över AWS-konton i samma AWS-region, utan att omskola modellerna från grunden. Denna nya funktion gör det enklare för dig att flytta Rekognition Custom Labels-modeller genom olika miljöer som utveckling, kvalitetssäkring, integration och produktion utan att behöva kopiera de ursprungliga utbildnings- och testdatauppsättningarna och omskola modellen. Du kan använda AWS-kommandoradsgränssnitt (AWS CLI) för att kopiera utbildade modeller över projekt, som kan vara i samma AWS-konto eller över AWS-konton.

I det här inlägget visar vi dig hur du kopierar modeller mellan olika AWS-konton i samma AWS-region.

Fördelar med modellkopieringsfunktionen

Den här nya funktionen har följande fördelar:

  • Bästa metoder för ML-Ops för flera konton – Du kan träna en modell en gång och säkerställa förutsägbar implementering med konsekventa resultat över flera konton mappade till olika miljöer som utveckling, kvalitetssäkring, integration och produktion så att du kan följa ML-Ops bästa praxis inom din organisation.
  • Kostnadsbesparingar och snabbare driftsättning – Du kan snabbt kopiera en tränad modell mellan konton, undvika den tid det tar att omskola på varje konto och spara på modellomskolningskostnaden.
  • Skydda känsliga datauppsättningar – Du behöver inte längre dela datamängderna mellan olika AWS-konton eller användare. Träningsdatan behöver endast vara tillgänglig på AWS-kontot där modellträning utförs. Detta är mycket viktigt för vissa branscher, där dataisolering är avgörande för att uppfylla affärs- eller regulatoriska krav.
  • Enkelt samarbete – Partners eller leverantörer kan nu enkelt träna Amazon Rekognition Custom Labels-modellen i sitt eget AWS-konto och dela modellerna med användare över AWS-konton.
  • Konsekvent prestanda – Modellprestandan är nu konsekvent över olika AWS-konton. Modellträning är i allmänhet icke-deterministisk och två modeller tränade med samma datauppsättning garanterar inte samma prestationspoäng och samma förutsägelser. Att kopiera modellen hjälper till att säkerställa att den kopierade modellens beteende överensstämmer med källmodellen, vilket eliminerar behovet av att testa modellen igen.

Lösningsöversikt

Följande diagram illustrerar vår lösningsarkitektur.

Det här inlägget förutsätter att du har en utbildad Rekognition Custom Labels-modell i ditt källkonto. För instruktioner, se Utbildning av en anpassad modell för enstaka objektdetektering med anpassade etiketter från Amazon Rekognition. I det här inlägget använde vi bildklassificeringen "Rum"-projektet från Rekognition Custom Labels exempel på projektlista och tränade en rumsklassificeringsmodell i källkontot för att klassificera bilder av kök, badrum, vardagsrum med mera.

För att demonstrera funktionaliteten hos modellkopieringsfunktionen går vi igenom följande steg i källkontot:

  1. Starta modellen och kör slutsatser på exempelbilder.
  2. Definiera en resursbaserad policy för att tillåta åtkomst över flera konton för att kopiera Rekognition Custom Labels-modellen.

Sedan kopierar vi källmodellen till målkontot.

  1. Skapa ett Amazon enkel lagringstjänst (Amazon S3) hink, som fungerar som en behållare för modellutvärdering och prestandastatistik.
  2. Skapa ett projekt.
  3. Kopiera den tränade modellen från källkontot till målkontot.
  4. Starta modellen och kör inferens på exempelbilderna.
  5. Verifiera att slutledningsresultaten matchar resultaten från källkontomodellen.

Förutsättningar

Förutom att ha en utbildad modell i ditt källkonto, se till att du slutför följande nödvändiga steg:

  1. Installera AWS CLI V2.
  2. Konfigurera din AWS CLI med följande kod och ange din region:
    aws configure

  3. Kör följande kommandon för att säkerställa att du har AWS CLI version 2.xx installerad på din lokala värd:
    aws --version

  4. Uppdatera AWS-referensfilen under $HOME/.aws/credentials med följande post:
    [source-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######
    
    [target-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######

  5. ProjectArn och ProjectVersionArn för käll-AWS-kontot.ProjectArn är projektet kopplat till din källmodell. ProjectVersionArn är versionen av modellen du är intresserad av att kopiera till målkontot. Du kan hitta SourceProjectArn med följande 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",
            .
            .
        }]
    }

    Om du ser flera utdatarader väljer du ProjectArn kopplat till modellen du ska kopiera.

    Du kan hitta SourceProjectVersionArn för modellen du tränade med SourceProjectArn (föregående utgång). Ersätt SourceProjectArn i följande kommando:

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

    Kommandot returnerar SourceProjectVersionArn. Om du ser flera utdatarader väljer du ProjectVersionArn av intresse.

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

Du är nu redo att köra stegen för att implementera lösningen. Byt ut värdena på SourceProjectArn och SourceProjectVersionArn i följande kommandon med de värden du genererade.

1. Starta modellen och kör inferens på exempelbilder

I källkontot anger du följande kod för att starta 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 är värd och i körläge kan du köra inferens.

Vi använde följande bilder (demo1.jpeg och demo2.jpeg) för att köra slutledning. Dessa bilder finns i vårt lokala filsystem i samma katalog där AWS CLI-kommandon körs från.

Följande bild är demo1.jpeg, som visar en bakgård.

Tillkännager lanseringen av modellkopieringsfunktionen för Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Se följande slutledningskod och utdata:

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öljande bild är demo2.jpeg, som visar ett sovrum.

Tillkännager lanseringen av modellkopieringsfunktionen för Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Se följande slutledningskod och utdata:

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
 }

Slutledningsresultaten visar att bilden tillhör klasserna backyard och bedroom, med ett konfidenspoäng på 45.77 respektive 61.84.

2. Definiera IAM-resurspolicyn för den tränade modellen för att tillåta åtkomst över flera konton

För att skapa din resursbaserade IAM-policy, utför följande steg i källkontot:

  1. Tillåt ditt specifika AWS-konto att komma åt resurser med hjälp av den tillhandahållna IAM-resurspolicyn (för mer information, se Skapa ett projektpolicydokument. Byt ut värdena för TargetAWSAccountId och SourceProjectVersionArn i följande policy:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Principal": {
                    "AWS": [ "TargetAWSAccountId" ]
                },
                "Action": "Rekognition:CopyProjectVersion",
                "Resource": "SourceProjectVersionArn",
                "Effect": "Allow"
            }
        ]
    }

  2. Bifoga policyn till projektet i källkontot genom att anropa följande 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

    ersätta SourceProjectArn, PolicyName, TargetAWSAccountIdoch SourceProjectVersionArn.

    Utdata visar det policyrevisions-ID som skapats:

    {
        "PolicyRevisionId": "f95907f9c1472c114f61b0e1f31ed131"
    }

Nu är vi redo att kopiera den tränade modellen från källkontot till målkontot.

3. Skapa en S3-bucket i målkontot

Du kan använda en befintlig S3-bucket på ditt konto eller skapa en ny S3-bucket. För det här inlägget kallar vi denna S3-hink DestinationS3Bucket.

4. Skapa ett nytt erkännande anpassade etiketter-projekt

Skapa ett nytt projekt med följande kod:

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

Detta skapar en TargetProjectArn i målkontot:

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

Notera värdet på destinationsprojektet ProjectArn fält. Vi använder detta värde i följande kopieringsmodellkommando.

5. Kopiera modellen från källkontot till målkontot

Ange källan och målet ProjectArn, källa ProjectVersionArn, och mål S3-bucket och S3-nyckelprefix i följande kod:

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

Detta skapar en kopierad modell TargetProjectVersionArn i målkontot. De TargetVersionName i vårt fall har namngetts copy_rooms_1:

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

Kontrollera statusen för modellkopieringsprocessen:

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

Modellkopian från källkontot till målkontot är klar när Status ändras till 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. Starta modellen och kör inferens

Ange följande kod för att starta modellen i målkontot:

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

Kontrollera modellens status:

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

Modellen är nu värd och körs:

{
    "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öljande kod:

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. Verifiera att slutledningsresultaten matchar

Klasserna och konfidenspoängen för bilderna demo1.jpg och demo2.jpg i målkontot bör matcha resultaten i källkontot.

Slutsats

I det här inlägget demonstrerade vi kopieringsfunktionen för Rekognition Custom Label-modell. Den här funktionen gör att du kan träna en klassificerings- eller objektdetekteringsmodell i ett konto och sedan dela modellen med ett annat konto i samma region. Detta förenklar strategin för flera konton där modellen kan tränas en gång och delas mellan konton inom samma region utan att behöva omskola eller dela utbildningsdatauppsättningarna. Detta möjliggör en förutsägbar distribution i varje konto som en del av ditt MLOps-arbetsflöde. För mer information, se Kopiera en Amazon Rekognition Custom Labels-modell, eller prova genomgången i det här inlägget med hjälp av ett molnskal med AWS CLI.

När detta skrivs är modellkopieringsfunktionen i Amazon Rekognition Custom Labels tillgänglig i följande regioner:

  • USA: s öst (Ohio)
  • USA-öst (N. Virginia)
  • USA Väst (Oregon)
  • Asien och Stillahavsområdet (Mumbai)
  • Asien och Stillahavsområdet (Seoul)
  • Asien och Stillahavsområdet (Singapore)
  • Asien och Stilla havet (Sydney)
  • Asien och Stillahavsområdet (Tokyo)
  • EU (Frankfurt)
  • EU (Irland)
  • EU (London)

Ge funktionen ett försök och skicka oss feedback antingen via AWS-forum för Amazon Rekognition eller via dina AWS-supportkontakter.


Om författarna

Tillkännager lanseringen av modellkopieringsfunktionen för Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Amit Gupta är senior AI Services Solutions Architect på AWS. Han brinner för att möjliggöra för kunder med väl utformade maskininlärningslösningar i stor skala.

Tillkännager lanseringen av modellkopieringsfunktionen för Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Yogesh Chaturvedi är Solutions Architect på AWS med inriktning datorseende. Han arbetar med kunder för att hantera deras affärsutmaningar med hjälp av molnteknik. Utanför jobbet tycker han om att vandra, resa och titta på sport.

Tillkännager lanseringen av modellkopieringsfunktionen för Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Aakash Deep är senior mjukvaruingenjör med AWS. Han tycker om att arbeta med datorseende, AI och distribuerade system. Utanför jobbet tycker han om att vandra och resa.

Tillkännager lanseringen av modellkopieringsfunktionen för Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Pashmeen Mistry är Senior Product Manager för Amazon Rekognition Custom Labels. Utanför jobbet tycker Pashmeen om äventyrliga vandringar, fotografering och att umgås med sin familj.

Tidsstämpel:

Mer från AWS maskininlärning