Aankondiging van de lancering van de functie voor het kopiëren van modellen voor Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Aankondiging van de lancering van de functie voor het kopiëren van modellen voor Amazon Rekognition Custom Labels

Aangepaste labels voor Amazon-herkenning is een volledig beheerde computer vision-service waarmee ontwikkelaars aangepaste modellen kunnen bouwen om objecten in afbeeldingen te classificeren en identificeren die specifiek en uniek zijn voor uw bedrijf. Rekognition Custom Labels vereist geen eerdere computer vision-expertise. U kunt bijvoorbeeld uw logo terugvinden in posts op sociale media, uw producten identificeren in winkelschappen, machineonderdelen classificeren in een lopende band, gezonde en geïnfecteerde planten onderscheiden of geanimeerde karakters in video's detecteren.

Het ontwikkelen van een aangepast model om afbeeldingen te analyseren is een aanzienlijke onderneming die tijd, expertise en middelen vereist, en die vaak maanden in beslag neemt. Bovendien zijn vaak duizenden of tienduizenden met de hand gelabelde afbeeldingen nodig om het model van voldoende gegevens te voorzien om nauwkeurige beslissingen te nemen. Het genereren van deze gegevens kan maanden duren om te verzamelen en vereist grote teams van labelers om deze voor te bereiden voor gebruik in machine learning (ML).

Rekognition Custom Labels bouwt voort op de bestaande mogelijkheden van Amazon Rekognition, die al zijn getraind op tientallen miljoenen afbeeldingen in vele categorieën. In plaats van duizenden afbeeldingen, hoeft u alleen maar een kleine set trainingsafbeeldingen (meestal een paar honderd afbeeldingen of minder) te uploaden die specifiek zijn voor uw gebruiksscenario met behulp van de Amazon Rekognition-console. Als de afbeeldingen al zijn gelabeld, kunt u met slechts een paar klikken beginnen met het trainen van een model. Als dat niet het geval is, kunt u ze rechtstreeks labelen in de Rekognition Custom Labels-console of gebruiken Amazon SageMaker Grondwaarheid om ze te labelen. Rekognition Custom Labels gebruikt transfer learning om automatisch de trainingsgegevens te inspecteren, het juiste modelraamwerk en algoritme te selecteren, de hyperparameters te optimaliseren en het model te trainen. Als u tevreden bent met de nauwkeurigheid van het model, kunt u met slechts één klik beginnen met het hosten van het getrainde model.

Vandaag kondigen we met genoegen de lancering aan van de Rekognition Custom Labels-modelkopieerfunctie. Met deze functie kunt u uw Rekognition Custom Labels-modellen kopiëren naar verschillende projecten, die zich in hetzelfde AWS-account of tussen AWS-accounts in dezelfde AWS-regio kunnen bevinden, zonder de modellen helemaal opnieuw te hoeven trainen. Deze nieuwe mogelijkheid maakt het voor u gemakkelijker om Rekognition Custom Labels-modellen door verschillende omgevingen te verplaatsen, zoals ontwikkeling, kwaliteitsborging, integratie en productie, zonder dat u de originele trainings- en testdatasets hoeft te kopiëren en het model opnieuw hoeft te trainen. U kunt de AWS-opdrachtregelinterface (AWS CLI) om getrainde modellen naar verschillende projecten te kopiëren, die zich in hetzelfde AWS-account of tussen AWS-accounts kunnen bevinden.

In dit bericht laten we u zien hoe u modellen kopieert tussen verschillende AWS-accounts in dezelfde AWS-regio.

Voordelen van de functie model kopiëren

Deze nieuwe functie heeft de volgende voordelen:

  • Best practices voor ML-Ops voor meerdere accounts – U kunt een model eenmalig trainen en zorgen voor een voorspelbare implementatie met consistente resultaten voor meerdere accounts die zijn toegewezen aan verschillende omgevingen, zoals ontwikkeling, kwaliteitsborging, integratie en productie, zodat u de best practices van ML-Ops binnen uw organisatie kunt volgen.
  • Kostenbesparingen en snellere implementatie – U kunt snel een getraind model kopiëren tussen accounts, waardoor de tijd die nodig is om in elk account opnieuw te trainen, wordt vermeden en u bespaart op de kosten van het opnieuw trainen van het model.
  • Bescherm gevoelige datasets – U hoeft de datasets niet meer te delen tussen verschillende AWS-accounts of gebruikers. De trainingsgegevens hoeven alleen beschikbaar te zijn op het AWS-account waar modeltraining wordt gegeven. Dit is erg belangrijk voor bepaalde industrieën, waar gegevensisolatie essentieel is om te voldoen aan zakelijke of wettelijke vereisten.
  • Eenvoudig samenwerken – Partners of leveranciers kunnen nu eenvoudig het Amazon Rekognition Custom Labels-model trainen in hun eigen AWS-account en de modellen delen met gebruikers via AWS-accounts.
  • Consistente prestaties – Modelprestaties zijn nu consistent voor verschillende AWS-accounts. Modeltraining is over het algemeen niet-deterministisch en twee modellen die met dezelfde dataset zijn getraind, garanderen niet dezelfde prestatiescores en dezelfde voorspellingen. Door het model te kopiëren, zorgt u ervoor dat het gedrag van het gekopieerde model consistent is met het bronmodel, waardoor het model niet opnieuw hoeft te worden getest.

Overzicht oplossingen

Het volgende diagram illustreert onze oplossingsarchitectuur.

In dit bericht wordt ervan uitgegaan dat je een getraind Rekognition Custom Labels-model in je bronaccount hebt. Raadpleeg voor instructies: Trainen van een aangepast objectdetectiemodel van één klasse met Amazon Rekognition Custom Labels. In dit bericht hebben we de afbeeldingsclassificatie "Rooms" -project van de Rekognition Custom Labels lijst met voorbeeldprojecten en trainde een kamerclassificatiemodel in het bronaccount om afbeeldingen van keukens, badkamers, woonkamers en meer te classificeren.

Om de functionaliteit van de modelkopiefunctie te demonstreren, doorlopen we de volgende stappen in het bronaccount:

  1. Start het model en voer gevolgtrekkingen uit op voorbeeldafbeeldingen.
  2. Definieer een op bronnen gebaseerd beleid om toegang voor meerdere accounts toe te staan ​​om het Rekognition Custom Labels-model te kopiëren.

Vervolgens kopiëren we het bronmodel naar het doelaccount.

  1. Maak een Amazon eenvoudige opslagservice (Amazon S3) emmer, die dient als een container voor de modelevaluatie en prestatiestatistieken.
  2. Maak een project.
  3. Kopieer het getrainde model van het bronaccount naar het doelaccount.
  4. Start het model en voer gevolgtrekking uit op de voorbeeldafbeeldingen.
  5. Controleer of de gevolgtrekkingsresultaten overeenkomen met de resultaten van het bronaccountmodel.

Voorwaarden

Zorg er niet alleen voor dat u een getraind model in uw bronaccount hebt, maar ook de volgende vereiste stappen:

  1. Installeer de AWS CLI V2.
  2. Configureer uw AWS CLI met de volgende code en voer uw regio in:
    aws configure

  3. Voer de volgende opdrachten uit om ervoor te zorgen dat AWS CLI versie 2.xx op uw lokale host is geïnstalleerd:
    aws --version

  4. Werk het AWS-inloggegevensbestand bij onder $HOME/.aws/credentials met de volgende vermelding:
    [source-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######
    
    [target-account]
    aws_access_key_id = ####
    aws_secret_access_key = #######

  5. Verkrijg de ProjectArn en ProjectVersionArn voor het bron-AWS-account.ProjectArn is het project dat is gekoppeld aan uw bronmodel. ProjectVersionArn is de versie van het model dat u naar het doelaccount wilt kopiëren. U vindt de SourceProjectArn met behulp van de volgende opdracht:
    aws rekognition describe-projects 
    --region us-east-1 
    --profile source-account
    
    {
        "ProjectDescriptions": [{
            "ProjectArn": "arn:aws:rekognition:us-east-1::111111111111:project/rooms_1/1657588855531",
            .
            .
        }]
    }

    Als u meerdere uitvoerregels ziet, kiest u de ProjectArn gekoppeld aan het model dat u gaat kopiëren.

    U kunt het vinden SourceProjectVersionArn voor het model dat u hebt getraind met behulp van de SourceProjectArn (de voorgaande uitvoer). Vervang de SourceProjectArn in het volgende commando:

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

    Het commando retourneert de SourceProjectVersionArn. Als u meerdere uitvoerregels ziet, kiest u de ProjectVersionArn van belang.

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

U bent nu klaar om de stappen uit te voeren om de oplossing te implementeren. Vervang de waarden van SourceProjectArn en SourceProjectVersionArn in de volgende opdrachten met de waarden die u hebt gegenereerd.

1. Start het model en voer gevolgtrekking uit op voorbeeldafbeeldingen

Voer in het bronaccount de volgende code in om het model te starten:

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

Nadat het model is gehost en in de actieve status is, kunt u inferentie uitvoeren.

We hebben de volgende afbeeldingen (demo1.jpeg en demo2.jpeg) gebruikt om inferentie uit te voeren. Deze afbeeldingen bevinden zich in ons lokale bestandssysteem in dezelfde map van waaruit de AWS CLI-opdrachten worden uitgevoerd.

De volgende afbeelding is demo1.jpeg, die een achtertuin laat zien.

Aankondiging van de lancering van de functie voor het kopiëren van modellen voor Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Zie de volgende afleidingscode en uitvoer:

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
 }

De volgende afbeelding is demo2.jpeg, die een slaapkamer toont.

Aankondiging van de lancering van de functie voor het kopiëren van modellen voor Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.

Zie de volgende afleidingscode en uitvoer:

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
 }

De inferentieresultaten laten zien dat de afbeelding bij de klassen hoort backyard en bedroom, met een betrouwbaarheidsscore van respectievelijk 45.77 en 61.84.

2. Definieer het IAM-resourcebeleid voor het getrainde model om toegang voor meerdere accounts mogelijk te maken

Voer de volgende stappen uit in het bronaccount om uw op bronnen gebaseerde IAM-beleid te maken:

  1. Geef uw specifieke AWS-account toegang tot bronnen met behulp van het verstrekte IAM-bronbeleid (raadpleeg voor meer informatie: Een projectbeleidsdocument maken. Vervang de waarden voor TargetAWSAccountId en SourceProjectVersionArn in het volgende beleid:
    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Principal": {
                    "AWS": [ "TargetAWSAccountId" ]
                },
                "Action": "Rekognition:CopyProjectVersion",
                "Resource": "SourceProjectVersionArn",
                "Effect": "Allow"
            }
        ]
    }

  2. Koppel het beleid aan het project in het bronaccount door de volgende opdracht aan te roepen.
    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

    vervangen SourceProjectArn, PolicyName, TargetAWSAccountId en SourceProjectVersionArn.

    De uitvoer toont de gemaakte beleidsrevisie-ID:

    {
        "PolicyRevisionId": "f95907f9c1472c114f61b0e1f31ed131"
    }

Nu zijn we klaar om het getrainde model van het bronaccount naar het doelaccount te kopiëren.

3. Maak een S3-bucket in het doelaccount

U kunt een bestaande S3-bucket in uw account gebruiken of een nieuwe S3-bucket maken. Voor dit bericht noemen we dit S3-emmer DestinationS3Bucket.

4. Maak een nieuw Rekognition Custom Labels-project aan

Maak een nieuw project met de volgende code:

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

Dit creëert een TargetProjectArn in het doelaccount:

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

Let op de waarde van het doelproject ProjectArn veld. We gebruiken deze waarde in de volgende kopieermodelopdracht.

5. Kopieer het model van het bronaccount naar het doelaccount

Lever de bron en het doel ProjectArn, bron ProjectVersionArn, en doel S3-bucket en S3-sleutelvoorvoegsel in de volgende code:

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

Dit creëert een gekopieerd model TargetProjectVersionArn op de doelrekening. De TargetVersionName in ons geval is genoemd copy_rooms_1:

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

Controleer de status van het modelkopieproces:

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

De modelkopie van het bronaccount naar het doelaccount is voltooid wanneer de Status veranderd naar 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 het model en voer gevolgtrekking uit

Voer de volgende code in om het model in het doelaccount te starten:

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

Controleer de status van het model:

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

Het model wordt nu gehost en uitgevoerd:

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

Voer gevolgtrekking uit met de volgende code:

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. Controleer of de inferentieresultaten overeenkomen

De klassen en de betrouwbaarheidsscores voor de afbeeldingen demo1.jpg en demo2.jpg in het doelaccount moeten overeenkomen met de resultaten in het bronaccount.

Conclusie

In dit bericht hebben we de kopieerfunctie van het Rekognition Custom Label-model gedemonstreerd. Met deze functie kunt u een classificatie- of objectdetectiemodel in één account trainen en het model vervolgens delen met een ander account in dezelfde regio. Dit vereenvoudigt de multi-accountstrategie waarbij het model één keer kan worden getraind en gedeeld tussen accounts binnen dezelfde regio zonder dat de trainingsgegevenssets opnieuw hoeven te worden getraind of gedeeld. Dit zorgt voor een voorspelbare implementatie in elk account als onderdeel van uw MLOps-workflow. Voor meer informatie, zie: Een Amazon Recognition Custom Labels-model kopiëren, of probeer de walkthrough in dit bericht met behulp van een cloudshell met de AWS CLI.

Op het moment van schrijven is de functie voor het kopiëren van modellen in Amazon Rekognition Custom Labels beschikbaar in de volgende regio's:

  • VS-Oosten (Ohio)
  • VS-Oosten (N. Virginia)
  • VS West (Oregon)
  • Azië-Pacific (Mumbai)
  • Azië-Pacific (Seoul)
  • Azië-Pacific (Singapore)
  • Azië-Pacific (Sydney)
  • Azië-Pacific (Tokio)
  • EU (Frankfurt)
  • EU (Ierland)
  • EU (Londen)

Probeer de functie eens en stuur ons feedback via de AWS-forum voor Amazon Rekognition of via uw AWS-ondersteuningscontacten.


Over de auteurs

Aankondiging van de lancering van de functie voor het kopiëren van modellen voor Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Amit Gupta is Senior AI Services Solutions Architect bij AWS. Hij is gepassioneerd om klanten op grote schaal goed ontworpen machine learning-oplossingen te bieden.

Aankondiging van de lancering van de functie voor het kopiëren van modellen voor Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Yogesh Chaturvedi is Solutions Architect bij AWS met een focus op computer vision. Hij werkt samen met klanten om hun zakelijke uitdagingen aan te pakken met behulp van cloudtechnologieën. Naast zijn werk houdt hij van wandelen, reizen en sport kijken.

Aankondiging van de lancering van de functie voor het kopiëren van modellen voor Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Aakasj Deep is een Senior Software Engineer bij AWS. Hij werkt graag aan computer vision, AI en gedistribueerde systemen. Naast zijn werk houdt hij van wandelen en reizen.

Aankondiging van de lancering van de functie voor het kopiëren van modellen voor Amazon Rekognition Custom Labels PlatoBlockchain Data Intelligence. Verticaal zoeken. Ai.Pashmeen Mistry is de Senior Product Manager voor Amazon Rekognition Custom Labels. Naast zijn werk houdt Pashmeen van avontuurlijke wandelingen, fotografie en tijd doorbrengen met zijn gezin.

Tijdstempel:

Meer van AWS-machine learning