Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
[Tensorflow]:cifar10\u multi\u gpu\u train.py-意外损失报告 cifar10\u multi\u gpu\u train.py_Tensorflow - Fatal编程技术网

[Tensorflow]:cifar10\u multi\u gpu\u train.py-意外损失报告 cifar10\u multi\u gpu\u train.py

[Tensorflow]:cifar10\u multi\u gpu\u train.py-意外损失报告 cifar10\u multi\u gpu\u train.py,tensorflow,Tensorflow,此时,将计算多GPU中每个塔的每个损耗 然而,这些损失并不是平均的,而且似乎上一个GPU的损失是用来回报的 这是故意的(如果是,为什么?)还是代码中的错误?此时,请注意丢失在不同的名称范围内(tf.name_范围(“%s_u%d%”(cifar10.TOWER_name,i));因此,如果我理解正确的话,这并不是说只使用了最后一个GPU的损耗;相反,使用每个GPU对应命名范围下的所有损失 每个塔(对应于每个GPU)将有一个损耗,用于计算梯度。损失不是平均的;相反,所有塔架的所有坡度在第196行处

此时,将计算多GPU中每个塔的每个损耗

然而,这些损失并不是平均的,而且似乎上一个GPU的损失是用来回报的

这是故意的(如果是,为什么?)还是代码中的错误?

此时,请注意丢失在不同的名称范围内(tf.name_范围(“%s_u%d%”(cifar10.TOWER_name,i));因此,如果我理解正确的话,这并不是说只使用了最后一个GPU的损耗;相反,使用每个GPU对应命名范围下的所有损失

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

请注意,在本教程的图中,没有对所有单个损失进行聚合,而是对梯度进行平均


但是
loss
是一个python变量,指向特定名称空间(即第i个GPU)的损失?根据代码,loss不是python变量,而是一个张量,由tower\u loss(范围)返回。但这不只是对应一个塔吗?而不是所有塔上计算的平均损失吗?每个塔(对应于每个GPU)将有一个损耗,用于计算梯度。损失不是平均的;取而代之的是,所有塔楼的所有坡度都在第196行求平均值。这是预期的行为。