我已经训练了30个时期的tensorflow seq2seq模型,并为每个时期保存了一个检查点。我现在想要做的是组合这些检查点中最好的X个(基于开发集的结果)。具体地说,我正在寻找一种方法,让我平均不同的模型权重,并将它们合并到一个可用于解码的新模型中。然而,似乎没有一种固定的方法来实现这一点,加载不同的模型可能有点棘手。但是,即使成功了,我也找不到如何在新模型中组合权重的好答案。
任何帮助都将不胜感激。
相关问题(在我看来,这些问题没有得到充分的回答):
Building multiple models in the same graph
How to load several identical models from save files into one session in Tensorflow
发布于 2018-05-09 23:27:59
首先,有一点术语:
至于你的问题,如何计算Tensorflow检查点的平均值:请参阅avg_checkpoints.py或t2t-avg-all。
发布于 2017-03-21 04:37:55
平均几个模型的权重来产生一个新的模型不太可能产生有用的结果。
举个简单的例子,想想像AlexNet这样的经典CNN。它的第一层将包含一系列寻找不同图像特征的2d过滤器。对于你从头开始训练的每个模型,相似的特征可能会出现在过滤器中,但它们出现的顺序将非常不同,因此仅平均权重将破坏大多数信息。
https://stackoverflow.com/questions/42837829
复制相似问题