chainer.functions.accuracy

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

Computes multiclass classification accuracy of the minibatch.

Parameters:
  • y (Variable or numpy.ndarray or cupy.ndarray) – 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 numpy.ndarray or cupy.ndarray of signed integer) – 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], 'i')
>>> F.accuracy(y, t).data # 100% accuracy because all samples are correct
array(1.)
>>> t = np.array([1, 0, 0, 0], 'i')
>>> F.accuracy(y, t).data # 50% accuracy because 1st and 2nd samples are correct.
array(0.5)
>>> F.accuracy(y, t, ignore_label=0).data # 100% accuracy because of ignoring the 2nd, 3rd and 4th samples.
array(1.)