Esta página describe firmas comunes que deben implementar los módulos en el formato TF1 Hub para tareas que aceptan entradas de texto. (Para el formato TF2 SavedModel , consulte la API SavedModel análoga).
Vector de característica de texto
Un módulo de vector de características de texto crea una representación vectorial densa a partir de características de texto. Acepta un lote de cadenas de forma [batch_size]
y las asigna a un tensor float32
de forma [batch_size, N]
. A esto se le suele denominar incrustación de texto en la dimensión N
Uso básico
embed = hub.Module("path/to/module")
representations = embed([
"A long sentence.",
"single-word",
"http://example.com"])
Uso de la columna de características
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
Los módulos han sido entrenados previamente en diferentes dominios y/o tareas y, por lo tanto, no todos los módulos de vectores de características de texto serían adecuados para su problema. Por ejemplo: algunos módulos podrían haberse entrenado en un solo idioma.
Esta interfaz no permite un ajuste fino de la representación del texto en las TPU, porque requiere que el módulo cree una instancia tanto del procesamiento de cadenas como de las variables entrenables al mismo tiempo.