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:
- Özel TF1 Hub formatı . Ana kullanım amacı, hub.Module API'si aracılığıyla TF1'de (veya TF2'de TF1 uyumluluk modunda) kullanmaktır. Tam uyumluluk ayrıntıları aşağıdadır .
- Yerel TF2 SavedModel formatı. Ana kullanım amacı hub.load ve hub.KerasLayer API'leri aracılığıyla TF2'dedir. Tam uyumluluk ayrıntıları aşağıdadır .
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 ( TF1 Hub formatı yükleme kılavuzunun tamamı ) 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 ( 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.