Questa pagina descrive le firme comuni che dovrebbero essere implementate dai moduli nel formato TF1 Hub per le attività che accettano input di testo. (Per il formato TF2 SavedModel , vedere l'analoga API SavedModel .)
Vettore di funzionalità di testo
Un modulo vettoriale di elementi di testo crea una rappresentazione vettoriale densa da elementi di testo. Accetta un batch di stringhe di forma [batch_size]
e le mappa su un tensore float32
di forma [batch_size, N]
. Questo è spesso chiamato incorporamento del testo nella dimensione N
.
Utilizzo di base
embed = hub.Module("path/to/module")
representations = embed([
"A long sentence.",
"single-word",
"http://example.com"])
Utilizzo della colonna delle funzionalità
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)
Note
I moduli sono stati pre-addestrati su diversi domini e/o attività e pertanto non tutti i moduli vettoriali di caratteristiche di testo sarebbero adatti al tuo problema. Ad esempio: alcuni moduli avrebbero potuto essere formati su un'unica lingua.
Questa interfaccia non consente la regolazione fine della rappresentazione del testo sulle TPU, perché richiede che il modulo istanzia contemporaneamente sia l'elaborazione delle stringhe che le variabili addestrabili.