このページは Cloud Translation API によって翻訳されました。
Switch to English

TF1 / TF2のモデル互換性

TFハブモデルフォーマット

TF Hubは、TensorFlowプログラムでロードバック、ビルド、および場合によっては再トレーニングできる再利用可能なモデルピースを提供します。これらには2つの異なる形式があります。

モデル形式は、 tfhub.devのモデルページにあります。モデルの読み込み/推論微調整、または作成は、モデル形式に基づくTF1 / 2ではサポートされていない場合があります。

TF1ハブ形式の互換性

操作TF2のTF1 / TF1互換モード[1] TF2
読み込み/推論完全にサポートされています(完全なTF1ハブ形式のロードガイド
m = hub.Module(handle)
outputs = m(inputs)
hub.load
m = hub.load(handle)
outputs = m.signatures["sig"](inputs)
またはhub.KerasLayer
m = hub.KerasLayer(handle, signature="sig")
outputs = m(inputs)
のいずれかを使用することをお勧めします
微調整完全にサポートされています(完全なTF1ハブ形式の微調整ガイド
m = hub.Module(handle,
               trainable=True,
               tags=["train"]*is_training)
outputs = m(inputs)
注:個別のトレイングラフを必要としないモジュールには、トレインタグがありません。
サポートされていません
創造完全にサポートされています(完全なTF1ハブ形式作成ガイドを参照してください
注:TF1ハブ形式はTF1を対象としており、TF2では部分的にのみサポートされています。 TF2SavedModelの作成を検討してください。
サポートされていません

TF2SavedModelの互換性

TF1.15より前ではサポートされていません。

操作TF2のTF1.15 / TF1互換モード[1] TF2
読み込み/推論hub.load
m = hub.load(handle)
outputs = m(inputs)
またはhub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
のいずれかを使用します
完全にサポートされています(完全なTF2 SavedModelロードガイド)。 hub.load
m = hub.load(handle)
outputs = m(inputs)
またはhub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
のいずれかを使用します
微調整Model.fit()でトレーニングされた場合、またはmodel_fnがカスタムmodel_fnガイドに従ってモデルをラップするEstimatorでトレーニングされた場合に、tf.keras.Modelで使用されるhub.KerasLayerでサポートされます
注:hub.KerasLayer、古いtf.compat.v1.layersやhub.ModuleAPIのようにグラフコレクションに入力しません
完全にサポートされています(完全なTF2 SavedModel微調整ガイド)。 hub.load:
m = hub.load(handle)
outputs = m(inputs, training=is_training)
またはhub.KerasLayer:
m =  hub.KerasLayer(handle, trainable=True)
outputs = m(inputs)
のいずれかを使用します
創造TF2 API tf.saved_model.save()は、互換モード内から呼び出すことができます。完全にサポートされています(完全なTF2 SavedModel作成ガイドを参照してください

[1]「TF2のTF1互換モード」とは、 TensorFlow移行ガイドで説明されているように、TF2をimport tensorflow.compat.v1 as tfimport tensorflow.compat.v1 as tftf.disable_v2_behavior()を実行することの複合効果を指します