我正在研究使用张量流训练深度神经网络。我知道如何训练模型。我的问题是我必须在具有不同数据集的2台不同计算机上训练相同的模型。然后保存模型权重。后来我不得不以某种方式合并2个模型重量文件。我不知道如何合并它们。有没有这样做的函数或权重是否应该平均?
有关此问题的任何帮助都很有用
提前致谢
答案 0 :(得分:2)
实际上没有办法合并权重,你无法以任何方式平均或组合它们,因为结果不会有任何意义。你可以做的是结合预测,但为此训练课必须是相同的。
这不是编程限制,而是理论限制。
答案 1 :(得分:1)
最好在训练期间合并体重更新(渐变)并保持一组共同的权重,而不是在个别训练完成后尝试合并权重。经过单独训练的网络都可以找到不同的最佳网络平均权重可以使网络在两个数据集上表现更差。
您可以做两件事:
在这种情况下通常:
(上面有一些变体可以避免计算节点闲置太久等待其他人的结果)。以上假设在计算节点上运行的Tensorflow进程可以在训练期间相互通信。
查看https://www.tensorflow.org/deploy/distributed)了解更多详情以及如何在多个节点上训练网络的示例。