chainer.functions.accuracy

chainer.functions.accuracy(y, t, ignore_label=None)[source]

Computes multiclass classification accuracy of the minibatch.

Parameters
  • y (Variable or N-dimensional array) – Array whose (i, j, k, …)-th element indicates the score of the class j at the (i, k, …)-th sample. The prediction label \(\hat t\) is calculated by the formula \(\hat t(i, k, ...) = \operatorname{\mathrm{argmax}}_j y(i, j, k, ...)\).

  • t (Variable or N-dimensional array) – Array of ground truth labels.

  • ignore_label (int or None) – Skip calculating accuracy if the true label is ignore_label.

Returns

A variable holding a scalar array of the accuracy.

Return type

Variable

Note

This function is non-differentiable.

Example

We show the most common case, when y is the two dimensional array.

>>> y = np.array([[0.1, 0.7, 0.2], # prediction label is 1
...               [8.0, 1.0, 2.0], # prediction label is 0
...               [-8.0, 1.0, 2.0], # prediction label is 2
...               [-8.0, -1.0, -2.0]]) # prediction label is 1
>>> t = np.array([1, 0, 2, 1], np.int32)
>>> F.accuracy(y, t).array # 100% accuracy because all samples are correct
array(1.)
>>> t = np.array([1, 0, 0, 0], np.int32)
>>> F.accuracy(y, t).array # 50% accuracy because 1st and 2nd samples are correct.
array(0.5)
>>> F.accuracy(y, t, ignore_label=0).array # 100% accuracy because of ignoring the 2nd, 3rd and 4th samples.
array(1.)