Copiar projetos de Visão Personalizada e fazer backup deles

Depois de criar e treinar um projeto de Visão Personalizada, é recomendável copiar o projeto para outro recurso. Se o seu aplicativo ou negócio depende de um projeto de Visão Personalizada, recomendamos copiar o modelo para outra conta de Visão Personalizada em outra região. Dessa forma, se ocorrer uma interrupção regional, será possível acessar su projeto na região onde ele foi copiado.

As APIs ExportProject e ImportProject habilitam esse cenário permitindo a cópia de 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 REST Cliente para Visual Studio Code, para emitir as solicitações.

Dica

Para ver um exemplo desse cenário usando a biblioteca de clientes do Python, confira o repositório Move Custom Vision Project no GitHub.

Dica

Se você quiser mover seu projeto de Visão Personalizada para a Análise de Imagem da Visão de IA do Azure 4.0, consulte o guia de Migração . Para comparar os dois serviços, confira a página de comparação.

Pré-requisitos

  • Dois recursos de Visão Personalizada da IA do Azure. Caso não tenha um, acesse o portal do Azure e crie um recurso de Visão Personalizada.
  • As chaves de treinamento e as URLs de ponto de extremidade dos seus recursos de Visão Personalizada. Esses valores estão disponíveis 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.

Visão geral do processo

O processo para copiar um modelo personalizado consiste nas seguintes etapas:

  1. Primeiro, você obtém a ID do projeto na sua conta de origem que deseja copiar.
  2. Em seguida, chame a API ExportProject usando a ID do projeto e a chave de treinamento da sua conta de origem. Você obterá uma cadeia de caracteres de token temporária.
  3. Em seguida, chame 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 a ID do projeto

Primeiro, chame 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 de sua conta de origem.

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

Você receberá uma resposta 200\OK com uma lista de projetos e seus metadados no corpo. O valor "id" é 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"
  }
]

Importar 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 resposta 200/OK com metadados sobre o projeto exportado e uma cadeia de caracteres de referência "token". Copie o valor do token.

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

Dica

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

Importar o projeto

Chame ImportProject usando a chave de treinamento de destino e o ponto de extremidade, juntamente com o token de referência. Também é possível dar 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 resposta 200/OK com metadados sobre seu projeto importado recentemente.

{
  "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óximas etapas

Neste guia, você aprendeu a copiar e mover um projeto entre os recursos de Visão Personalizada. Agora, explore os docs de referência de API para saber o que mais é possível fazer com a Visão Personalizada.