Formaty modeli TF Hub
TF Hub oferuje elementy modeli wielokrotnego użytku, które można ponownie wczytać, zbudować i ewentualnie przeszkolić w programie TensorFlow. Są one dostępne w dwóch różnych formatach:
- Niestandardowy format koncentratora TF1 . Jego głównym przeznaczeniem jest tryb TF1 (lub tryb zgodności TF1 w TF2) za pośrednictwem interfejsu API hub.Module . Pełne informacje o kompatybilności poniżej .
- Natywny format TF2 SavedModel . Jego głównym przeznaczeniem jest TF2 za pośrednictwem interfejsów API hub.load i hub.KerasLayer . Pełne informacje o kompatybilności poniżej .
Format modelu można znaleźć na stronie modelu pod adresem l10n-tfhub.dev . Ładowanie/wnioskowanie modelu, dostrajanie lub tworzenie może nie być obsługiwane w TF1/2 w oparciu o formaty modelu.
Kompatybilność formatu TF1 Hub
Operacja | Tryb zgodności TF1/TF1 w TF2 [1] | TF2 |
Ładowanie / wnioskowanie | W pełni obsługiwany ( kompletny przewodnik ładowania formatu TF1 Hub ) m = hub.Module(handle)
outputs = m(inputs) | Zaleca się użycie hub.load m = hub.load(handle)
outputs = m.signatures["sig"](inputs) lub hub.KerasLayer m = hub.KerasLayer(handle, signature="sig")
outputs = m(inputs) |
Strojenie | W pełni obsługiwany ( kompletny przewodnik dostrajania formatu TF1 Hub ) m = hub.Module(handle,
trainable=True,
tags=["train"]*is_training)
outputs = m(inputs) Uwaga: moduły, które nie wymagają oddzielnego wykresu pociągu, nie mają znacznika pociągu. | Nieobsługiwany |
kreacja | W pełni obsługiwane (patrz kompletny przewodnik tworzenia formatu TF1 Hub ) Uwaga: Format TF1 Hub jest nastawiony na TF1 i jest tylko częściowo obsługiwany w TF2. Rozważ utworzenie TF2 SavedModel. | Nieobsługiwany |
Kompatybilność zapisanego modelu TF2
Nieobsługiwane przed TF1.15.
Operacja | Tryb zgodności TF1.15/TF1 w TF2 [1] | TF2 |
Ładowanie / wnioskowanie | Użyj hub.load m = hub.load(handle)
outputs = m(inputs) lub hub.KerasLayer m = hub.KerasLayer(handle)
outputs = m(inputs) | W pełni obsługiwany ( kompletny przewodnik ładowania TF2 SavedModel ). Użyj hub.load m = hub.load(handle)
outputs = m(inputs) lub hub.KerasLayer m = hub.KerasLayer(handle)
outputs = m(inputs) |
Strojenie | Obsługiwane dla hub.KerasLayer używanego w tf.keras.Model podczas trenowania za pomocą Model.fit() lub trenowania w estymatorze, którego model_fn otacza Model zgodnie z niestandardowym przewodnikiem model_fn . Uwaga: hub.KerasLayer nie wypełnia kolekcji wykresów, tak jak robiły to stare interfejsy API tf.compat.v1.layers lub hub.Module. | W pełni obsługiwany ( pełny przewodnik dostrajania TF2 SavedModel ). Użyj hub.load: m = hub.load(handle)
outputs = m(inputs, training=is_training) lub hub.KerasLayer: m = hub.KerasLayer(handle, trainable=True)
outputs = m(inputs) |
kreacja | API TF2 tf.saved_model.save() można wywołać w trybie zgodności. | W pełni obsługiwane (zobacz kompletny przewodnik tworzenia TF2 SavedModel ) |
[1] „Tryb zgodności TF1 w TF2” odnosi się do połączonego efektu importowania TF2 z import tensorflow.compat.v1 as tf
i uruchomienia tf.disable_v2_behavior()
zgodnie z opisem w przewodniku po migracji TensorFlow .