Tensorflow 谷歌云ML召回损失:分布式学习

Tensorflow 谷歌云ML召回损失:分布式学习,tensorflow,google-cloud-ml,Tensorflow,Google Cloud Ml,我有两个在谷歌云ML上训练的模型版本,一个使用2个worker,另一个只使用主节点。然而,在分布式模式下训练后,召回率显著下降。我遵循了提供的大约2000个步骤的示例(工人和大师都参与了这些步骤) 唯一的主人 RECALL metrics: 0.352357320099 Accuracy over the validation set: 0.737576772753 船长和2名工人 RECALL metrics: 0.0223325062035 Accuracy over the val

我有两个在谷歌云ML上训练的模型版本,一个使用2个worker,另一个只使用主节点。然而,在分布式模式下训练后,召回率显著下降。我遵循了提供的大约2000个步骤的示例(工人和大师都参与了这些步骤)

唯一的主人

RECALL metrics:  0.352357320099
Accuracy over the validation set:  0.737576772753
船长和2名工人

RECALL metrics:  0.0223325062035
Accuracy over the validation set:  0.770519262982

要记住的一般想法是,随着工作人员数量的增加,您也在增加有效的批处理大小(每个工作人员每一步处理N个示例)


为了说明这一点,您需要考虑调整其他超参数。尝试选择较小的学习速率,以减少每一步的更改量。因此,根据您的模型和数据,您可能还需要增加某些因素的步数,以获得相同的收敛性。

好的,那么当图形的聚合参数被保存回来时是否存在“损失”?不是在保存时,而是在训练过程中增加了噪音。我发现这非常令人不安。这意味着一组训练参数取决于基础集群。我有一个问题:如何根据工人数量(即batch_size=batch_size/n_workers)减少“批量大小”,使参数独立于培训配置?