此页面介绍了接受文本输入的任务中,TF1 Hub 格式 中的模块应实现的通用签名。(对于 TF2 SavedModel 格式,请参阅类似的 SavedModel API。)
文本特征向量
文本特征向量模块从文本特征中创建密集向量表示。它接受形状为 [batch_size]
的字符串批次,并将它们映射到形状为 [batch_size, N]
的 float32
张量。这通常在维度 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 上微调文本表示,因为它要求模块同时实例化字符串处理和可训练变量。