Share via


Modell programozott exportálása

A Custom Vision webhelyén elérhető összes exportálási lehetőség programozott módon is elérhető az ügyfélkódtárakon keresztül. Érdemes lehet ügyfélkódtárakat használnia, hogy teljes mértékben automatizálhassa a helyi eszközön használt modell iterációjának újratanítását és frissítését.

Ez az útmutató bemutatja, hogyan exportálhatja a modellt egy ONNX-fájlba a Python SDK-val.

Betanítási ügyfél létrehozása

A modell iterációinak exportálásához CustomVisionTrainingClient objektummal kell rendelkeznie. Hozzon létre változókat a Custom Vision betanítási erőforrásaihoz azure-végponthoz és kulcsokhoz, és használja őket az ügyfélobjektum létrehozásához.

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)

Fontos

Ne felejtse el eltávolítani a kulcsokat a kódból, amikor elkészült, és soha ne tegye közzé őket nyilvánosan. Éles környezetben fontolja meg a hitelesítő adatok biztonságos tárolását és elérését. További információkért tekintse meg az Azure AI-szolgáltatások biztonsági cikkét.

Az exportálási módszer meghívása

Hívja meg a export_iteration metódust.

  • Adja meg az exportálni kívánt modell projektazonosítóját és iterációs azonosítóját.
  • A platformparaméter a következő platformra exportálandó platformot adja meg: engedélyezett értékek: CoreML, TensorFlow, DockerFile, ONNX, VAIDKés OpenVino.
  • Az ízparaméter az exportált modell formátumát adja meg: az engedélyezett értékek a következők Linux: , Windows, ONNX10, ONNX12, ARM, TensorFlowNormalés TensorFlowLite.
  • A nyers paraméter lehetővé teszi a nyers JSON-válasz és az objektummodell válaszának lekérését.
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)

További információ: export_iteration metódus.

Fontos

Ha már exportált egy adott iterációt, nem hívhatja meg újra a export_iteration metódust. Ehelyett ugorjon tovább a get_exports metódushívásra, hogy a meglévő exportált modellre mutató hivatkozást kapjon.

Az exportált modell letöltése

Ezután meghívja a get_exports metódust az exportálási művelet állapotának ellenőrzéséhez. A művelet aszinkron módon fut, ezért a művelet befejezéséig le kell kérdeznie ezt a metódust. Ha befejeződött, lekérheti az URI-t, ahol letöltheti a modell iterációját az eszközére.

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)

További információ: get_exports metódus.

Ezután programozott módon letöltheti az exportált modellt az eszköz egy helyére.

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)

Következő lépések

Az exportált modell integrálása egy alkalmazásba az alábbi cikkek vagy minták egyikének feltárásával: