Integrace úložiště Azure pro oznámení a zálohování
Projekt Custom Vision můžete integrovat s frontou úložiště objektů blob v Azure, abyste získali nabízená oznámení o aktivitě trénování a exportu projektu. Tato funkce je užitečná, abyste se vyhnuli neustálému dotazování služby na výsledky, když jsou spuštěné dlouhé operace. Místo toho můžete do pracovního postupu integrovat oznámení fronty úložiště.
Úložiště Azure můžete také použít k ukládání záložních kopií publikovaných modelů.
V této příručce se dozvíte, jak tato rozhraní REST API používat s cURL. K provádění požadavků můžete také použít službu požadavků HTTP, jako je klient REST pro Visual Studio Code.
Poznámka:
Nabízená oznámení závisí na volitelném parametru notificationQueueUri v rozhraní CreateProject API a zálohy modelů vyžadují, abyste také použili volitelný parametr exportModelContainerUri . Tato příručka bude používat obě sady funkcí.
Požadavky
- Prostředek Služby Azure Custom Vision Pokud ho nemáte, přejděte na web Azure Portal a vytvořte nový prostředek Custom Vision.
Poznámka:
Tato funkce nepodporuje prostředek služeb Azure AI s více službami.
- Účet Azure Storage s kontejnerem objektů blob. Pokud potřebujete pomoc s tímto krokem, postupujte podle rychlého startu služby Storage.
- PowerShell verze 6.0 nebo podobná aplikace příkazového řádku
Nastavení integrace úložiště Azure
Na webu Azure Portal přejděte k vašemu prostředku pro trénování služby Custom Vision, vyberte stránku Identita a povolte spravovanou identitu přiřazenou systémem.
V dalším kroku přejděte na webu Azure Portal k prostředku úložiště. Přejděte na stránku Řízení přístupu (IAM) a vyberte Přidat přiřazení role (Preview). Pak přidejte přiřazení role pro buď funkci integrace, nebo obojí:
- Pokud plánujete použít funkci zálohování modelu, vyberte roli Přispěvatel dat v objektech blob služby Storage a přidejte váš trénovací prostředek služby Custom Vision jako člen. Dokončete výběr možnosti Zkontrolovat a přiřadit .
- Pokud plánujete používat funkci fronty oznámení, vyberte roli Přispěvatel dat fronty služby Storage a přidejte váš trénovací prostředek služby Custom Vision jako člen. Dokončete výběr možnosti Zkontrolovat a přiřadit .
Nápovědu k přiřazení rolí najdete v tématu Přiřazení rolí Azure pomocí webu Azure Portal.
Získání adres URL integrace
Dále získáte adresy URL, které vašemu prostředku Custom Vision umožňují přístup k těmto koncovým bodům.
Pro adresu URL integrace front oznámení přejděte na stránku Fronty vašeho účtu úložiště, přidejte novou frontu a uložte její adresu URL do dočasného umístění.
Pro adresu URL integrace zálohování modelu přejděte na stránku Kontejnery vašeho účtu úložiště a vytvořte nový kontejner. Pak ho vyberte a přejděte na stránku Vlastnosti . Zkopírujte adresu URL do dočasného umístění.
Integrace projektu Custom Vision
Teď, když máte adresy URL integrace, můžete vytvořit nový projekt Custom Vision, který integruje funkce Azure Storage. Můžete také aktualizovat existující projekt a přidat funkce.
Při volání rozhraní CreateProject API přidejte volitelné parametry exportModelContainerUri a notificationQueueUri. Přiřaďte hodnoty adresy URL, které jste získali v předchozí části.
curl -v -X POST "{endpoint}/customvision/v3.3/Training/projects?exportModelContainerUri={inputUri}¬ificationQueueUri={inputUri}&name={inputName}"
-H "Training-key: {subscription key}"
Pokud obdržíte 200/OK
odpověď, znamená to, že adresy URL byly úspěšně nastaveny. Hodnoty adres URL byste měli vidět také v odpovědi JSON:
{
"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"
}
Ověření připojení
Vaše volání rozhraní API v předchozí části by už mělo aktivovat nové informace ve vašem účtu úložiště Azure.
V určeném kontejneru by měl být testovací objekt blob uvnitř složky CustomVision-TestPermission . Tento objekt blob bude existovat pouze dočasně.
Ve frontě oznámení byste měli vidět testovací oznámení v následujícím formátu:
{
"version": "1.0" ,
"type": "ConnectionTest",
"Content":
{
"projectId": "00000000-0000-0000-0000-000000000000"
}
}
Získání oznámení o událostech
Až budete připravení, zavolejte na projekt rozhraní API TrainProject , abyste mohli provést běžnou operaci trénování.
Ve frontě oznámení služby Storage obdržíte oznámení po dokončení trénování:
{
"version": "1.0" ,
"type": "Training",
"Content":
{
"projectId": "00000000-0000-0000-0000-000000000000",
"iterationId": "00000000-0000-0000-0000-000000000000",
"trainingStatus": "TrainingCompleted"
}
}
Pole "trainingStatus"
může být buď "TrainingCompleted"
nebo "TrainingFailed"
. Pole "iterationId"
je ID vytrénovaného modelu.
Získání záloh exportu modelu
Až budete připravení, zavolejte rozhraní API ExportIteration pro export vytrénovaného modelu do zadané platformy.
V určeném kontejneru úložiště se zobrazí záložní kopie exportovaného modelu. Název objektu blob bude mít formát:
{projectId} - {iterationId}.{platformType}
Po dokončení exportu se také ve frontě zobrazí oznámení.
{
"version": "1.0" ,
"type": "Export",
"Content":
{
"projectId": "00000000-0000-0000-0000-000000000000",
"iterationId": "00000000-0000-0000-0000-000000000000",
"exportStatus": "ExportCompleted",
"modelUri": {url}
}
}
Pole "exportStatus"
může být buď "ExportCompleted"
nebo "ExportFailed"
. Pole "modelUri"
bude obsahovat adresu URL modelu zálohování uloženého v kontejneru za předpokladu, že jste integrovaná oznámení fronty na začátku. Pokud jste to neudělali, "modelUri"
zobrazí se v poli adresa URL SAS objektu blob modelu Služby Custom Vision.
Další krok
V této příručce jste se dozvěděli, jak kopírovat a zálohovat projekt mezi prostředky Služby Custom Vision. Dále prozkoumejte referenční dokumentaci k rozhraní API a podívejte se, co dalšího můžete s Custom Vision dělat.