Esta página descreve assinaturas comuns que devem ser implementadas por módulos no formato TF1 Hub para tarefas que aceitam entradas de texto. (Para o formato TF2 SavedModel , consulte a API SavedModel análoga.)
Vetor de recurso de texto
Um módulo vetorial de recursos de texto cria uma representação vetorial densa a partir de recursos de texto. Ele aceita um lote de strings de formato [batch_size]
e as mapeia para um tensor float32
de formato [batch_size, N]
. Isso geralmente é chamado de incorporação de texto na dimensão N
.
Uso básico
embed = hub.Module("path/to/module")
representations = embed([
"A long sentence.",
"single-word",
"http://example.com"])
Uso da coluna de recursos
feature_columns = [
hub.text_embedding_column("comment", "path/to/module", trainable=False),
]
input_fn = tf.estimator.inputs.numpy_input_fn(features, labels, shuffle=True)
estimator = tf.estimator.DNNClassifier(hidden_units, feature_columns)
estimator.train(input_fn, max_steps=100)
Notas
Os módulos foram pré-treinados em diferentes domínios e/ou tarefas e, portanto, nem todos os módulos de vetor de recursos de texto seriam adequados para o seu problema. Ex: alguns módulos poderiam ter sido treinados em um único idioma.
Esta interface não permite o ajuste fino da representação do texto nas TPUs, pois exige que o módulo instancie o processamento de strings e as variáveis treináveis ao mesmo tempo.