def compute_accuracies_epic()

in notebooks/utils.py [0:0]


def compute_accuracies_epic(probs, dataset):
    manyshot_classes = dataset.classes_manyshot
    vtop1, vtop5, vrec5, vtop1_meancls, vrec5_per_cls = compute_accuracy(
        probs[0], dataset.df.verb_class.values)
    vrec5_ms, nrec5_ms, arec5_ms = float('nan'), float('nan'), float('nan')
    if 'verb' in manyshot_classes:
        _, _, vrec5_ms, _, _ = compute_accuracy(
            probs[0],
            dataset.df.verb_class.values,
            classes=manyshot_classes['verb'])
    ntop1, ntop5, nrec5, ntop1_meancls, nrec5_per_cls = compute_accuracy(
        probs[1], dataset.df.noun_class.values)
    if 'noun' in manyshot_classes:
        _, _, nrec5_ms, _, _ = compute_accuracy(
            probs[1],
            dataset.df.noun_class.values,
            classes=manyshot_classes['noun'])
    atop1, atop5, arec5, atop1_meancls, arec5_per_cls = compute_accuracy(
        probs[2], dataset.df.action_class.values)
    if 'action' in manyshot_classes:
        _, _, arec5_ms, _, _ = compute_accuracy(
            probs[2],
            dataset.df.action_class.values,
            classes=manyshot_classes['action'])
    res = {
        'vtop1': vtop1,
        'vtop5': vtop5,
        'vrec5': vrec5,
        'vrec5_ms': vrec5_ms,
        'vtop1_meancls': vtop1_meancls,
        'vrec5_per_cls': vrec5_per_cls,
        'ntop1': ntop1,
        'ntop5': ntop5,
        'nrec5': nrec5,
        'nrec5_ms': nrec5_ms,
        'ntop1_meancls': ntop1_meancls,
        'nrec5_per_cls': nrec5_per_cls,
        'atop1': atop1,
        'atop5': atop5,
        'arec5': arec5,
        'arec5_ms': arec5_ms,
        'atop1_meancls': atop1_meancls,
        'arec5_per_cls': arec5_per_cls,
    }
    if dataset.version == epic_kitchens.EPIC100_VERSION:
        res.update(epic100_unseen_tail_eval(probs, dataset))
    return res