Files
icassp2027-experiment/third_party/EgoSpeak/LSTR/tools/eval/eval_perframe.py
T

37 lines
1.1 KiB
Python

# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
# SPDX-License-Identifier: Apache-2.0
import logging
logging.basicConfig(level=logging.INFO, format='%(message)s')
import argparse
import numpy as np
import pickle as pkl
from rekognition_online_action_detection.evaluation import compute_result
def eval_perframe(pred_scores_file):
pred_scores = pkl.load(open(pred_scores_file, 'rb'))
cfg = pred_scores['cfg']
perframe_gt_targets = pred_scores['perframe_gt_targets']
perframe_pred_scores = pred_scores['perframe_pred_scores']
# Compute results
result = compute_result['perframe'](
cfg,
np.concatenate(list(perframe_gt_targets.values()), axis=0),
np.concatenate(list(perframe_pred_scores.values()), axis=0),
)
logging.info('Action detection perframe m{}: {:.5f}'.format(
cfg.DATA.METRICS, result['mean_AP']
))
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--pred_scores_file', type=str, required=True)
args = parser.parse_args()
eval_perframe(args.pred_scores_file)