Copiare ed eseguire il backup dei progetti di Visione personalizzata
Dopo aver creato ed eseguito il training di un progetto di Visione personalizzata, è possibile copiare il progetto in un'altra risorsa. Se l'app o l'azienda dipende da un progetto di Visione personalizzata, è consigliabile copiare il modello in un altro account di Visione personalizzata in un'altra area. Successivamente, si verifica un'interruzione del servizio nell'area, è possibile accedere al progetto nell'area in cui è stato copiato.
Le API ExportProject e ImportProject consentono questo scenario consentendo di copiare progetti da un account Visione personalizzata ad altri. Questa guida illustra come usare queste API REST con cURL. È anche possibile usare un servizio di richiesta HTTP, ad esempio il client REST per Visual Studio Code, per emettere le richieste.
Suggerimento
Per un esempio di questo scenario usando la libreria client Python, vedere il repository Spostare il progetto di Visione personalizzata in GitHub.
Suggerimento
Per spostare il progetto di Visione personalizzata in Analisi delle immagini di Visione artificiale di Azure 4.0, vedere la guida alla migrazione. Per confrontare i due servizi, vedere la pagina di confronto.
Prerequisiti
- Due risorse di Visione personalizzata di Azure AI. Se non sono disponibili, andare al portale di Azure e creare una nuova risorsa di Visione personalizzata.
- Le chiavi di training e gli URL degli endpoint delle risorse di Visione personalizzata. È possibile trovare questi valori nella scheda Panoramica della risorsa nel portale di Azure.
- Un progetto di Visione personalizzata creato. Per istruzioni su come eseguire questa operazione, vedere Creare ed eseguire il training di un classificatore.
- PowerShell versione 6.0+ o un'utilità della riga di comando simile.
Panoramica processo
Il processo per copiare un progetto prevede i passaggi seguenti:
- Prima di tutto, si ottiene l'ID del progetto nell'account di origine da copiare.
- Chiamare quindi l'API ExportProject usando l'ID progetto e la chiave di training dell'account di origine. Si otterrà una stringa di token temporanea.
- Chiamare quindi l'API ImportProject usando la stringa di token e la chiave di training dell'account di destinazione. Il progetto verrà quindi elencato sotto l'account di destinazione.
Ottenere ID del progetto
Chiamare prima GetProjects per visualizzare un elenco dei progetti di Visione personalizzata esistenti e dei relativi ID. Usare la chiave di training e l'endpoint dell'account di origine.
curl -v -X GET "{endpoint}/customvision/v3.3/Training/projects"
-H "Training-key: {training key}"
Si otterrà una risposta 200\OK
con un elenco di progetti e i relativi metadati nel corpo. Il valore "id"
è la stringa da copiare per i passaggi successivi.
[
{
"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": {}
}
},
"created": "string",
"lastModified": "string",
"thumbnailUri": "string",
"drModeEnabled": true,
"status": "Succeeded"
}
]
Esportare il progetto
Chiamare ExportProject usando l'ID progetto e la chiave e l'endpoint di training di origine.
curl -v -X GET "{endpoint}/customvision/v3.3/Training/projects/{projectId}/export"
-H "Training-key: {training key}"
Si otterrà una risposta 200/OK
con i metadati relativi al progetto esportato e una stringa di riferimento "token"
. Copiare il valore del token.
{
"iterationCount": 0,
"imageCount": 0,
"tagCount": 0,
"regionCount": 0,
"estimatedImportTimeInMS": 0,
"token": "string"
}
Suggerimento
Se viene visualizzato un errore "Token non valido" quando si importa il progetto, è possibile che la stringa dell'URL del token non sia codificata sul Web. È possibile codificare il token usando un codificatore URL.
Importare il progetto
Chiamare ImportProject usando la chiave e l'endpoint di training di destinazione, insieme al token di riferimento. È anche possibile assegnare un nome al progetto nel nuovo account.
curl -v -G -X POST "{endpoint}/customvision/v3.3/Training/projects/import"
--data-urlencode "token={token}" --data-urlencode "name={name}"
-H "Training-key: {training key}" -H "Content-Length: 0"
Si otterrà una risposta 200/OK
con i metadati relativi al progetto appena importato.
{
"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": {}
}
},
"created": "string",
"lastModified": "string",
"thumbnailUri": "string",
"drModeEnabled": true,
"status": "Succeeded"
}
Passaggi successivi
In questa guida si è appreso come copiare e spostare un progetto tra le risorse di Visione personalizzata. Consultare, ora, la documentazione di riferimento delle API per informazioni su altre operazioni che è possibile eseguire con Visione personalizzata.