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 Hub TF1 khusus. Tujuan penggunaan utamanya adalah dalam TF1 (atau mode kompatibilitas TF1 di TF2) melalui hub.Module API -nya. Detail kompatibilitas lengkap di bawah .
- Format TF2 SavedModel asli. Tujuan penggunaan utamanya adalah di TF2 melalui API hub.load dan hub.KerasLayer . Detail kompatibilitas lengkap di bawah .
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 penuh (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 .