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
ésOpenVino
. - 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
ésTensorFlowLite
. - 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:
- A Tensorflow-modell használata a Pythonnal
- Az ONNX-modell használata a Windows Machine Tanulás
- Tekintse meg a CoreML-modell mintáját egy iOS-alkalmazásban a Swifttel való valós idejű képbesoroláshoz.
- Tekintse meg a Tensorflow-modell mintáját egy Android-alkalmazásban a valós idejű képbesoroláshoz Androidon.
- Tekintse meg a CoreML-modell mintáját xamarinnal a valós idejű képbesoroláshoz egy Xamarin iOS-alkalmazásban.
- Tekintse meg az exportált modell (VAIDK/OpenVino) használatát ismertető mintát