def mAP(self, classes=None):
        """Computes ActivityNet-style mean average precision (mAP) for the
        specified classes.

        See `this page <https://github.com/activitynet/ActivityNet/tree/master/Evaluation>`_
        for more details about ActivityNet-style mAP.

        Args:
            classes (None): a list of classes for which to compute mAP

        Returns:
            the mAP in ``[0, 1]``
        """
        if classes is not None:
            class_inds = np.array([self._get_class_index(c) for c in classes])
            classwise_AP = self._classwise_AP[class_inds]
        else:
            classwise_AP = self._classwise_AP

        classwise_AP = classwise_AP[classwise_AP > -1]
        if classwise_AP.size == 0:
            return -1

        return np.mean(classwise_AP)
Computes ActivityNet-style mean average precision (mAP) for the
        specified classes.

        See `this page <https://github.com/activitynet/ActivityNet/tree/master/Evaluation>`_
        for more details about ActivityNet-style mAP.

        Args:
            classes (None): a list of classes for which to compute mAP

        Returns:
            the mAP in ``[0, 1]``
        
fiftyone/utils/eval/activitynet.py