Copier et sauvegarder vos projets Custom Vision

Une fois que vous avez créé et formé un projet Custom Vision, vous souhaiterez peut-être copier votre projet vers une autre ressource. Si votre application ou votre entreprise dépend d’un projet Custom Vision, nous vous recommandons de copier votre modèle dans un autre compte Custom Vision dans une autre région. Puis, en cas de panne régionale, vous pouvez accéder à votre projet dans la région où il a été copié.

Les API ExportProject et ImportProject rendent ce scénario possible en vous permettant de copier des projets d’un compte Custom Vision vers d’autres. Ce guide vous montre comment utiliser ces API REST avec cURL. Vous pouvez également utiliser un service de requête HTTP, comme le client REST pour Visual Studio Code, pour effectuer les requêtes.

Conseil

Pour obtenir un exemple de ce scénario à l’aide de la bibliothèque de client Python, consultez le dépôt de projet Move Custom Vision sur GitHub.

Conseil

Si vous voulez déplacer votre projet Custom Vision vers Azure AI Vision - Analyse d’image 4.0, consultez le Guide de migration. Pour comparer les deux services, consultez la page Comparaison.

Prérequis

  • Deux ressources Azure AI Custom Vision. Si vous n’en avez pas, accédez au Portail Azure et créez une nouvelle ressource Custom Vision.
  • Les clés de formation et les URL de point de terminaison de vos ressources Custom Vision. Ces valeurs se trouvent sous l’onglet Vue d’ensemble de la ressource sur le portail Azure.
  • Un projet Custom Vision créé. Pour obtenir des instructions sur la façon de procéder, consultez Créer un classifieur.

Vue d’ensemble du processus

Le processus de copie d’un projet se compose des étapes suivantes :

  1. Tout d’abord, vous récupérez l’ID du projet que vous souhaitez copier dans votre compte source.
  2. Ensuite, vous appelez l’API ExportProject à l’aide de l’ID de projet et de la clé de formation de votre compte source. Vous obtiendrez une chaîne de jeton temporaire.
  3. Ensuite, vous appelez l’API ImportProject à l’aide de la chaîne de jeton et de la clé de formation de votre compte cible. Le projet est alors répertorié sous votre compte cible.

Obtenir l'ID de projet

Tout d’abord, appelez GetProjects pour afficher la liste de vos projets Custom Vision existants et leurs ID. Utilisez la clé de formation et le point de terminaison de votre compte source.

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

Vous obtiendrez une réponse 200\OK avec une liste de projets et leurs métadonnées dans le corps. La valeur "id" est la chaîne à copier pour les étapes suivantes.

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

Exporter le projet

Appelez ExportProject à l’aide de l’ID de projet et de la clé et du point de terminaison de formation sources.

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

Vous obtiendrez une réponse 200/OK avec les métadonnées sur le projet exporté et une chaîne de référence "token". Copiez la valeur du jeton.

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

Conseil

Si vous recevez une erreur « Jeton non valide » quand vous importez votre projet, il se peut que la chaîne d’URL du jeton ne soit pas encodée web. Vous pouvez encoder le jeton à l’aide d’un encodeur d’URL.

Importer le projet

Appelez ImportProject à l’aide de votre clé et de votre point de terminaison de formation cibles, ainsi que le jeton de référence. Vous pouvez également attribuer un nom à votre projet dans son nouveau compte.

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"

Vous obtiendrez une réponse 200/OK avec les métadonnées relatives à votre projet nouvellement importé.

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

Étapes suivantes

Dans ce guide, vous avez appris à copier et déplacer un projet entre des ressources Custom Vision. Explorez à présent la documentation de référence sur les API pour voir ce que vous pouvez faire d’autre avec Custom Vision.