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
etOpenVino
. - Le paramètre de saveur spécifie le format du modèle exporté : les valeurs autorisées sont
Linux
,Windows
,ONNX10
,ONNX12
,ARM
,TensorFlowNormal
etTensorFlowLite
. - 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 :
- Utiliser votre modèle Tensorflow avec Python
- Utiliser votre modèle ONNX avec Windows Machine Learning
- Voir l’exemple de modèle CoreML dans une application iOS pour une classification des images en temps réel avec Swift.
- Voir l’exemple de modèle Tensorflow dans une application Android pour une classification des images en temps réel sur Android.
- Voir l’exemple de modèle CoreML avec Xamarin pour une classification des images en temps réel dans une application Xamarin iOS.
- Consultez l’exemple pour découvrir comment utiliser le modèle exporté (VAIDK/OpenVino)