小编Ete*_*rac的帖子

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

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

给定一些分类标签,我有兴趣训练一个模型(例如, a 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)
Run Code Online (Sandbox Code Playgroud)

其中transform_features是 的列表tf.feature_columnstrain_datatf.data.Dataset包含训练数据的(train_X,train_y)

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

我正在考虑制作第一个模型,如之前所示,训练后,向模型添加以下层:

from tf.keras.layers import Lambda
model.add(Lambda(lambda x: tf.argmax(x, axis=-1)))
Run Code Online (Sandbox Code Playgroud)

但我不知道如何“合并”这两个不同的模型并将它们保存为相同的 TensorFlow SavedModel 格式(使用tf.saved_model.save(model, MODEL_PATH))。有没有什么方法可以让一个云在 Tensorflow 中进行这种后处理?

谢谢

keras tensorflow

7
推荐指数
1
解决办法
755
查看次数

标签 统计

keras ×1

tensorflow ×1