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, VAIDKONNXa OpenVino.
  • Parametr příchuť určuje formát exportovaného modelu: povolené hodnoty jsou Linux, Windows, , ONNX10, ONNX12, ARMTensorFlowNormala TensorFlowLite.
  • 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)

Další kroky

Exportovaný model můžete integrovat do aplikace prozkoumáním některého z následujících článků nebo ukázek: