Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wszystkie opcje eksportu dostępne w witrynie internetowej usługi Custom Vision są również dostępne programowo za pośrednictwem bibliotek klienckich. Możesz użyć bibliotek klienckich, aby w pełni zautomatyzować proces ponownego trenowania i aktualizowania iteracji modelu używanej na urządzeniu lokalnym.
W tym przewodniku pokazano, jak wyeksportować model do pliku ONNX przy użyciu zestawu SDK języka Python.
Tworzenie klienta szkoleniowego
Aby wyeksportować iterację modelu, musisz mieć obiekt CustomVisionTrainingClient . Utwórz zmienne dla punktu końcowego i kluczy zasobów szkoleniowych usługi Custom Vision w Azure i użyj ich do utworzenia obiektu 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)
Ważne
Pamiętaj, aby usunąć klucze z kodu po zakończeniu i nigdy nie publikować ich publicznie. W przypadku środowiska produkcyjnego rozważ użycie bezpiecznego sposobu przechowywania i uzyskiwania dostępu do poświadczeń. Aby uzyskać więcej informacji, zobacz artykuł Zabezpieczenia narzędzi Foundry Tools.
Wywoływanie metody eksportu
Wywołaj metodę export_iteration .
- Podaj identyfikator projektu, identyfikator iteracji modelu, który chcesz wyeksportować.
- Parametr platformy określa platformę do eksportowania do: dozwolone wartości to
CoreML, ,TensorFlow,DockerFileONNX, ,VAIDKiOpenVino. - Parametr flavor określa format wyeksportowanego modelu: dozwolone wartości to
Linux, ,Windows,ONNX10ONNX12ARM,TensorFlowNormali .TensorFlowLite - Parametr raw daje możliwość pobrania nieprzetworzonej odpowiedzi JSON wraz z odpowiedzią w postaci modelu obiektu.
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)
Aby uzyskać więcej informacji, zobacz metodę export_iteration .
Ważne
Jeśli określona iteracja została już wyeksportowana, nie można ponownie wywołać metody export_iteration . Zamiast tego przejdź do wywołania metody get_exports, aby uzyskać link do istniejącego wyeksportowanego modelu.
Pobieranie wyeksportowanego modelu
Następnie wywołasz metodę get_exports , aby sprawdzić stan operacji eksportowania. Operacja jest uruchamiana asynchronicznie, dlatego należy sprawdzać tę metodę do jej zakończenia. Po zakończeniu możesz pobrać URI, gdzie możesz pobrać iterację modelu na urządzenie.
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)
Aby uzyskać więcej informacji, zobacz metodę get_exports .
Następnie można programowo pobrać wyeksportowany model do lokalizacji na urządzeniu.
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)
Powiązana zawartość
Zintegruj wyeksportowany model z aplikacją, eksplorując jeden z następujących artykułów lub przykładów:
- Używanie modelu TensorFlow z językiem Python
- Używanie modelu ONNX z usługą Windows Machine Learning
- Zobacz przykładowy model CoreML w aplikacji systemu iOS, aby uzyskać klasyfikację obrazów w czasie rzeczywistym za pomocą języka Swift.
- Zobacz przykładowy model TensorFlow w aplikacji systemu Android, aby uzyskać klasyfikację obrazów w czasie rzeczywistym w systemie Android.
- Zobacz przykład, aby dowiedzieć się, jak używać wyeksportowanego modelu (VAIDK/OpenVino)