Copia y copia de seguridad de sus proyectos de Custom Vision

Después de crear y entrenar un proyecto de Custom Vision, puede que quiera copiar el proyecto en otro recurso. Si su aplicación o empresa depende de un proyecto de Custom Vision, se recomienda copiar el modelo en otra cuenta de Custom Vision de otra región. Si se produce una interrupción regional, puede acceder al modelo en la región donde lo copió.

Las API ExportProject y ImportProject habilitan este escenario permitiéndole copiar proyectos de una cuenta de Custom Vision en otras. En esta guía se muestra cómo usar las API de REST con cURL. También puede usar un servicio de solicitud HTTP, como el cliente REST para Visual Studio Code, para emitir las solicitudes.

Sugerencia

Para obtener un ejemplo de este escenario mediante la biblioteca cliente de Python, consulte el repositorio Move Custom Vision Project en GitHub.

Sugerencia

Si quiere trasladar el proyecto de Custom Vision a Visión de Azure AI Image Analysis 4.0, vea la Guía de migración. Para comparar los dos servicios, consulte la página de estudio comparativo.

Requisitos previos

  • Dos recursos de Custom Vision de Azure AI. Si no los tiene, vaya a Azure Portal y cree un recurso de Custom Vision.
  • Las claves de entrenamiento y las direcciones URL del punto de conexión de los recursos de Custom Vision. Puede encontrar estos valores en la pestaña Información general del recurso en Azure Portal.
  • Un proyecto de Custom Vision ya creado. Consulte Creación de un clasificador para encontrar instrucciones sobre cómo hacerlo.

Información general del proceso

El proceso de copia de un proyecto consta de los siguientes pasos:

  1. En primer lugar, obtenga el id. del proyecto en la cuenta de origen que quiere copiar.
  2. Después, llame a la API ExportProject con el id. de proyecto y la clave de entrenamiento de la cuenta de origen. Obtendrá una cadena de token temporal.
  3. Después, llame a la API ImportProject con la cadena de token y la clave de entrenamiento de la cuenta de destino. El proyecto aparecerá en su cuenta de destino.

Obtención del id. de proyecto

En primer lugar, llame a GetProjects para ver una lista de los proyectos de Custom Vision existentes y sus id. Use la clave de entrenamiento y el punto de conexión de la cuenta de origen.

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

Obtendrá una respuesta 200\OK con una lista de proyectos y sus metadatos en el cuerpo. El valor "id" es la cadena que se debe copiar para los pasos siguientes.

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

Exportación del proyecto

Llame a ExportProject mediante el id. de proyecto y la clave de entrenamiento y punto de conexión del origen.

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

Obtendrá una respuesta 200/OK con metadatos sobre el proyecto exportado y una cadena de referencia "token". Copie el valor del token.

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

Sugerencia

Si recibe un error de "Token no válido" al importar el proyecto, podría deberse a que la cadena de dirección URL del token no está codificada en web. Puede codificar el token mediante un codificador de direcciones URL.

Importación del proyecto

Llame a ImportProject con la clave de entrenamiento y el punto de conexión de destino, junto con el token de referencia. También puede asignar un nombre a su proyecto en su cuenta nueva.

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"

Obtendrá una respuesta 200/OK con metadatos sobre el proyecto recién 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"
}

Pasos siguientes

En esta guía, aprendió a copiar y trasladar un proyecto entre recursos de Custom Vision. A continuación, consulte los documentos de referencia de la API para ver qué más puede hacer con Custom Vision.