代码之家  ›  专栏  ›  技术社区  ›  avanwyk

在Keras模型中使用张量流特征列

  •  11
  • avanwyk  · 技术社区  · 6 年前

    张量如何流动 feature_column 与Keras模型一起使用?

    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))
    

    但是,我想使用tfhub 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)
    

    这可能吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   mdaoust    5 年前

    keras函数api是一种可行的方法,但是如果您想使用 feature_columns 本教程介绍如何:

    https://www.tensorflow.org/beta/tutorials/keras/feature_columns

    基本上就是这个 DenseFeatures

    feature_layer = tf.keras.layers.DenseFeatures(feature_columns)
    
    model = tf.keras.Sequential([
      feature_layer,
      layers.Dense(128, activation='relu'),
      layers.Dense(128, activation='relu'),
      layers.Dense(1, activation='sigmoid')
    ])
    
        2
  •  0
  •   krishnab    5 年前

    答案似乎是您不使用功能列。 Keras

    所以基本上 tf.feature_columns 为高级API保留。然后 tf.keras.preprocessing() 函数用于 tf.keras

    keras https://keras.io/preprocessing/text/

    下面是另一个Stackoverflow post,它有一个这种方法的示例。

    Add Tensorflow pre-processing to existing Keras model (for use in Tensorflow Serving)