На этой странице описаны общие сигнатуры, которые должны быть реализованы модулями в формате TF1 Hub для задач, принимающих текстовый ввод. (Для формата TF2 SavedModel см. аналогичный API SavedModel .)
Вектор текстовых объектов
Модуль векторов текстовых объектов создает плотное векторное представление из текстовых объектов. Он принимает пакет строк формы [batch_size]
и сопоставляет их с тензором float32
формы [batch_size, N]
. Это часто называют внедрением текста в размерность N
Основное использование
embed = hub.Module("path/to/module")
representations = embed([
"A long sentence.",
"single-word",
"http://example.com"])
Использование столбца функций
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)
Примечания
Модули были предварительно обучены для разных областей и/или задач, поэтому не каждый модуль вектора текстовых признаков подойдет для вашей задачи. Например: некоторые модули можно было бы обучать на одном языке.
Этот интерфейс не позволяет выполнять тонкую настройку текстового представления на TPU, поскольку он требует, чтобы модуль одновременно запускал как обработку строк, так и обучаемые переменные.