Export modelu prostřednictvím kódu programu
Všechny možnosti exportu dostupné na webu Custom Vision jsou také prostřednictvím klientských knihoven dostupné prostřednictvím kódu programu. Můžete chtít použít klientské knihovny, abyste mohli plně automatizovat proces opětovného trénování a aktualizace iterace modelu, který používáte na místním zařízení.
V této příručce se dozvíte, jak exportovat model do souboru ONNX pomocí sady Python SDK.
Vytvoření trénovacího klienta
K exportu iterace modelu potřebujete objekt CustomVisionTrainingClient . Vytvořte proměnné pro trénovací prostředky Služby Custom Vision v koncovém bodu a klíčích Azure a použijte je k vytvoření objektu klienta.
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)
Důležité
Nezapomeňte klíče z kódu odebrat, až budete hotovi, a nikdy je veřejně neposílejte. V produkčním prostředí zvažte použití zabezpečeného způsobu ukládání a přístupu k vašim přihlašovacím údajům. Další informace najdete v článku zabezpečení služeb Azure AI.
Volání metody exportu
Volejte metodu export_iteration .
- Zadejte ID projektu, ID iterace modelu, který chcete exportovat.
- Parametr platformy určuje platformu, do které se mají exportovat: povolené hodnoty jsou
CoreML
,TensorFlow
,DockerFile
,VAIDK
ONNX
aOpenVino
. - Parametr příchuť určuje formát exportovaného modelu: povolené hodnoty jsou
Linux
,Windows
, ,ONNX10
,ONNX12
,ARM
TensorFlowNormal
aTensorFlowLite
. - Nezpracovaný parametr nabízí možnost načíst nezpracovanou odpověď JSON spolu s odpovědí objektového modelu.
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)
Další informace najdete v metodě export_iteration .
Důležité
Pokud jste už exportovali konkrétní iteraci, nemůžete metodu export_iteration volat znovu. Místo toho přeskočte k volání metody get_exports a získejte odkaz na existující exportovaný model.
Stažení vyexportovaného modelu
Dále zavoláte metodu get_exports , která zkontroluje stav operace exportu. Operace běží asynchronně, takže byste měli tuto metodu dotazovat, dokud se operace neskončí. Po dokončení můžete načíst identifikátor URI, do kterého si můžete do zařízení stáhnout iteraci modelu.
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)
Další informace najdete v metodě get_exports .
Pak můžete model exportovaného kódu stáhnout do umístění na vašem zařízení.
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)
Související obsah
Exportovaný model můžete integrovat do aplikace prozkoumáním některého z následujících článků nebo ukázek:
- Použití modelu TensorFlow s Pythonem
- Použití modelu ONNX se službou Windows Machine Learning
- Podívejte se na ukázku modelu CoreML v aplikaci pro iOS pro klasifikaci obrázků v reálném čase pomocí Swiftu.
- Podívejte se na ukázku modelu TensorFlow v aplikaci pro Android pro klasifikaci obrázků v reálném čase v Androidu.
- Podívejte se na ukázku modelu CoreML s Xamarinem pro klasifikaci obrázků v reálném čase v aplikaci Xamarin pro iOS.
- Podívejte se na ukázku použití exportovaného modelu (VAIDK/OpenVino).