[Tensorflow]:cifar10_multi_gpu_train.py - 意外丢失报告

时间:2016-06-22 16:17:05

标签: tensorflow

cifar10_multi_gpu_train.py

在此line,计算多GPU中每个塔的每个损失

然而,这些损失并不是平均值,似乎上次GPU的损失用于返回loss

这是故意的(如果是,为什么?)或者它是代码中的错误吗?

1 个答案:

答案 0 :(得分:2)

在此line,请注意,损失位于不同的名称范围内(tf.name_scope('%s_%d'%(cifar10.TOWER_NAME,i)));所以,如果我理解正确的话,那并不是只使用最后一个GPU的损失;相反,使用每个GPU的相应命名范围内的所有损失。

每个塔(对应于每个GPU)都会有一个损失,用于计算梯度。损失不是平均值;相反,所有塔的所有梯度均在第196行平均。

请注意,在本教程的这个图中,没有针对所有个体损失的聚合,它是平均的渐变。

enter image description here