这是我的代码框架:
def build_model(x, y):
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Dense(1, activation='relu'))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(x, y)
return model
class MultiModel(object):
def __init__(self, x1, y1, x2, y2):
self.model1 = build_model(x1, y1)
self.model2 = build_model(x2, y2)
if __name__ == '__main__':
# code that builds x1, x2, y1, y2
mm = MultiModel(x1, y1, x2, y2) # How to save mm ?
问题是我不知道如何保存包含多个Keras模型的 mm 对象。
Keras内置的保存方法只能保存Keras模型,因此在这种情况下不可用。 pickle模块无法保存 _thread.RLock对象,因此它也不可用。
可能可以使用Keras保存方法独立保存每个模型,然后重新组合它们并将它们整体保存。但是我不知道如何进行。
有什么想法吗?