Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Compatibilidad de modelo para TF1 / TF2

Formatos de modelo TF Hub

TF Hub ofrece piezas de modelo reutilizables que se pueden cargar, construir y posiblemente volver a capacitar en un programa de TensorFlow. Estos vienen en dos formatos diferentes:

El formato del modelo se puede encontrar en la página del modelo en tfhub.dev . Es posible que la carga / inferencia , el ajuste fino o la creación de modelos no sean compatibles con TF1 / 2 según los formatos del modelo.

Compatibilidad del formato TF1 Hub

Operación Modo de compatibilidad TF1 / TF1 en TF2 [1] TF2
Carga / Inferencia Totalmente compatible ( guía completa de carga del formato TF1 Hub )
m = hub.Module(handle)
outputs = m(inputs)
Se recomienda utilizar hub.load
m = hub.load(handle)
outputs = m.signatures["sig"](inputs)
o hub.KerasLayer
m = hub.KerasLayer(handle, signature="sig")
outputs = m(inputs)
Sintonia FINA Totalmente compatible ( guía completa de ajuste fino del formato del concentrador TF1 )
m = hub.Module(handle,
               trainable=True,
               tags=["train"]*is_training)
outputs = m(inputs)
Nota: los módulos que no necesitan un gráfico de tren por separado no tienen una etiqueta de tren.
No soportado
Creación Totalmente compatible (consulte la guía completa de creación del formato TF1 Hub )
Nota: El formato TF1 Hub está orientado a TF1 y solo se admite parcialmente en TF2. Considere la posibilidad de crear un modelo guardado TF2.
No soportado

Compatibilidad de TF2 SavedModel

No admitido antes de TF1.15.

Operación Modo de compatibilidad TF1.15 / TF1 en TF2 [1] TF2
Carga / Inferencia Utilice hub.load
m = hub.load(handle)
outputs = m(inputs)
o hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
Totalmente compatible ( guía completa de carga del modelo guardado TF2 ). Utilice hub.load
m = hub.load(handle)
outputs = m(inputs)
o hub.KerasLayer
m = hub.KerasLayer(handle)
outputs = m(inputs)
Sintonia FINA Compatible con un hub.KerasLayer utilizado en tf.keras.Model cuando se entrena con Model.fit () o en un Estimador cuyo model_fn envuelve el modelo según la guía personalizada model_fn .
Nota: hub.KerasLayer no completa las colecciones de gráficos como lo hacían las antiguas API tf.compat.v1.layers o hub.Module.
Totalmente compatible ( guía completa de ajuste fino del modelo guardado TF2 ). Utilice hub.load:
m = hub.load(handle)
outputs = m(inputs, training=is_training)
o hub.KerasLayer:
m =  hub.KerasLayer(handle, trainable=True)
outputs = m(inputs)
Creación La API TF2 tf.saved_model.save () se puede llamar desde el modo compat. Totalmente compatible (consulte la guía completa de creación de TF2 SavedModel )

[1] "Modo de compatibilidad TF1 en TF2" se refiere al efecto combinado de importar TF2 con import tensorflow.compat.v1 as tf y ejecutar tf.disable_v2_behavior() como se describe en la guía de migración de TensorFlow .