如何将后处理添加到Tensorflow模型中?

时间:2019-11-25 11:21:25

标签: tensorflow keras

我正在尝试保存一个TensorFlow模型,其中包括一些标签的后期处理。

考虑到一些分类标签,我对训练模型(例如tf.keras.Sequential)感兴趣,在该模型中,我先前已对标签应用了One-hot编码。这就是模型的样子:

model = tf.keras.Sequential([
    tf.keras.layers.DenseFeatures(transform_features),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(64, activation='relu'),
    tf.keras.layers.Dense(1)
])

model.compile(loss='categorical_crossentropy',optimizer='adam')

history = model.fit(train_data, epochs=5)

其中transform_featurestf.feature_columns的列表,而train_data是包含训练数据tf.data.Dataset的{​​{1}}。

一旦训练了模型,我想进行一些后期处理。我想将此后处理添加到新的(或相同的)TensorFlow模型中,以便当我要求对此模型进行预测时(例如,使用BigQuery中导入的TensorFlow模型进行预测),它为我提供了解码后的最终标签。

我正在考虑制作第一个模型,如先前所示,然后对其进行训练,然后在模型的下面添加一个层:

(train_X,train_y)

但是我不知道如何“合并”这两个不同的模型并将它们保存为相同的TensorFlow SavedModel格式(使用from tf.keras.layers import Lambda model.add(Lambda(lambda x: tf.argmax(x, axis=-1))) )。在Tensorflow中是否有任何一种方法可以对这种云进行后处理?

谢谢

0 个答案:

没有答案