2

我正在尝试使用带有 tf.contrib.estimator.RNNClassifier 的 Tensorflow Hub 模块(一个词嵌入模块)。

我想要的模型

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

estimator = tf.contrib.estimator.RNNClassifier(
   sequence_feature_columns=[embedded_text_feature_column],
   num_units=[32, 16])

运行返回以下错误:

ValueError: All feature_columns must be of type _SequenceDenseColumn.
You can wrap a sequence_categorical_column with an embedding_column or indicator_column.
Given (
    type <class 'tensorflow_hub.feature_column._TextEmbeddingColumn'>):
    _TextEmbeddingColumn(key='title_description', module_spec=<tensorflow_hub.native_module._ModuleSpec object at 0x7fb0102a5a90>, trainable=False
)

一个工作模型

使用 TF Hub 模块适用于:

estimator = tf.estimator.DNNClassifier(
    hidden_units=[32, 16],
    feature_columns=[embedded_text_feature_column])

是否可以使用该nnlm模块RNNClassifier

4

1 回答 1

1

与您的所需模型相对应的代码似乎在 Google Colab 中使用Tensorflow Version 1.15.

请在下面找到工作代码:

!pip install tensorflow==1.15

import tensorflow as tf
import tensorflow_hub as hub

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

estimator = tf.contrib.estimator.RNNClassifier(
   sequence_feature_columns=[embedded_text_feature_column],
   num_units=[32, 16])

这是Github Colab Gist的链接。

于 2020-02-28T10:22:22.040 回答