TF1/TF2 için model uyumluluğu

TF Hub modeli biçimleri

TF Hub, geri yüklenebilen, üzerine inşa edilebilen ve muhtemelen bir TensorFlow programında yeniden eğitilebilen yeniden kullanılabilir model parçaları sunar. Bunlar iki farklı biçimde gelir:

Model formatı, tfhub.dev-placeholder32 adresindeki model sayfasında bulunabilir. Model yükleme/çıkarım , ince ayar veya oluşturma , model biçimlerine bağlı olarak TF1/2'de desteklenmeyebilir.

TF1 Hub formatının uyumluluğu

Operasyon TF2'de TF1/TF1 uyumluluk modu [1] TF2
Yükleme / Çıkarım Tam olarak desteklenir ( tam TF1 Hub formatı yükleme kılavuzu )
m = hub.Module(handle)
outputs = m(inputs)
hub.load
m = hub.load(handle)
outputs = m.signatures["sig"](inputs)
veya hub.KerasLayer
m = hub.KerasLayer(handle, signature="sig")
outputs = m(inputs)
kullanılması önerilir
İnce ayar Tam olarak desteklenir ( tam TF1 Hub formatı ince ayar kılavuzu )
m = hub.Module(handle,
               trainable=True,
               tags=["train"]*is_training)
outputs = m(inputs)
Not: Ayrı bir tren grafiğine ihtiyaç duymayan modüllerin tren etiketi yoktur.
Desteklenmiyor
oluşturma Tam olarak desteklenir ( tam TF1 Hub formatı oluşturma kılavuzuna bakın)
Not: TF1 Hub formatı TF1'e yöneliktir ve TF2'de yalnızca kısmen desteklenir. Bir TF2 SavedModel oluşturmayı düşünün.
Desteklenmiyor

TF2 SavedModel uyumluluğu

TF1.15'ten önce desteklenmez.

Operasyon TF1.15/ TF2'de TF1 uyumlu modu [1] TF2
Yükleme / Çıkarım hub.load
m = hub.load(handle)
outputs = m(inputs)
veya hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
kullanın
Tam olarak desteklenir ( tam TF2 SavedModel yükleme kılavuzu ). hub.load
m = hub.load(handle)
outputs = m(inputs)
veya hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
kullanın
İnce ayar Model.fit() ile eğitilirken tf.keras.Model'de kullanılan veya özel model_fn kılavuzuna göre model_fn'si Model'i saran bir Tahmincide eğitilen bir hub.KerasLayer için desteklenir.
Not: hub.KerasLayer , eski tf.compat.v1.layers veya hub.Module API'lerinin yaptığı gibi grafik koleksiyonlarını doldurmaz.
Tam olarak desteklenir ( tam TF2 SavedModel ince ayar kılavuzu ). hub.load:
m = hub.load(handle)
outputs = m(inputs, training=is_training)
veya hub kullanın.KerasLayer:
m =  hub.KerasLayer(handle, trainable=True)
outputs = m(inputs)
oluşturma TF2 API'si tf.saved_model.save() , uyumluluk modundan çağrılabilir. Tam olarak desteklenir ( tam TF2 SavedModel oluşturma kılavuzuna bakın)

[1] "TF2'de TF1 uyumluluk modu", import tensorflow.compat.v1 as tf ve TensorFlow Migration kılavuzunda açıklandığı gibi tf.disable_v2_behavior() çalıştırmanın birleşik etkisini ifade eder.