Spaces:
Sleeping
Sleeping
import json | |
import logging | |
import time | |
from argparse import ArgumentParser | |
import evaluate | |
import numpy as np | |
logging.basicConfig(level=logging.INFO) | |
logger = logging.getLogger(__name__) | |
parser = ArgumentParser( | |
description="Compute the matching series score between two time series freezed in a numpy array" | |
) | |
parser.add_argument("predictions", type=str, help="Path to the numpy array containing the predictions") | |
parser.add_argument("references", type=str, help="Path to the numpy array containing the references") | |
parser.add_argument("--output", type=str, help="Path to the output file") | |
parser.add_argument("--batch_size", type=int, help="Batch size to use for the computation") | |
parser.add_argument("--num_processes", type=int, help="Batch size to use for the computation", default=1) | |
parser.add_argument("--dtype", type=str, help="Data type to use for the computation", default="float32") | |
parser.add_argument("--debug", action="store_true", help="Debug mode") | |
args = parser.parse_args() | |
if not args.predictions or not args.references: | |
raise ValueError("You must provide the path to the predictions and references numpy arrays") | |
predictions = np.load(args.predictions).astype(args.dtype) | |
references = np.load(args.references).astype(args.dtype) | |
if args.debug: | |
predictions = predictions[:1000] | |
references = references[:1000] | |
logger.info(f"predictions shape: {predictions.shape}") | |
logger.info(f"references shape: {references.shape}") | |
import matching_series | |
s = time.time() | |
metric = matching_series.matching_series() | |
# metric = evaluate.load("matching_series.py") | |
results = metric.compute( | |
predictions=predictions, | |
references=references, | |
batch_size=args.batch_size, | |
num_processes=args.num_process, | |
return_each_features=True, | |
return_coverages=True, | |
dtype=args.dtype, | |
) | |
logger.info(f"Time taken: {time.time() - s}") | |
print(json.dumps(results)) | |
if args.output: | |
with open(args.output, "w") as f: | |
json.dump(results, f) | |