Kompatibilitas model untuk TF1/TF2

Format model TF Hub

TF Hub menawarkan potongan model yang dapat digunakan kembali yang dapat dimuat kembali, dibuat, dan mungkin dilatih ulang dalam program TensorFlow. Ini tersedia dalam dua format berbeda:

Format model dapat ditemukan di halaman model di tfhub.dev . Pemuatan/inferensi model, penyesuaian , atau pembuatan model mungkin tidak didukung di TF1/2 berdasarkan format model.

Kompatibilitas format Hub TF1

Operasi Mode kompatibilitas TF1/ TF1 di TF2 [1] TF2
Memuat / Inferensi Didukung penuh ( panduan pemuatan format TF1 Hub lengkap )
m = hub.Module(handle)
outputs = m(inputs)
Disarankan untuk menggunakan hub.load
m = hub.load(handle)
outputs = m.signatures["sig"](inputs)
atau hub.KerasLayer
m = hub.KerasLayer(handle, signature="sig")
outputs = m(inputs)
Penyempurnaan Didukung penuh ( panduan penyempurnaan format TF1 Hub lengkap )
m = hub.Module(handle,
               trainable=True,
               tags=["train"]*is_training)
outputs = m(inputs)
Catatan: modul yang tidak memerlukan grafik kereta terpisah tidak memiliki tag kereta.
Tidak didukung
Penciptaan Didukung penuh (lihat panduan lengkap pembuatan format TF1 Hub )
Catatan: Format TF1 Hub ditujukan untuk TF1 dan hanya didukung sebagian di TF2. Pertimbangkan untuk membuat SavedModel TF2.
Tidak didukung

Kompatibilitas TF2 SavedModel

Tidak didukung sebelum TF1.15.

Operasi Mode kompatibilitas TF1.15/ TF1 di TF2 [1] TF2
Memuat / Inferensi Gunakan hub.load
m = hub.load(handle)
outputs = m(inputs)
atau hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
Didukung sepenuhnya ( panduan pemuatan TF2 SavedModel lengkap ). Gunakan hub.load
m = hub.load(handle)
outputs = m(inputs)
atau hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
Penyempurnaan Didukung untuk hub.KerasLayer yang digunakan di tf.keras.Model saat dilatih dengan Model.fit() atau dilatih di Estimator yang model_fnnya membungkus Model sesuai dengan model_fn guide khusus .
Catatan: hub.KerasLayer tidak mengisi koleksi grafik seperti yang dilakukan tf.compat.v1.layers atau hub.Module API lama.
Didukung sepenuhnya ( panduan penyempurnaan TF2 SavedModel lengkap ). Gunakan hub.load:
m = hub.load(handle)
outputs = m(inputs, training=is_training)
atau hub.KerasLayer:
m =  hub.KerasLayer(handle, trainable=True)
outputs = m(inputs)
Penciptaan API TF2 tf.saved_model.save() dapat dipanggil dari dalam mode compat. Didukung sepenuhnya (lihat panduan lengkap pembuatan TF2 SavedModel )

[1] "Mode compat TF1 di TF2" mengacu pada efek gabungan dari mengimpor TF2 dengan import tensorflow.compat.v1 as tf dan menjalankan tf.disable_v2_behavior() seperti yang dijelaskan dalam panduan Migrasi TensorFlow .