Kopiowanie i tworzenie kopii zapasowej projektów usługi Custom Vision

Po utworzeniu i wytrenowanym projekcie usługi Custom Vision możesz skopiować projekt do innego zasobu. Jeśli twoja aplikacja lub firma zależy od projektu usługi Custom Vision, zalecamy skopiowanie modelu do innego konta usługi Custom Vision w innym regionie. Jeśli wystąpi awaria regionalna, możesz uzyskać dostęp do projektu w regionie, w którym został skopiowany.

Interfejsy API ExportProject i ImportProject umożliwiają kopiowanie projektów z jednego konta usługi Custom Vision do innych. W tym przewodniku pokazano, jak używać tych interfejsów API REST z biblioteką cURL. Możesz również użyć usługi żądań HTTP, takiej jak klient REST dla programu Visual Studio Code, do wystawiania żądań.

Napiwek

Aby zapoznać się z przykładem tego scenariusza korzystającego z biblioteki klienta języka Python, zobacz repozytorium Move Custom Vision Project (Przenoszenie projektu custom vision) w witrynie GitHub.

Napiwek

Jeśli chcesz przenieść projekt usługi Custom Vision do usługi Azure AI Vision Image Analysis 4.0, zobacz Przewodnik migracji. Aby porównać te dwie usługi, zobacz stronę Porównanie.

Wymagania wstępne

  • Dwa zasoby usługi Azure AI Custom Vision. Jeśli ich nie masz, przejdź do witryny Azure Portal i utwórz nowy zasób usługi Custom Vision.
  • Klucze trenowania i adresy URL punktów końcowych zasobów usługi Custom Vision. Te wartości można znaleźć na karcie Przegląd zasobu w witrynie Azure Portal.
  • Utworzony projekt usługi Custom Vision. Aby uzyskać instrukcje dotyczące tego, jak to zrobić, zobacz Tworzenie klasyfikatora .

Omówienie procesu

Proces kopiowania projektu składa się z następujących kroków:

  1. Najpierw uzyskasz identyfikator projektu na koncie źródłowym, które chcesz skopiować.
  2. Następnie wywołasz interfejs API ExportProject przy użyciu identyfikatora projektu i klucza trenowania konta źródłowego. Otrzymasz tymczasowy ciąg tokenu.
  3. Następnie wywołasz interfejs API ImportProject przy użyciu ciągu tokenu i klucza trenowania konta docelowego. Projekt zostanie wyświetlony na twoim koncie docelowym.

Pobieranie identyfikatora projektu

Najpierw wywołaj metodę GetProjects , aby wyświetlić listę istniejących projektów usługi Custom Vision i ich identyfikatorów. Użyj klucza trenowania i punktu końcowego konta źródłowego.

curl -v -X GET "{endpoint}/customvision/v3.3/Training/projects"
-H "Training-key: {training key}"

Otrzymasz 200\OK odpowiedź z listą projektów i ich metadanych w treści. Wartość "id" to ciąg do skopiowania na potrzeby następnych kroków.

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

Eksportowanie projektu

Wywołaj metodę ExportProject przy użyciu identyfikatora projektu oraz źródłowego klucza trenowania i punktu końcowego.

curl -v -X GET "{endpoint}/customvision/v3.3/Training/projects/{projectId}/export"
-H "Training-key: {training key}"

Otrzymasz 200/OK odpowiedź z metadanymi dotyczącymi wyeksportowanego projektu i ciągu "token"odwołania . Skopiuj wartość tokenu.

{
  "iterationCount": 0,
  "imageCount": 0,
  "tagCount": 0,
  "regionCount": 0,
  "estimatedImportTimeInMS": 0,
  "token": "string"
}

Napiwek

Jeśli podczas importowania projektu wystąpi błąd "Nieprawidłowy token", może to oznaczać, że ciąg adresu URL tokenu nie jest zakodowany w Internecie. Token można zakodować przy użyciu kodera adresów URL.

Importowanie projektu

Wywołaj metodę ImportProject przy użyciu docelowego klucza trenowania i punktu końcowego wraz z tokenem referencyjnym. Możesz również nadać projektowi nazwę na swoim nowym koncie.

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"

Otrzymasz 200/OK odpowiedź z metadanymi dotyczącymi nowo zaimportowanego projektu.

{
  "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"
}

Następne kroki

W tym przewodniku przedstawiono sposób kopiowania i przenoszenia projektu między zasobami usługi Custom Vision. Następnie zapoznaj się z dokumentacją referencyjną interfejsu API, aby zobaczyć, co jeszcze można zrobić za pomocą usługi Custom Vision.