我正在为一个项目开发 RNN,我需要在计算机上训练它并能够预测另一个。我找到的解决方案是使用以下代码将模型保存到 .h5 文件中:
... # Train the data etc....
model.save("model.h5")
Run Code Online (Sandbox Code Playgroud)
我的问题是我需要从我的训练数据集中存储一些元数据并进行预处理,并能够将它与模型一起加载。(例如数据集文件的名称、数据集文件的大小、字符数等...)
我不想将此信息存储在第二个文件(例如 .txt 文件)中,因为我将不得不使用两个文件。我不想为此任务使用任何额外的库或框架。
我在想(头脑风暴)这样的代码:
model.save("model.h5", metaData={'myVariableName': myVariable})
Run Code Online (Sandbox Code Playgroud)
加载将是:
myVariable = model.load("model.h5").getMetaData('myVariableName')
Run Code Online (Sandbox Code Playgroud)
我知道这在当前版本中是不可能的,而且我已经阅读了 Keras 文档,但是我找不到任何有效的方法来做到这一点。请注意,我所要求的与custom_object因为想要保存和加载我自己的变量不同。
有没有更聪明的方法来解决这个问题?