37 lines
1.1 KiB
Python
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)
|