我正在尝试保存一个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_features
是tf.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中是否有任何一种方法可以对这种云进行后处理?
谢谢