fix: fixes issue of zero division error with no successes for anything
All checks were successful
gitea-physics/deepdog/pipeline/head This commit looks good

This commit is contained in:
Deepak Mallubhotla 2024-05-01 20:37:08 -05:00
parent 8fdbe4d334
commit e25db1e0f6
Signed by: deepak
GPG Key ID: 976F3357369149AB

View File

@ -14,6 +14,8 @@ import multiprocessing
_logger = logging.getLogger(__name__) _logger = logging.getLogger(__name__)
ANTI_ZERO_SUCCESS_THRES = 0.1
@dataclass @dataclass
class DirectMonteCarloResult: class DirectMonteCarloResult:
@ -292,7 +294,11 @@ class DirectMonteCarloRun:
num_models = len(self.model_name_pairs) num_models = len(self.model_name_pairs)
success_weight = sum( success_weight = sum(
[ [
(res.successes / res.monte_carlo_count) / num_models (
max(ANTI_ZERO_SUCCESS_THRES, res.successes)
/ res.monte_carlo_count
)
/ num_models
for res in results for res in results
] ]
) )
@ -303,7 +309,8 @@ class DirectMonteCarloRun:
f"{res.model_name}_success": res.successes, f"{res.model_name}_success": res.successes,
f"{res.model_name}_count": res.monte_carlo_count, f"{res.model_name}_count": res.monte_carlo_count,
f"{res.model_name}_prob": ( f"{res.model_name}_prob": (
res.successes / res.monte_carlo_count max(ANTI_ZERO_SUCCESS_THRES, res.successes)
/ res.monte_carlo_count
) )
/ (num_models * success_weight), / (num_models * success_weight),
} }