Azure Storage integreren voor meldingen en back-ups
U kunt uw Custom Vision-project integreren met een Azure Blob Storage-wachtrij om pushmeldingen te ontvangen van projecttrainings-/exportactiviteit. Deze functie is handig om te voorkomen dat de service voortdurend wordt gecontroleerd op resultaten wanneer lange bewerkingen worden uitgevoerd. In plaats daarvan kunt u de meldingen van de opslagwachtrij in uw werkstroom integreren.
U kunt Azure Storage ook gebruiken om back-ups van uw gepubliceerde modellen op te slaan.
Deze handleiding laat zien hoe u deze REST API's gebruikt met cURL. U kunt ook een HTTP-aanvraagservice, zoals de REST-client voor Visual Studio Code, gebruiken om de aanvragen te maken.
Notitie
Pushmeldingen zijn afhankelijk van de optionele parameter notificationQueueUri in de CreateProject-API en voor modelback-ups moet u ook de optionele parameter exportModelContainerUri gebruiken. Deze handleiding gebruikt beide voor de volledige set functies.
Vereisten
- Een Azure Custom Vision-resource. Als u nog geen resource hebt, gaat u naar Azure Portal en maakt u een nieuwe Custom Vision-resource.
Notitie
Deze functie biedt geen ondersteuning voor de resource voor meerdere services van Azure AI-services.
- Een Azure Storage-account met een blobcontainer. Volg de quickstart voor Storage als u hulp nodig hebt bij deze stap.
- PowerShell versie 6.0+ of een vergelijkbare opdrachtregeltoepassing.
Integratie van Azure Storage instellen
Ga naar uw Custom Vision-trainingsresource in Azure Portal, selecteer de pagina Identiteit en schakel door het systeem toegewezen beheerde identiteit in.
Ga vervolgens naar uw opslagresource in Azure Portal. Ga naar de pagina Toegangsbeheer (IAM) en selecteer Roltoewijzing toevoegen (preview). Voeg vervolgens een roltoewijzing toe voor een integratiefunctie of beide:
- Als u van plan bent om de back-upfunctie van het model te gebruiken, selecteert u de rol Inzender voor opslagblobgegevens en voegt u uw Custom Vision-trainingsresource toe als lid. Selecteer Beoordelen en toewijzen om te voltooien.
- Als u van plan bent om de functie voor de meldingswachtrij te gebruiken, selecteert u de rol Inzender voor opslagwachtrijgegevens en voegt u uw Custom Vision-trainingsresource toe als lid. Selecteer Beoordelen en toewijzen om te voltooien.
Zie Azure-rollen toewijzen met behulp van Azure Portal voor hulp bij roltoewijzingen.
Integratie-URL's ophalen
Vervolgens krijgt u de URL's waarmee uw Custom Vision-resource toegang heeft tot deze eindpunten.
Ga voor de integratie-URL van de meldingswachtrij naar de pagina Wachtrijen van uw opslagaccount, voeg een nieuwe wachtrij toe en sla de URL op een tijdelijke locatie op.
Ga voor de INTEGRATIE-URL voor modelback-ups naar de pagina Containers van uw opslagaccount en maak een nieuwe container. Selecteer deze en ga naar de pagina Eigenschappen . Kopieer de URL naar een tijdelijke locatie.
Een Custom Vision-project integreren
Nu u de integratie-URL's hebt, kunt u een nieuw Custom Vision-project maken dat de Azure Storage-functies integreert. U kunt ook een bestaand project bijwerken om de functies toe te voegen.
Wanneer u de CreateProject-API aanroept, voegt u de optionele parameters exportModelContainerUri en notificationQueueUri toe. Wijs de URL-waarden toe die u in de vorige sectie hebt gekregen.
curl -v -X POST "{endpoint}/customvision/v3.3/Training/projects?exportModelContainerUri={inputUri}¬ificationQueueUri={inputUri}&name={inputName}"
-H "Training-key: {subscription key}"
Als u een 200/OK
antwoord ontvangt, betekent dit dat de URL's zijn ingesteld. U ziet ook uw URL-waarden in het JSON-antwoord:
{
"id": "00000000-0000-0000-0000-000000000000",
"name": "string",
"description": "string",
"settings": {
"domainId": "00000000-0000-0000-0000-000000000000",
"classificationType": "Multiclass",
"targetExportPlatforms": [
"CoreML"
],
"useNegativeSet": true,
"detectionParameters": "string",
"imageProcessingSettings": {
"augmentationMethods": {}
},
"exportModelContainerUri": {url}
"notificationQueueUri": {url}
},
"created": "string",
"lastModified": "string",
"thumbnailUri": "string",
"drModeEnabled": true,
"status": "Succeeded"
}
De verbinding controleren
Uw API-aanroep in de vorige sectie moet al nieuwe informatie hebben geactiveerd in uw Azure-opslagaccount.
In uw aangewezen container moet er een test-blob in een map CustomVision-TestPermission zijn. Deze blob bestaat alleen tijdelijk.
In de meldingswachtrij ziet u een testmelding in de volgende indeling:
{
"version": "1.0" ,
"type": "ConnectionTest",
"Content":
{
"projectId": "00000000-0000-0000-0000-000000000000"
}
}
Gebeurtenismeldingen ophalen
Wanneer u klaar bent, roept u de TrainProject-API in uw project aan om een gewone trainingsbewerking uit te voeren.
In de opslagmeldingswachtrij ontvangt u een melding zodra de training is voltooid:
{
"version": "1.0" ,
"type": "Training",
"Content":
{
"projectId": "00000000-0000-0000-0000-000000000000",
"iterationId": "00000000-0000-0000-0000-000000000000",
"trainingStatus": "TrainingCompleted"
}
}
Het "trainingStatus"
veld kan een "TrainingCompleted"
of "TrainingFailed"
. Het "iterationId"
veld is de id van het getrainde model.
Back-ups van modelexport ophalen
Wanneer u klaar bent, roept u de ExportIteration-API aan om een getraind model te exporteren naar een opgegeven platform.
In uw aangewezen opslagcontainer wordt een back-upkopie van het geëxporteerde model weergegeven. De naam van de blob heeft de volgende indeling:
{projectId} - {iterationId}.{platformType}
U ontvangt ook een melding in uw wachtrij wanneer de export is voltooid.
{
"version": "1.0" ,
"type": "Export",
"Content":
{
"projectId": "00000000-0000-0000-0000-000000000000",
"iterationId": "00000000-0000-0000-0000-000000000000",
"exportStatus": "ExportCompleted",
"modelUri": {url}
}
}
Het "exportStatus"
veld kan een "ExportCompleted"
of "ExportFailed"
. Het "modelUri"
veld bevat de URL van het back-upmodel dat is opgeslagen in uw container, ervan uitgaande dat u in het begin wachtrijmeldingen hebt geïntegreerd. Als u dit niet hebt gedaan, wordt in het "modelUri"
veld de SAS-URL voor uw Custom Vision-modelblob weergegeven.
Volgende stappen
In deze handleiding hebt u geleerd hoe u een project tussen Custom Vision-resources kopieert en er een back-up van maakt. Bekijk vervolgens de API-referentiedocumenten om te zien wat u nog meer kunt doen met Custom Vision.