Path: blob/master/site/es-419/hub/model_compatibility.md
25115 views
Compatibilidad de modelos para TF1/TF2
Formatos de modelos TF Hub
TF Hub ofrece partes de modelo reutilizables que se pueden volver a cargar, construir y posiblemente volver a entrenar en un programa TensorFlow. Vienen en dos formatos diferentes:
El formato de TF1 Hub personalizado. Su principal uso previsto es en TF1 (o en modo de compatibilidad TF1 en TF2) a través de su API hub.Module. Puede ver todos los detalles de compatibilidad a continuación.
El formato nativo TF2 SavedModel. Su principal uso previsto es en TF2 a través de las API hub.load y hub.KerasLayer. Puede ver todos los detalles de compatibilidad a continuación.
El formato del modelo se puede encontrar en la página del modelo en tfhub.dev. Es posible que TF1/2 no admita la carga/inferencia, el ajuste o la creación de modelos según los formatos del modelo.
Compatibilidad del formato TF1 Hub {:#compatibility_of_hubmodule}
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 usar hub.load m = hub.load(handle) outputs = m.signatures["sig"](inputs)o hub.KerasLayer m = hub.KerasLayer(handle, signature="sig") outputs = m(inputs) |
Ajuste | Totalmente compatible (guía completa de ajuste del formato TF1 Hub) m = hub.Module(handle, trainable=True, tags=["train"]*is_training) outputs = m(inputs) Nota: los módulos que no necesitan un gráfico de entrenamiento separado no tienen una etiqueta de train.
|
No compatible |
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 TF2 SavedModel.
|
No compatible |
Compatibilidad de TF2 SavedModel {:#compatibility_of_tf2_savedmodel}
No compatible antes de TF1.15.
Operación | Modo de compatibilidad TF1.15/TF1 en TF2 [1] | TF2 |
Carga / Inferencia | Use 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 de TF2 SavedModel). Use hub.load m = hub.load(handle) outputs = m(inputs)o hub.KerasLayer m = hub.KerasLayer(handle) outputs = m(inputs) |
Ajuste | Compatible con hub.KerasLayer que se usa en tf.keras.Model cuando se entrena con Model.fit() o se entrena en un Estimador cuyo model_fn envuelve el modelo según la guía personalizada de 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 de TF2 SavedModel). Use 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 de compatibilidad. | 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.