Kompatybilność modelu dla TF1/TF2

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

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:

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 .