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/çıkarma , 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 uyum 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
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 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
m = hub.load(handle)
outputs = m(inputs)
veya hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
kullanın
Tamamen desteklenir ( TF2 SavedModel yükleme kılavuzunu tamamlayın ). Hub.load
m = hub.load(handle)
outputs = m(inputs)
veya hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
kullanın
İnce ayar Bir hub için desteklenir. Model.fit() ile eğitildiğinde veya model_fn'nin Modeli özel model_fn kılavuzuna göre saran 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:
m = hub.load(handle)
outputs = m(inputs, training=is_training)
veya hub.KerasLayer:
m =  hub.KerasLayer(handle, trainable=True)
outputs = m(inputs)
birini kullanın
Yaratılış TF2 API tf.saved_model.save(), uyumluluk modundan çağrılabilir. Tamamen desteklenir ( tüm TF2 SavedModel oluşturma kılavuzuna 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.