TF1/TF2 için model uyumluluğu

TF Hub modeli formatları

TF Hub, yeniden 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ı formatta gelir:

Model formatını tfhub.dev'deki model sayfasında bulabilirsiniz. Model yükleme/çıkarım , ince ayar veya oluşturma, model formatlarına bağlı olarak TF1/2'de desteklenmeyebilir.

TF1 Hub formatının uyumluluğu

Operasyon TF2'de TF1/ TF1 uyumlu modu [1] TF2
Yükleme / Çıkarım Tamamen desteklenir ( tam TF1 Hub formatı yükleme kılavuzu )
m = hub.Module(handle)
outputs = m(inputs)
Hub.load'dan birinin kullanılması önerilir
m = hub.load(handle)
outputs = m.signatures["sig"](inputs)
veya hub.KerasLayer
m = hub.KerasLayer(handle, signature="sig")
outputs = m(inputs)
İnce ayar Tamamen 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
Yaratılış Tamamen desteklenir ( tüm 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'in uyumluluğu

TF1.15'ten önce desteklenmiyor.

Operasyon TF2'de TF1.15/ TF1 uyumlu modu [1] TF2
Yükleme / Çıkarım Hub.load'dan birini kullanın
m = hub.load(handle)
outputs = m(inputs)
veya hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
Tamamen desteklenir ( TF2 SavedModel yükleme kılavuzunu tamamlayın ). Hub.load'dan birini kullanın
m = hub.load(handle)
outputs = m(inputs)
veya hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
İnce ayar Bir hub için desteklenir. Model.fit() ile eğitildiğinde veya özel model_fn kılavuzuna göre model_fn'nin Modeli sardığı bir Tahmincide eğitildiğinde tf.keras.Model'de kullanılan KerasLayer.
Not: hub.KerasLayer, eski tf.compat.v1.layers veya hub.Module API'lerinin yaptığı gibi grafik koleksiyonlarını doldurmaz .
Tamamen desteklenir ( TF2 SavedModel ince ayar kılavuzunu tamamlayın ). Hub.load'dan birini kullanın:
m = hub.load(handle)
outputs = m(inputs, training=is_training)
veya hub.KerasLayer:
m =  hub.KerasLayer(handle, trainable=True)
outputs = m(inputs)
Yaratılış TF2 API tf.saved_model.save(), uyumluluk modundan çağrılabilir. Tamamen desteklenir ( TF2 SavedModel oluşturma kılavuzunun tamamına bakın)

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