Exportera en modell programmatiskt

Alla exportalternativ som är tillgängliga på Custom Vision-webbplatsen är också tillgängliga programmatiskt via klientbiblioteken. Du kanske vill använda klientbibliotek så att du kan automatisera omträningsprocessen och uppdatera den modell-iteration som du använder på en lokal enhet.

Den här guiden visar hur du exporterar din modell till en ONNX-fil med Python SDK.

Skapa en träningsklient

Du måste ha ett CustomVisionTrainingClient-objekt för att exportera en modell-iteration. Skapa variabler för dina Custom Vision-träningsresurser Azure-slutpunkt och nycklar och använd dem för att skapa klientobjektet.

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)

Viktigt!

Kom ihåg att ta bort nycklarna från koden när du är klar och publicera dem aldrig offentligt. För produktion bör du överväga att använda ett säkert sätt att lagra och komma åt dina autentiseringsuppgifter. Mer information finns i artikeln om Säkerhet för Azure AI-tjänster.

Anropa exportmetoden

Anropa metoden export_iteration .

  • Ange projekt-ID, iterations-ID för den modell som du vill exportera.
  • Plattformsparametern anger vilken plattform som ska exporteras till: tillåtna värden är CoreML, TensorFlow, DockerFile, ONNX, VAIDKoch OpenVino.
  • Parametern flavor anger formatet för den exporterade modellen: tillåtna värden är Linux, Windows, , ONNX10ONNX12, ARM, , TensorFlowNormaloch TensorFlowLite .
  • Med råparametern kan du hämta det råa JSON-svaret tillsammans med objektmodellsvaret.
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)

Mer information finns i metoden export_iteration .

Viktigt!

Om du redan har exporterat en viss iteration kan du inte anropa metoden export_iteration igen. Hoppa i stället vidare till get_exports-metodanropet för att hämta en länk till din befintliga exporterade modell.

Ladda ned den exporterade modellen

Därefter anropar du metoden get_exports för att kontrollera status för exportåtgärden. Åtgärden körs asynkront, så du bör avsöka den här metoden tills åtgärden har slutförts. När den är klar kan du hämta URI:n där du kan ladda ned modell-iterationen till enheten.

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)

Mer information finns i metoden get_exports .

Sedan kan du programmatiskt ladda ned den exporterade modellen till en plats på enheten.

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)

Nästa steg

Integrera din exporterade modell i ett program genom att utforska någon av följande artiklar eller exempel: