tf.losses.log_loss(
labels,
predictions,
weights=1.0,
epsilon=1e-07,
scope=None,
loss_collection=tf.GraphKeys.LOSSES,
reduction=Reduction.SUM_BY_NONZERO_WEIGHTS
)
Defined in tensorflow/python/ops/losses/losses_impl.py.
Adds a Log Loss term to the training procedure.
weights acts as a coefficient for the loss. If a scalar is provided, then
the loss is simply scaled by the given value. If weights is a tensor of size
[batch_size], then the total loss for each sample of the batch is rescaled
by the corresponding element in the weights vector. If the shape of
weights matches the shape of predictions, then the loss of each
measurable element of predictions is scaled by the corresponding value of
weights.
Args:
labels: The ground truth output tensor, same dimensions as 'predictions'.predictions: The predicted outputs.weights: OptionalTensorwhose rank is either 0, or the same rank aslabels, and must be broadcastable tolabels(i.e., all dimensions must be either1, or the same as the correspondinglossesdimension).epsilon: A small increment to add to avoid taking a log of zero.scope: The scope for the operations performed in computing the loss.loss_collection: collection to which the loss will be added.reduction: Type of reduction to apply to loss.
Returns:
Weighted loss float Tensor. If reduction is NONE, this has the same
shape as labels; otherwise, it is scalar.
Raises:
ValueError: If the shape ofpredictionsdoesn't match that oflabelsor if the shape ofweightsis invalid. Also iflabelsorpredictionsis None.
Eager Compatibility
The loss_collection argument is ignored when executing eagerly. Consider
holding on to the return value or collecting losses via a tf.keras.Model.