Cette page décrit les signatures courantes qui doivent être implémentées par les modules au format TF1 Hub pour les tâches acceptant la saisie de texte. (Pour le format TF2 SavedModel , voir l' API SavedModel analogue.)
Vecteur de fonctionnalité de texte
Un module vectoriel d'entités de texte crée une représentation vectorielle dense à partir d'entités de texte. Il accepte un lot de chaînes de forme [batch_size]
et les mappe à un tenseur float32
de forme [batch_size, N]
. C'est ce qu'on appelle souvent l'incorporation de texte dans la dimension N
.
Utilisation de base
embed = hub.Module("path/to/module")
representations = embed([
"A long sentence.",
"single-word",
"http://example.com"])
Utilisation de la colonne de fonctionnalités
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)
Remarques
Les modules ont été pré-entraînés sur différents domaines et/ou tâches, et par conséquent tous les modules vectoriels de fonctionnalités de texte ne seraient pas adaptés à votre problème. Ex : certains modules auraient pu être formés sur une seule langue.
Cette interface ne permet pas d'affiner la représentation du texte sur les TPU, car elle nécessite que le module instancie simultanément le traitement des chaînes et les variables pouvant être entraînées.