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 |