Softmax Categorical Crossentropy

tflearn.objectives.softmax_categorical_crossentropy (y_pred, y_true)

Computes softmax cross entropy between y_pred (logits) and y_true (labels).

Measures the probability error in discrete classification tasks in which the classes are mutually exclusive (each entry is in exactly one class). For example, each CIFAR-10 image is labeled with one and only one label: an image can be a dog or a truck, but not both.

WARNING: This op expects unscaled logits, since it performs a softmax on y_pred internally for efficiency. Do not call this op with the output of softmax, as it will produce incorrect results.

y_pred and y_true must have the same shape [batch_size, num_classes] and the same dtype (either float32 or float64). It is also required that y_true (labels) are binary arrays (For example, class 2 out of a total of 5 different classes, will be define as [0., 1., 0., 0., 0.])

Arguments

  • y_pred: Tensor. Predicted values.
  • y_true: Tensor . Targets (labels), a probability distribution.

Categorical Crossentropy

tflearn.objectives.categorical_crossentropy (y_pred, y_true)

Computes cross entropy between y_pred (logits) and y_true (labels).

Measures the probability error in discrete classification tasks in which the classes are mutually exclusive (each entry is in exactly one class). For example, each CIFAR-10 image is labeled with one and only one label: an image can be a dog or a truck, but not both.

y_pred and y_true must have the same shape [batch_size, num_classes] and the same dtype (either float32 or float64). It is also required that y_true (labels) are binary arrays (For example, class 2 out of a total of 5 different classes, will be define as [0., 1., 0., 0., 0.])

Arguments

  • y_pred: Tensor. Predicted values.
  • y_true: Tensor . Targets (labels), a probability distribution.

Binary Crossentropy

tflearn.objectives.binary_crossentropy (y_pred, y_true)

Computes sigmoid cross entropy between y_pred (logits) and y_true (labels).

Measures the probability error in discrete classification tasks in which each class is independent and not mutually exclusive. For instance, one could perform multilabel classification where a picture can contain both an elephant and a dog at the same time.

For brevity, let x = logits, z = targets. The logistic loss is

x - x * z + log(1 + exp(-x))

To ensure stability and avoid overflow, the implementation uses

max(x, 0) - x * z + log(1 + exp(-abs(x)))

y_pred and y_true must have the same type and shape.

Arguments

  • y_pred: Tensor of float type. Predicted values.
  • y_true: Tensor of float type. Targets (labels).

Mean Square Loss

tflearn.objectives.mean_square (y_pred, y_true)

Arguments

  • y_pred: Tensor of float type. Predicted values.
  • y_true: Tensor of float type. Targets (labels).

Hinge Loss

tflearn.objectives.hinge_loss (y_pred, y_true)

Arguments

  • y_pred: Tensor of float type. Predicted values.
  • y_true: Tensor of float type. Targets (labels).

ROC AUC Score

tflearn.objectives.roc_auc_score (y_pred, y_true)

Approximates the Area Under Curve score, using approximation based on the Wilcoxon-Mann-Whitney U statistic.

Yan, L., Dodier, R., Mozer, M. C., & Wolniewicz, R. (2003). Optimizing Classifier Performance via an Approximation to the Wilcoxon-Mann-Whitney Statistic.

Measures overall performance for a full range of threshold levels.

Arguments

  • y_pred: Tensor. Predicted values.
  • y_true: Tensor . Targets (labels), a probability distribution.

Weak Crossentropy 2d

tflearn.objectives.weak_cross_entropy_2d (y_pred, y_true, num_classes=None, epsilon=0.0001, head=None)

Calculate the semantic segmentation using weak softmax cross entropy loss.

Given the prediction y_pred shaped as 2d image and the corresponding y_true, this calculated the widely used semantic segmentation loss. Using tf.nn.softmax_cross_entropy_with_logits is currently not supported. See https://github.com/tensorflow/tensorflow/issues/2327#issuecomment-224491229

Arguments

  • y_pred: tensor, float - [batch_size, width, height, num_classes].
  • y_true: Labels tensor, int32 - [batch_size, width, height, num_classes]. The ground truth of your data.
  • num_classes: int. Number of classes.
  • epsilon: float. Small number to add to y_pred.
  • head: numpy array - [num_classes]. Weighting the loss of each class.

Returns

Loss tensor of type float.