2017-10-27 3 views
1

average_lossloss의 차이점은 무엇입니까? 나는 후자가 기록의 수로 나뉘어 질 것이라는 이름에서 추측했을 것이다. 그러나 그것은 그렇지 않다. 후자는 수천 건의 기록으로 전자의 3 ~ 4 배에 해당합니다.Tensorflow 평가 : 평균 손실 대 손실

답변

2

average_lossloss과의 차이는 다른 동일한 손실 통해 MEAN 감소하는 동안 하나가 배치 손실 통해 SUM을 감소 시킨다는 것이다. 따라서 비율은 input_fnbatch_size 인수입니다. batch_size=1을 전달하면 해당 값이 동일해야합니다.

실제를

이 텐서는 tf.Estimator의 특정 유형에 따라, 그러나 회귀 머리를 here's the source code 매우 비슷보고 ( tf.DNNRegressor에 해당) : 당신이 볼 수 있듯이

training_loss = losses.compute_weighted_loss(unweighted_loss, weights=weights, 
              reduction=losses.Reduction.SUM) 

mean_loss = metrics_lib.mean(unweighted_loss, weights=weights) 

, 그들이에서 계산된다 동일 unweighted_loss 및 텐서. 같은 값이 tensorboard 요약에보고됩니다.

1

실제 비율은 정확히 4.0이며 일괄 처리 크기에 해당합니다.

네트워크를 학습 할 때 대개 입력을 배치로 제공합니다.
example에서 배치 크기는 4이므로 손실은 전체 배치에 대한 손실의 합계이며 평균 손실은 전체 배치에 대한 손실의 평균입니다.