Python 如何保存训练后的tensorflow模型的结构和权重?

Python 如何保存训练后的tensorflow模型的结构和权重?,python,tensorflow,Python,Tensorflow,我有一个具有相对复杂计算图的模型,我将在大量数据上对其进行训练。如何在事后保存经过训练的模型,以便只加载其(结构+权重),而无需再次指定复杂的模型结构?我只想创建一个文件“trained_model”,我可以从任何其他tensorflow代码加载它,而不需要知道内部结构是什么样子。换言之,我希望稍后将经过训练的模型用作黑盒。tensorflow中有类似的东西吗?我自己在网上发现的东西让我有点困惑,也许你们中的一位专家可以帮我解决。非常感谢 因此,我想要的是以下内容: trained_model_

我有一个具有相对复杂计算图的模型,我将在大量数据上对其进行训练。如何在事后保存经过训练的模型,以便只加载其(结构+权重),而无需再次指定复杂的模型结构?我只想创建一个文件“trained_model”,我可以从任何其他tensorflow代码加载它,而不需要知道内部结构是什么样子。换言之,我希望稍后将经过训练的模型用作黑盒。tensorflow中有类似的东西吗?我自己在网上发现的东西让我有点困惑,也许你们中的一位专家可以帮我解决。非常感谢

因此,我想要的是以下内容:

trained_model_path='…/trained_model/
trained_model=从_文件(trained_model_路径)加载_model_#黑盒!
训练的_模型预测(x)

您可以将模型保存在h5文件中。稍后再加载它们。你不应该再次重建整个东西,因为你必须在每次使用它的时候对它进行训练

# Save the model
model.save('../resources/saved_models/my_model.h5')

# Recreate the exact same model purely from the file
new_model = keras.models.load_model('path_to_my_model.h5')

查看文档(下面的链接)了解更多详细信息。 为此,您需要使用kerasapi。我假设现在所有与tensorflow合作的人都使用keras。它只是一个pip安装,然后应该在代码顶部导入。(与普通python库类似)


谢谢!keras.models.load_模型能否处理可使用tensorflow表达的任何类型的网络?keras是tensorflow的一部分,后来添加该模型以简化构建和修改模型的过程。所以我想你的答案是肯定的@JonasG.可能的副本