Path: blob/master/site/pt-br/hub/model_compatibility.md
25115 views
Compatibilidade de modelo para TF1/TF2
Formatos de modelo do TF Hub
O TF Hub oferece partes de modelo reutilizáveis que podem ser carregados, expandidos e possivelmente treinados novamente em um programa do TensorFlow. Há dois formatos diferentes:
O formato TF1 Hub personalizado. Seu principal uso é no TF1 (ou no modo de compatibilidade com o TF1 no TF2) por meio de sua API hub.Module. Confira os detalhes completos de compatibilidade abaixo.
O formato nativo TF2 SavedModel. Seu principal uso é no TF2 por meio das APIs hub.load e hub.KerasLayer. Confira os detalhes completos de compatibilidade abaixo.
O formato do modelo fica disponível na página do modelo em tfhub.dev. O carregamento/inferência, ajustes finos ou criação de um modelo podem não ter suporte do TF1/TF2 de acordo com os formatos do modelo.
Compatibilidade do formato TF1 Hub {:#compatibility_of_hubmodule}
Operação | TF1/Modo de compatibilidade com o TF1 no TF2 [1] | TF2 |
Carregamento/Inferência | Suporte total (guia completo de carregamento de formato TF1 Hub) m = hub.Module(handle) outputs = m(inputs) |
Recomenda-se usar hub.load m = hub.load(handle) outputs = m.signatures["sig"](inputs)ou hub.KerasLayer m = hub.KerasLayer(handle, signature="sig") outputs = m(inputs) |
Ajustes finos | Suporte total (guia completo de ajustes finos do formato TF1 Hub) m = hub.Module(handle, trainable=True, tags=["train"]*is_training) outputs = m(inputs) Observação: os módulos que não precisem de um grafo de treinamento separado não têm uma etiqueta de treinamento.
|
Sem suporte |
Criação | Suporte total (confira o guia completo de criação do formato TF1 Hub) Observação: o formato TF1 Hub é destinado ao TF1, e há um suporte parcial no TF2. Considere criar um SavedModel do TF2.
|
Sem suporte |
Compatibilidade do SavedModel do TF2{:#compatibility_of_tf2_savedmodel}
Não há suporte antes do TF1.15.
Operação | TF1.15/Modo de compatibilidade com o TF1 no TF2 [1] | TF2 |
Carregamento/Inferência | Use hub.load m = hub.load(handle) outputs = m(inputs)ou hub.KerasLayer m = hub.KerasLayer(handle) outputs = m(inputs) |
Suporte total (guia completo de carregamento de SavedModel do TF2). Use hub.load m = hub.load(handle) outputs = m(inputs)ou hub.KerasLayer m = hub.KerasLayer(handle) outputs = m(inputs) |
Ajustes finos | Suporte a um hub.KerasLayer usado no tf.keras.Model quando treinado com Model.fit() ou treinado em um Estimator cujo model_fn encapsule o modelo de acordo com o guia de model_fn personalizado. Observação: hub.KerasLayer não preenche coleções de grafos como as APIs antiags tf.compat.v1.layers ou hub.Module faziam.
|
Suporte total (guia completo de ajustes finos de SavedModel do TF2). Use hub.load: m = hub.load(handle) outputs = m(inputs, training=is_training)ou hub.KerasLayer: m = hub.KerasLayer(handle, trainable=True) outputs = m(inputs) |
Criação | A API tf.saved_model.save() do TF2 pode ser chamada no modo de compatibilidade. | Suporte total (confira o guia completo de criação de SavedModel do TF2) |
[1] "Modo de compatibilidade com o TF1 no TF2" refere-se ao efeito combinado de importar o TF2 com import tensorflow.compat.v1 as tf
e executar tf.disable_v2_behavior()
conforme descrito no guia de migração do TensorFlow.