Spaces:
Running
Running
| from typing import Union | |
| import numpy as np | |
| # Renamed calc_z function to distance_function_log | |
| def distance_function_log(pred: float, gold: float): | |
| if pred == gold == 0: | |
| return 1 | |
| if pred == 0: | |
| pred = 1e-4 | |
| if gold == 0: | |
| gold = 1e-4 | |
| if pred > gold: | |
| return max(0, 1 - np.log(pred / gold)) | |
| else: | |
| return max(0, 1 - np.log(gold / pred)) | |
| def evaluate_numbers(pred: Union[float, str], gold: float): | |
| res = None | |
| if type(pred) != float and type(pred) != int: | |
| try: | |
| pred = float(pred) | |
| except ValueError: | |
| res = 0 | |
| if type(gold) != float and type(gold) != int: | |
| try: | |
| gold = float(gold) | |
| except ValueError: | |
| res = 0 | |
| if res is None: | |
| res = distance_function_log(pred, gold) | |
| return res |