Copie e faça backup de seus projetos de Visão Personalizada

Depois de criar e treinar um projeto de Visão Personalizada, convém copiar seu projeto para outro recurso. Se seu aplicativo ou empresa depender de um projeto de Visão Personalizada, recomendamos que você copie seu modelo para outra conta de Visão Personalizada em outra região. Em seguida, se ocorrer uma interrupção regional, você poderá acessar seu projeto na região onde ele foi copiado.

As APIs ExportProject e ImportProject habilitam esse cenário, permitindo que você copie projetos de uma conta de Visão Personalizada para outras. Este guia mostra como usar essas APIs REST com cURL. Você também pode usar um serviço de solicitação HTTP, como o cliente REST para Visual Studio Code, para emitir as solicitações.

Gorjeta

Para obter um exemplo desse cenário usando a biblioteca de cliente Python, consulte o repositório Move Custom Vision Project no GitHub.

Gorjeta

Se você quiser mover seu projeto de Visão Personalizada para o Azure AI Vision Image Analysis 4.0, consulte o Guia de migração. Para comparar os dois serviços, consulte a página Comparação.

Pré-requisitos

  • Dois recursos da Visão Personalizada de IA do Azure. Se não os tiver, aceda ao portal do Azure e crie um novo recurso de Visão Personalizada.
  • As chaves de treinamento e URLs de ponto de extremidade de seus recursos de Visão Personalizada. Você pode encontrar esses valores na guia Visão geral do recurso no portal do Azure.
  • Um projeto de Visão Personalizada criado. Consulte Criar um classificador para obter instruções sobre como fazer isso.

Descrição geral do processo

O processo para copiar um projeto consiste nas seguintes etapas:

  1. Primeiro, você obtém o ID do projeto em sua conta de origem que deseja copiar.
  2. Em seguida, você chama a API ExportProject usando a ID do projeto e a chave de treinamento da sua conta de origem. Você receberá uma cadeia de caracteres de token temporária.
  3. Em seguida, você chama a API ImportProject usando a cadeia de caracteres de token e a chave de treinamento da sua conta de destino. O projeto será então listado na sua conta de destino.

Obter o ID do projeto

Primeiro, ligue para GetProjects para ver uma lista de seus projetos de Visão Personalizada existentes e suas IDs. Use a chave de treinamento e o ponto de extremidade da sua conta de origem.

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

Você receberá uma 200\OK resposta com uma lista de projetos e seus metadados no corpo. O "id" valor é a cadeia de caracteres a ser copiada para as próximas etapas.

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

Exportar o projeto

Chame ExportProject usando a ID do projeto e sua chave de treinamento de origem e ponto de extremidade.

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

Você receberá uma 200/OK resposta com metadados sobre o projeto exportado e uma cadeia de caracteres de "token"referência. Copie o valor do token.

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

Gorjeta

Se você receber um erro "Token inválido" ao importar seu projeto, pode ser que a cadeia de caracteres de URL do token não esteja codificada na Web. Você pode codificar o token usando um codificador de URL.

Importar o projeto

Chame o ImportProject usando sua chave de treinamento e ponto de extremidade de destino, juntamente com o token de referência. Também pode atribuir um nome ao seu projeto na sua nova conta.

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"

Você receberá uma 200/OK resposta com metadados sobre seu projeto recém-importado.

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

Próximos passos

Neste guia, você aprendeu como copiar e mover um projeto entre recursos da Visão Personalizada. Em seguida, explore os documentos de referência da API para ver o que mais você pode fazer com a Visão Personalizada.