Partage via


Exporter un modèle par programmation

Toutes les options d’exportation disponibles sur le site web Custom Vision sont également disponibles par programmation par le biais des bibliothèques de clients. Vous pouvez utiliser des bibliothèques de clients pour automatiser entièrement le processus de reformation et de mise à jour de l’itération de modèle que vous utilisez sur un appareil local.

Ce guide vous montre comment exporter votre modèle vers un fichier ONNX avec le kit de développement logiciel (SDK) Python.

Créer un client de formation

Vous devez avoir un objet CustomVisionTrainingClient pour exporter une itération de modèles. Créez des variables pour vos points de terminaisons et clés Azure des ressources de formation Custom Vision et utilisez-les pour créer l’objet client.

ENDPOINT = "PASTE_YOUR_CUSTOM_VISION_TRAINING_ENDPOINT_HERE"
training_key = "PASTE_YOUR_CUSTOM_VISION_TRAINING_KEY_HERE"

credentials = ApiKeyCredentials(in_headers={"Training-key": training_key})
trainer = CustomVisionTrainingClient(ENDPOINT, credentials)

Important

N’oubliez pas de supprimer les clés de votre code une fois que vous avez terminé et ne les postez jamais publiquement. Pour la production, envisagez d’utiliser une méthode de stockage et d’accès sécurisée pour vos informations d’identification. Pour plus d’informations, consultez l’article Sécurité d’Azure AI services.

Appeler la méthode d’exportation

Appelez la méthode export_iteration.

  • Fournissez l’ID de projet, l’ID d’itération du modèle que vous souhaitez exporter.
  • Le paramètre de plateforme spécifie la plateforme à exporter vers : les valeurs autorisées sont CoreML, TensorFlow, DockerFile, ONNX, VAIDK et OpenVino.
  • Le paramètre de saveur spécifie le format du modèle exporté : les valeurs autorisées sont Linux, Windows, ONNX10, ONNX12, ARM, TensorFlowNormal et TensorFlowLite.
  • Le paramètre brut vous donne la possibilité de récupérer la réponse JSON brute avec la réponse du modèle objet.
project_id = "PASTE_YOUR_PROJECT_ID"
iteration_id = "PASTE_YOUR_ITERATION_ID"
platform = "ONNX"
flavor = "ONNX10"
export = trainer.export_iteration(project_id, iteration_id, platform, flavor, raw=False)

Pour plus d’informations, consultez la section export_Iteration .

Important

Si vous avez déjà exporté une itération particulière, vous ne pouvez pas appeler à nouveau la méthode export_iteration. Passez à l’appel de méthode get_exports pour obtenir un lien vers votre modèle exporté existant.

Télécharger le modèle exporté

Appelez ensuite la méthode get_exports pour vérifier l’état de l’opération d’exportation. L’opération s’exécute de façon asynchrone. Vous devez donc interroger cette méthode jusqu’à ce que l’opération se termine. Une fois l’opération terminée, vous pouvez récupérer l’URI où vous pouvez télécharger l’itération du modèle sur votre appareil.

while (export.status == "Exporting"):
    print ("Waiting 10 seconds...")
    time.sleep(10)
    exports = trainer.get_exports(project_id, iteration_id)
    # Locate the export for this iteration and check its status  
    for e in exports:
        if e.platform == export.platform and e.flavor == export.flavor:
            export = e
            break
    print("Export status is: ", export.status)

Pour plus d'informations, consultez la méthode get_exports .

Vous pouvez ensuite télécharger par programmation le modèle exporté vers un emplacement sur votre appareil.

if export.status == "Done":
    # Success, now we can download it
    export_file = requests.get(export.download_uri)
    with open("export.zip", "wb") as file:
        file.write(export_file.content)

Étapes suivantes

Intégrer votre modèle exporté dans une application en explorant un des articles ou exemples suivants :