在Keras模型中使用Tensorflow feature_column

ava*_*wyk 13 deep-learning keras tensorflow

如何将Tensorflow feature_column与Keras 模型结合使用?

例如,对于Tensorflow估算器,我们可以使用Tensorflow Hub中的嵌入列:

embedded_text_feature_column = hub.text_embedding_column(
    key="sentence", 
    module_spec="https://tfhub.dev/google/nnlm-en-dim128/1")

estimator = tf.estimator.DNNClassifier(
hidden_units=[100],
feature_columns=[embedded_text_feature_column],
n_classes=2,
optimizer=tf.train.AdamOptimizer(learning_rate=0.001))
Run Code Online (Sandbox Code Playgroud)

但是,我想使用TF Hub text_embedding_column作为Keras模型的输入.例如

net = tf.keras.layers.Input(...) # use embedding column here
net = tf.keras.layers.Flatten()
net = Dense(100, activation='relu')(net)
net = Dense(2)(net)
Run Code Online (Sandbox Code Playgroud)

这可能吗?

kri*_*nab 1

答案似乎是您不使用特征列。Keras带有自己的一组图像和文本预处理函数,因此您可以使用它们。

所以基本上tf.feature_columns都是为高级 API 保留的。然后tf.keras.preprocessing()将函数与模型一起使用tf.keras

这是文档中有关预处理数据部分的链接kerashttps://keras.io/preprocessing/text/

这是另一篇 Stackoverflow 帖子,其中包含此方法的示例。

将 Tensorflow 预处理添加到现有 Keras 模型(用于 Tensorflow Serving)