Programové exportování modelu
Všechny možnosti exportu, které jsou k dispozici na Custom Vision webu, je možné provést také programově prostřednictvím klientských knihoven. Můžete to udělat tak, abyste mohli plně automatizovat proces opětovného trénování a aktualizace iterace modelu, kterou používáte na místním zařízení.
Tato příručka ukazuje, 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 váš Custom Vision trénovací prostředky Azure koncový bod a klíče předplatného a použijte je k vytvoření objektu klienta.
ENDPOINT = "PASTE_YOUR_CUSTOM_VISION_TRAINING_ENDPOINT_HERE"
training_key = "PASTE_YOUR_CUSTOM_VISION_TRAINING_SUBSCRIPTION_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ž to bude hotové, a nikdy je ne zveřejníte. V produkčním prostředí zvažte použití zabezpečeného způsobu ukládání přihlašovacích údajů a přístupu k těmto přihlašovacím údajům. Další informace najdete v článku Cognitive Services zabezpečení.
Volání metody exportu
Zavolejte export_iteration.
- Zadejte ID projektu a ID iterace modelu, který chcete exportovat.
- Parametr platformy určuje platformu, do které se má exportovat: povolené hodnoty jsou
CoreML, , , , aTensorFlowDockerFileONNXVAIDKOpenVino. - Parametr flavor určuje formát exportovaného modelu: povolené hodnoty jsou
Linux, , , , , aWindowsONNX10ONNX12ARMTensorFlowNormalTensorFlowLite. - Parametr raw poskytuje možnost načíst nezpracovanou odpověď JSON spolu s odpovědí na objektový model.
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 export_iteration.
Stažení vyexportovaného modelu
Dále zavoláte metodu get_exports a zkontrolujete stav operace exportu. Operace se spouští asynchronně, takže byste měli tuto metodu dotazovat, dokud se operace nedokoní. Po dokončení můžete načíst identifikátor URI, kam si můžete stáhnout iteraci modelu do zařízení.
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 get_exports.
Exportovaný model pak můžete stáhnout prostřednictvím kódu programu do umístění na 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áváním jednoho z následujících článků nebo ukázek:
- Použití modelu Tensorflow s Pythonem
- Použití modelu ONNX s Windows Machine Learning
- V ukázce pro model CoreML v aplikaci pro iOS najdete informace o klasifikaci obrázků v reálném čase pomocí Swiftu.
- Podívejte se na ukázku modelu Tensorflow v aplikaci pro Android, která obsahuje klasifikaci obrázků v reálném čase na Androidu.
- Podívejte se na ukázku modelu CoreML s Xamarinem, ve které najdete informace o klasifikaci obrázků v reálném čase v aplikaci Xamarin pro iOS.