From 41b7b2c50a957f9be9251ff5b3802a4155a90a52 Mon Sep 17 00:00:00 2001 From: "ngo-nghi-truyen.huynh" Date: Fri, 21 Jun 2024 15:30:01 +0200 Subject: [PATCH] FIX: fix PR from FC comments and fix generate baseline --- .../evaluation/_standardize.py | 23 +- .../signal_analysis/evaluation/evaluation.py | 3 +- smash/tests/baseline.hdf5 | Bin 1694897 -> 1697092 bytes .../core/signal_analysis/test_evaluation.py | 2 +- smash/tests/diff_baseline.csv | 418 +++++++++--------- smash/tests/generate_baseline.py | 4 +- 6 files changed, 227 insertions(+), 223 deletions(-) diff --git a/smash/core/signal_analysis/evaluation/_standardize.py b/smash/core/signal_analysis/evaluation/_standardize.py index 93337267..bd839b09 100644 --- a/smash/core/signal_analysis/evaluation/_standardize.py +++ b/smash/core/signal_analysis/evaluation/_standardize.py @@ -8,8 +8,7 @@ if TYPE_CHECKING: from smash.fcore._mwd_setup import SetupDT - from smash.util._typing import AnyTuple - from smash.util._typing import ListLike + from smash.util._typing import AnyTuple, ListLike def _standardize_evaluation_metric(metric: str | ListLike[str]) -> list: @@ -20,17 +19,19 @@ def _standardize_evaluation_metric(metric: str | ListLike[str]) -> list: metric = [metric.lower()] elif isinstance(metric, list): - for mtc in metric: + for i, mtc in enumerate(metric): if isinstance(mtc, str): if mtc.lower() not in METRICS: - raise ValueError(f"Unknown evaluation metric {mtc}. Choices: {METRICS}") + raise ValueError( + f"Unknown evaluation metric {mtc} at index {i} in metric. Choices: {METRICS}" + ) else: - raise TypeError(f"metric '{mtc}' must be str or a list of str") + raise TypeError("List of evaluation metrics must contain only str") metric = [c.lower() for c in metric] else: - raise TypeError("metric must be str or a list of str") + raise TypeError("Evaluation metric must be str or a list of str") return metric @@ -40,13 +41,7 @@ def _standardize_evaluation_start_end_eval(eval: str | pd.Timestamp | None, kind et = pd.Timestamp(setup.end_time) if eval is None: - if kind == "start": - eval = pd.Timestamp(st) - elif kind == "end": - eval = pd.Timestamp(et) - # % Should be unreachable - else: - pass + eval = pd.Timestamp(getattr(setup, f"{kind}_time")) else: if isinstance(eval, str): @@ -60,7 +55,7 @@ def _standardize_evaluation_start_end_eval(eval: str | pd.Timestamp | None, kind pass else: - raise TypeError("{kind}_eval argument must be str or pandas.Timestamp object") + raise TypeError(f"{kind}_eval argument must be str or pandas.Timestamp object") if (eval - st).total_seconds() < 0 or (et - eval).total_seconds() < 0: raise ValueError( diff --git a/smash/core/signal_analysis/evaluation/evaluation.py b/smash/core/signal_analysis/evaluation/evaluation.py index 5b44a83b..71b6edf6 100644 --- a/smash/core/signal_analysis/evaluation/evaluation.py +++ b/smash/core/signal_analysis/evaluation/evaluation.py @@ -8,11 +8,10 @@ from smash.core.signal_analysis.evaluation._standardize import _standardize_evaluation_args if TYPE_CHECKING: - from smash.util._typing import ListLike - from pandas import Timestamp from smash.core.model.model import Model + from smash.util._typing import ListLike __all__ = ["evaluation"] diff --git a/smash/tests/baseline.hdf5 b/smash/tests/baseline.hdf5 index 6748cc58eb209860c84828037b2bc1e126910012..f59b3c504252461275b9742047157473a2d1e4a9 100644 GIT binary patch delta 68851 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 z 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 delta 68312 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[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 dict: metrics = smash.evaluation(instance, metric=METRICS) for i, m in enumerate(METRICS): - res[f"metrics.{m}"] = metrics[:, i] + res[f"evaluation.{m}"] = metrics[:, i] return res diff --git a/smash/tests/diff_baseline.csv b/smash/tests/diff_baseline.csv index 963654e7..f42ded9c 100644 --- a/smash/tests/diff_baseline.csv +++ b/smash/tests/diff_baseline.csv @@ -1,8 +1,8 @@ -commit 307eb806a3ba38a0b22e3318a42de96a94793400 -Author: Francois Colleoni -Date: Thu Mar 28 16:26:18 2024 +0100 +commit 56a706681ccdb579bad89a05912b24adb8e47516 +Author: ngo-nghi-truyen.huynh +Date: Thu Jun 20 23:01:58 2024 +0200 - FIX PR: Change test multiset estimate setup + MAINT: smash.metrics is deprecated and replaced by smash.evaluation TEST NAME |STATUS bbox_mesh.active_cell |NON MODIFIED @@ -23,63 +23,71 @@ bbox_mesh.xmin |NON MODIFIED bbox_mesh.xres |NON MODIFIED bbox_mesh.ymax |NON MODIFIED bbox_mesh.yres |NON MODIFIED -custom_bayesian_optimize.zero-gr4-lr.custom_set_1.sim_q |MODIFIED -custom_bayesian_optimize.zero-gr4-lr.custom_set_2.sim_q |MODIFIED -custom_bayesian_optimize.zero-gr4-lr.custom_set_3.sim_q |MODIFIED -custom_bayesian_optimize.zero-gr4-lr.custom_set_4.sim_q |MODIFIED -custom_optimize.zero-gr4-lr.custom_set_1.sim_q |MODIFIED -custom_optimize.zero-gr4-lr.custom_set_2.sim_q |MODIFIED -custom_optimize.zero-gr4-lr.custom_set_3.sim_q |MODIFIED -custom_optimize.zero-gr4-lr.custom_set_4.sim_q |MODIFIED -custom_optimize.zero-gr4-lr.custom_set_5.sim_q |MODIFIED -custom_optimize.zero-gr4-lr.custom_set_6.sim_q |MODIFIED -custom_optimize.zero-gr4-lr.custom_set_7.sim_q |MODIFIED -custom_optimize.zero-gr4-lr.custom_set_8.sim_q |MODIFIED -custom_optimize.zero-gr4-lr.custom_set_9.sim_q |MODIFIED -forward_run.zero-gr4-kw.cost |MODIFIED -forward_run.zero-gr4-kw.jobs |MODIFIED -forward_run.zero-gr4-kw.q_domain |MODIFIED +custom_bayesian_optimize.zero-gr4-lr.custom_set_1.sim_q |NON MODIFIED +custom_bayesian_optimize.zero-gr4-lr.custom_set_2.sim_q |NON MODIFIED +custom_bayesian_optimize.zero-gr4-lr.custom_set_3.sim_q |NON MODIFIED +custom_bayesian_optimize.zero-gr4-lr.custom_set_4.sim_q |NON MODIFIED +custom_optimize.zero-gr4-lr.custom_set_1.sim_q |NON MODIFIED +custom_optimize.zero-gr4-lr.custom_set_2.sim_q |NON MODIFIED +custom_optimize.zero-gr4-lr.custom_set_3.sim_q |NON MODIFIED +custom_optimize.zero-gr4-lr.custom_set_4.sim_q |NON MODIFIED +custom_optimize.zero-gr4-lr.custom_set_5.sim_q |NON MODIFIED +custom_optimize.zero-gr4-lr.custom_set_6.sim_q |NON MODIFIED +custom_optimize.zero-gr4-lr.custom_set_7.sim_q |NON MODIFIED +custom_optimize.zero-gr4-lr.custom_set_8.sim_q |NON MODIFIED +custom_optimize.zero-gr4-lr.custom_set_9.sim_q |NON MODIFIED +evaluation.kge |ADDED +evaluation.lgrm |ADDED +evaluation.mae |ADDED +evaluation.mape |ADDED +evaluation.mse |ADDED +evaluation.nnse |ADDED +evaluation.nse |ADDED +evaluation.rmse |ADDED +forward_run.zero-gr4-kw.cost |NON MODIFIED +forward_run.zero-gr4-kw.jobs |NON MODIFIED +forward_run.zero-gr4-kw.q_domain |NON MODIFIED forward_run.zero-gr4-kw.rr_states.hi |NON MODIFIED -forward_run.zero-gr4-kw.rr_states.hp |MODIFIED -forward_run.zero-gr4-kw.rr_states.ht |MODIFIED -forward_run.zero-gr4-kw.sim_q |MODIFIED -forward_run.zero-gr4-lag0.cost |MODIFIED -forward_run.zero-gr4-lag0.jobs |MODIFIED -forward_run.zero-gr4-lag0.q_domain |MODIFIED +forward_run.zero-gr4-kw.rr_states.hp |NON MODIFIED +forward_run.zero-gr4-kw.rr_states.ht |NON MODIFIED +forward_run.zero-gr4-kw.sim_q |NON MODIFIED +forward_run.zero-gr4-lag0.cost |NON MODIFIED +forward_run.zero-gr4-lag0.jobs |NON MODIFIED +forward_run.zero-gr4-lag0.q_domain |NON MODIFIED forward_run.zero-gr4-lag0.rr_states.hi |NON MODIFIED -forward_run.zero-gr4-lag0.rr_states.hp |MODIFIED -forward_run.zero-gr4-lag0.rr_states.ht |MODIFIED -forward_run.zero-gr4-lag0.sim_q |MODIFIED -forward_run.zero-gr4-lr.cost |MODIFIED -forward_run.zero-gr4-lr.jobs |MODIFIED -forward_run.zero-gr4-lr.q_domain |MODIFIED +forward_run.zero-gr4-lag0.rr_states.hp |NON MODIFIED +forward_run.zero-gr4-lag0.rr_states.ht |NON MODIFIED +forward_run.zero-gr4-lag0.sim_q |NON MODIFIED +forward_run.zero-gr4-lr.cost |NON MODIFIED +forward_run.zero-gr4-lr.jobs |NON MODIFIED +forward_run.zero-gr4-lr.q_domain |NON MODIFIED forward_run.zero-gr4-lr.rr_states.hi |NON MODIFIED forward_run.zero-gr4-lr.rr_states.hlr |NON MODIFIED -forward_run.zero-gr4-lr.rr_states.hp |MODIFIED -forward_run.zero-gr4-lr.rr_states.ht |MODIFIED -forward_run.zero-gr4-lr.sim_q |MODIFIED -forward_run.zero-gr5-kw.cost |MODIFIED -forward_run.zero-gr5-kw.jobs |MODIFIED -forward_run.zero-gr5-kw.q_domain |MODIFIED +forward_run.zero-gr4-lr.rr_states.hp |NON MODIFIED +forward_run.zero-gr4-lr.rr_states.ht |NON MODIFIED +forward_run.zero-gr4-lr.sim_q |NON MODIFIED +forward_run.zero-gr5-kw.cost |NON MODIFIED +forward_run.zero-gr5-kw.jobs |NON MODIFIED +forward_run.zero-gr5-kw.q_domain |NON MODIFIED forward_run.zero-gr5-kw.rr_states.hi |NON MODIFIED -forward_run.zero-gr5-kw.rr_states.hp |MODIFIED -forward_run.zero-gr5-kw.rr_states.ht |MODIFIED -forward_run.zero-gr5-kw.sim_q |MODIFIED -forward_run.zero-gr5-lag0.cost |MODIFIED -forward_run.zero-gr5-lag0.jobs |MODIFIED -forward_run.zero-gr5-lag0.q_domain |MODIFIED +forward_run.zero-gr5-kw.rr_states.hp |NON MODIFIED +forward_run.zero-gr5-kw.rr_states.ht |NON MODIFIED +forward_run.zero-gr5-kw.sim_q |NON MODIFIED +forward_run.zero-gr5-lag0.cost |NON MODIFIED +forward_run.zero-gr5-lag0.jobs |NON MODIFIED +forward_run.zero-gr5-lag0.q_domain |NON MODIFIED forward_run.zero-gr5-lag0.rr_states.hi |NON MODIFIED -forward_run.zero-gr5-lag0.rr_states.hp |MODIFIED -forward_run.zero-gr5-lag0.rr_states.ht |MODIFIED -forward_run.zero-gr5-lag0.sim_q |MODIFIED -forward_run.zero-gr5-lr.cost |MODIFIED -forward_run.zero-gr5-lr.jobs |MODIFIED -forward_run.zero-gr5-lr.q_domain |MODIFIED +forward_run.zero-gr5-lag0.rr_states.hp |NON MODIFIED +forward_run.zero-gr5-lag0.rr_states.ht |NON MODIFIED +forward_run.zero-gr5-lag0.sim_q |NON MODIFIED +forward_run.zero-gr5-lr.cost |NON MODIFIED +forward_run.zero-gr5-lr.jobs |NON MODIFIED +forward_run.zero-gr5-lr.q_domain |NON MODIFIED forward_run.zero-gr5-lr.rr_states.hi |NON MODIFIED forward_run.zero-gr5-lr.rr_states.hlr |NON MODIFIED -forward_run.zero-gr5-lr.rr_states.hp |MODIFIED -forward_run.zero-gr5-lr.rr_states.ht |MODIFIED -forward_run.zero-gr5-lr.sim_q |MODIFIED +forward_run.zero-gr5-lr.rr_states.hp |NON MODIFIED +forward_run.zero-gr5-lr.rr_states.ht |NON MODIFIED +forward_run.zero-gr5-lr.sim_q |NON MODIFIED forward_run.zero-grd-kw.cost |NON MODIFIED forward_run.zero-grd-kw.jobs |NON MODIFIED forward_run.zero-grd-kw.q_domain |NON MODIFIED @@ -99,25 +107,25 @@ forward_run.zero-grd-lr.rr_states.hlr |NON MODIFIED forward_run.zero-grd-lr.rr_states.hp |NON MODIFIED forward_run.zero-grd-lr.rr_states.ht |NON MODIFIED forward_run.zero-grd-lr.sim_q |NON MODIFIED -forward_run.zero-loieau-kw.cost |MODIFIED -forward_run.zero-loieau-kw.jobs |MODIFIED -forward_run.zero-loieau-kw.q_domain |MODIFIED -forward_run.zero-loieau-kw.rr_states.ha |MODIFIED -forward_run.zero-loieau-kw.rr_states.hc |MODIFIED -forward_run.zero-loieau-kw.sim_q |MODIFIED -forward_run.zero-loieau-lag0.cost |MODIFIED -forward_run.zero-loieau-lag0.jobs |MODIFIED -forward_run.zero-loieau-lag0.q_domain |MODIFIED -forward_run.zero-loieau-lag0.rr_states.ha |MODIFIED -forward_run.zero-loieau-lag0.rr_states.hc |MODIFIED -forward_run.zero-loieau-lag0.sim_q |MODIFIED -forward_run.zero-loieau-lr.cost |MODIFIED -forward_run.zero-loieau-lr.jobs |MODIFIED -forward_run.zero-loieau-lr.q_domain |MODIFIED -forward_run.zero-loieau-lr.rr_states.ha |MODIFIED -forward_run.zero-loieau-lr.rr_states.hc |MODIFIED +forward_run.zero-loieau-kw.cost |NON MODIFIED +forward_run.zero-loieau-kw.jobs |NON MODIFIED +forward_run.zero-loieau-kw.q_domain |NON MODIFIED +forward_run.zero-loieau-kw.rr_states.ha |NON MODIFIED +forward_run.zero-loieau-kw.rr_states.hc |NON MODIFIED +forward_run.zero-loieau-kw.sim_q |NON MODIFIED +forward_run.zero-loieau-lag0.cost |NON MODIFIED +forward_run.zero-loieau-lag0.jobs |NON MODIFIED +forward_run.zero-loieau-lag0.q_domain |NON MODIFIED +forward_run.zero-loieau-lag0.rr_states.ha |NON MODIFIED +forward_run.zero-loieau-lag0.rr_states.hc |NON MODIFIED +forward_run.zero-loieau-lag0.sim_q |NON MODIFIED +forward_run.zero-loieau-lr.cost |NON MODIFIED +forward_run.zero-loieau-lr.jobs |NON MODIFIED +forward_run.zero-loieau-lr.q_domain |NON MODIFIED +forward_run.zero-loieau-lr.rr_states.ha |NON MODIFIED +forward_run.zero-loieau-lr.rr_states.hc |NON MODIFIED forward_run.zero-loieau-lr.rr_states.hlr |NON MODIFIED -forward_run.zero-loieau-lr.sim_q |MODIFIED +forward_run.zero-loieau-lr.sim_q |NON MODIFIED forward_run.zero-vic3l-kw.cost |NON MODIFIED forward_run.zero-vic3l-kw.jobs |NON MODIFIED forward_run.zero-vic3l-kw.q_domain |NON MODIFIED @@ -170,14 +178,14 @@ mesh_io.xmin |NON MODIFIED mesh_io.xres |NON MODIFIED mesh_io.ymax |NON MODIFIED mesh_io.yres |NON MODIFIED -metrics.kge |NON MODIFIED -metrics.lgrm |NON MODIFIED -metrics.mae |NON MODIFIED -metrics.mape |NON MODIFIED -metrics.mse |NON MODIFIED -metrics.nnse |NON MODIFIED -metrics.nse |NON MODIFIED -metrics.rmse |NON MODIFIED +metrics.kge |DELETED +metrics.lgrm |DELETED +metrics.mae |DELETED +metrics.mape |DELETED +metrics.mse |DELETED +metrics.nnse |DELETED +metrics.nse |DELETED +metrics.rmse |DELETED model_ddt_io.mesh.active_cell |NON MODIFIED model_ddt_io.mesh.area |NON MODIFIED model_ddt_io.mesh.code |NON MODIFIED @@ -224,16 +232,16 @@ model_io.setup.end_time |NON MODIFIED model_io.setup.start_time |NON MODIFIED model_io.setup.structure |NON MODIFIED multiset_estimate.mfwr.lcurve_multiset.alpha |NON MODIFIED -multiset_estimate.mfwr.lcurve_multiset.alpha_opt |MODIFIED -multiset_estimate.mfwr.lcurve_multiset.cost |MODIFIED -multiset_estimate.mfwr.lcurve_multiset.mahal_dist |MODIFIED -multiset_estimate.mfwr.sim_q |MODIFIED -multiset_estimate.mopt_ml.sim_q |MODIFIED +multiset_estimate.mfwr.lcurve_multiset.alpha_opt |NON MODIFIED +multiset_estimate.mfwr.lcurve_multiset.cost |NON MODIFIED +multiset_estimate.mfwr.lcurve_multiset.mahal_dist |NON MODIFIED +multiset_estimate.mfwr.sim_q |NON MODIFIED +multiset_estimate.mopt_ml.sim_q |NON MODIFIED multiset_estimate.mopt_unf.lcurve_multiset.alpha |NON MODIFIED -multiset_estimate.mopt_unf.lcurve_multiset.alpha_opt |MODIFIED -multiset_estimate.mopt_unf.lcurve_multiset.cost |MODIFIED -multiset_estimate.mopt_unf.lcurve_multiset.mahal_dist |MODIFIED -multiset_estimate.mopt_unf.sim_q |MODIFIED +multiset_estimate.mopt_unf.lcurve_multiset.alpha_opt |NON MODIFIED +multiset_estimate.mopt_unf.lcurve_multiset.cost |NON MODIFIED +multiset_estimate.mopt_unf.lcurve_multiset.mahal_dist |NON MODIFIED +multiset_estimate.mopt_unf.sim_q |NON MODIFIED net_init.bias_layer_1 |NON MODIFIED net_init.bias_layer_2 |NON MODIFIED net_init.bias_layer_3 |NON MODIFIED @@ -243,84 +251,84 @@ net_init.weight_layer_1 |NON MODIFIED net_init.weight_layer_2 |NON MODIFIED net_init.weight_layer_3 |NON MODIFIED net_init.weight_layer_4 |NON MODIFIED -optimize.zero-gr4-kw.ann.sim_q |MODIFIED -optimize.zero-gr4-kw.distributed.control_vector |MODIFIED -optimize.zero-gr4-kw.distributed.iter_cost |MODIFIED -optimize.zero-gr4-kw.distributed.sim_q |MODIFIED -optimize.zero-gr4-kw.multi-linear.control_vector |MODIFIED -optimize.zero-gr4-kw.multi-linear.iter_cost |MODIFIED -optimize.zero-gr4-kw.multi-linear.sim_q |MODIFIED -optimize.zero-gr4-kw.multi-polynomial.control_vector |MODIFIED -optimize.zero-gr4-kw.multi-polynomial.iter_cost |MODIFIED -optimize.zero-gr4-kw.multi-polynomial.sim_q |MODIFIED -optimize.zero-gr4-kw.uniform.control_vector |MODIFIED -optimize.zero-gr4-kw.uniform.iter_cost |MODIFIED -optimize.zero-gr4-kw.uniform.sim_q |MODIFIED -optimize.zero-gr4-lag0.ann.sim_q |MODIFIED -optimize.zero-gr4-lag0.distributed.control_vector |MODIFIED -optimize.zero-gr4-lag0.distributed.iter_cost |MODIFIED -optimize.zero-gr4-lag0.distributed.sim_q |MODIFIED -optimize.zero-gr4-lag0.multi-linear.control_vector |MODIFIED -optimize.zero-gr4-lag0.multi-linear.iter_cost |MODIFIED -optimize.zero-gr4-lag0.multi-linear.sim_q |MODIFIED -optimize.zero-gr4-lag0.multi-polynomial.control_vector |MODIFIED -optimize.zero-gr4-lag0.multi-polynomial.iter_cost |MODIFIED -optimize.zero-gr4-lag0.multi-polynomial.sim_q |MODIFIED -optimize.zero-gr4-lag0.uniform.control_vector |MODIFIED -optimize.zero-gr4-lag0.uniform.iter_cost |MODIFIED -optimize.zero-gr4-lag0.uniform.sim_q |MODIFIED -optimize.zero-gr4-lr.ann.sim_q |MODIFIED -optimize.zero-gr4-lr.distributed.control_vector |MODIFIED -optimize.zero-gr4-lr.distributed.iter_cost |MODIFIED -optimize.zero-gr4-lr.distributed.sim_q |MODIFIED -optimize.zero-gr4-lr.multi-linear.control_vector |MODIFIED -optimize.zero-gr4-lr.multi-linear.iter_cost |MODIFIED -optimize.zero-gr4-lr.multi-linear.sim_q |MODIFIED -optimize.zero-gr4-lr.multi-polynomial.control_vector |MODIFIED -optimize.zero-gr4-lr.multi-polynomial.iter_cost |MODIFIED -optimize.zero-gr4-lr.multi-polynomial.sim_q |MODIFIED -optimize.zero-gr4-lr.uniform.control_vector |MODIFIED -optimize.zero-gr4-lr.uniform.iter_cost |MODIFIED -optimize.zero-gr4-lr.uniform.sim_q |MODIFIED -optimize.zero-gr5-kw.ann.sim_q |MODIFIED -optimize.zero-gr5-kw.distributed.control_vector |MODIFIED -optimize.zero-gr5-kw.distributed.iter_cost |MODIFIED -optimize.zero-gr5-kw.distributed.sim_q |MODIFIED -optimize.zero-gr5-kw.multi-linear.control_vector |MODIFIED -optimize.zero-gr5-kw.multi-linear.iter_cost |MODIFIED -optimize.zero-gr5-kw.multi-linear.sim_q |MODIFIED -optimize.zero-gr5-kw.multi-polynomial.control_vector |MODIFIED -optimize.zero-gr5-kw.multi-polynomial.iter_cost |MODIFIED -optimize.zero-gr5-kw.multi-polynomial.sim_q |MODIFIED -optimize.zero-gr5-kw.uniform.control_vector |MODIFIED -optimize.zero-gr5-kw.uniform.iter_cost |MODIFIED -optimize.zero-gr5-kw.uniform.sim_q |MODIFIED -optimize.zero-gr5-lag0.ann.sim_q |MODIFIED -optimize.zero-gr5-lag0.distributed.control_vector |MODIFIED -optimize.zero-gr5-lag0.distributed.iter_cost |MODIFIED -optimize.zero-gr5-lag0.distributed.sim_q |MODIFIED -optimize.zero-gr5-lag0.multi-linear.control_vector |MODIFIED -optimize.zero-gr5-lag0.multi-linear.iter_cost |MODIFIED -optimize.zero-gr5-lag0.multi-linear.sim_q |MODIFIED -optimize.zero-gr5-lag0.multi-polynomial.control_vector |MODIFIED -optimize.zero-gr5-lag0.multi-polynomial.iter_cost |MODIFIED -optimize.zero-gr5-lag0.multi-polynomial.sim_q |MODIFIED -optimize.zero-gr5-lag0.uniform.control_vector |MODIFIED -optimize.zero-gr5-lag0.uniform.iter_cost |MODIFIED -optimize.zero-gr5-lag0.uniform.sim_q |MODIFIED -optimize.zero-gr5-lr.ann.sim_q |MODIFIED -optimize.zero-gr5-lr.distributed.control_vector |MODIFIED -optimize.zero-gr5-lr.distributed.iter_cost |MODIFIED -optimize.zero-gr5-lr.distributed.sim_q |MODIFIED -optimize.zero-gr5-lr.multi-linear.control_vector |MODIFIED -optimize.zero-gr5-lr.multi-linear.iter_cost |MODIFIED -optimize.zero-gr5-lr.multi-linear.sim_q |MODIFIED -optimize.zero-gr5-lr.multi-polynomial.control_vector |MODIFIED -optimize.zero-gr5-lr.multi-polynomial.iter_cost |MODIFIED -optimize.zero-gr5-lr.multi-polynomial.sim_q |MODIFIED -optimize.zero-gr5-lr.uniform.control_vector |MODIFIED -optimize.zero-gr5-lr.uniform.iter_cost |MODIFIED -optimize.zero-gr5-lr.uniform.sim_q |MODIFIED +optimize.zero-gr4-kw.ann.sim_q |NON MODIFIED +optimize.zero-gr4-kw.distributed.control_vector |NON MODIFIED +optimize.zero-gr4-kw.distributed.iter_cost |NON MODIFIED +optimize.zero-gr4-kw.distributed.sim_q |NON MODIFIED +optimize.zero-gr4-kw.multi-linear.control_vector |NON MODIFIED +optimize.zero-gr4-kw.multi-linear.iter_cost |NON MODIFIED +optimize.zero-gr4-kw.multi-linear.sim_q |NON MODIFIED +optimize.zero-gr4-kw.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-gr4-kw.multi-polynomial.iter_cost |NON MODIFIED +optimize.zero-gr4-kw.multi-polynomial.sim_q |NON MODIFIED +optimize.zero-gr4-kw.uniform.control_vector |NON MODIFIED +optimize.zero-gr4-kw.uniform.iter_cost |NON MODIFIED +optimize.zero-gr4-kw.uniform.sim_q |NON MODIFIED +optimize.zero-gr4-lag0.ann.sim_q |NON MODIFIED +optimize.zero-gr4-lag0.distributed.control_vector |NON MODIFIED +optimize.zero-gr4-lag0.distributed.iter_cost |NON MODIFIED +optimize.zero-gr4-lag0.distributed.sim_q |NON MODIFIED +optimize.zero-gr4-lag0.multi-linear.control_vector |NON MODIFIED +optimize.zero-gr4-lag0.multi-linear.iter_cost |NON MODIFIED +optimize.zero-gr4-lag0.multi-linear.sim_q |NON MODIFIED +optimize.zero-gr4-lag0.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-gr4-lag0.multi-polynomial.iter_cost |NON MODIFIED +optimize.zero-gr4-lag0.multi-polynomial.sim_q |NON MODIFIED +optimize.zero-gr4-lag0.uniform.control_vector |NON MODIFIED +optimize.zero-gr4-lag0.uniform.iter_cost |NON MODIFIED +optimize.zero-gr4-lag0.uniform.sim_q |NON MODIFIED +optimize.zero-gr4-lr.ann.sim_q |NON MODIFIED +optimize.zero-gr4-lr.distributed.control_vector |NON MODIFIED +optimize.zero-gr4-lr.distributed.iter_cost |NON MODIFIED +optimize.zero-gr4-lr.distributed.sim_q |NON MODIFIED +optimize.zero-gr4-lr.multi-linear.control_vector |NON MODIFIED +optimize.zero-gr4-lr.multi-linear.iter_cost |NON MODIFIED +optimize.zero-gr4-lr.multi-linear.sim_q |NON MODIFIED +optimize.zero-gr4-lr.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-gr4-lr.multi-polynomial.iter_cost |NON MODIFIED +optimize.zero-gr4-lr.multi-polynomial.sim_q |NON MODIFIED +optimize.zero-gr4-lr.uniform.control_vector |NON MODIFIED +optimize.zero-gr4-lr.uniform.iter_cost |NON MODIFIED +optimize.zero-gr4-lr.uniform.sim_q |NON MODIFIED +optimize.zero-gr5-kw.ann.sim_q |NON MODIFIED +optimize.zero-gr5-kw.distributed.control_vector |NON MODIFIED +optimize.zero-gr5-kw.distributed.iter_cost |NON MODIFIED +optimize.zero-gr5-kw.distributed.sim_q |NON MODIFIED +optimize.zero-gr5-kw.multi-linear.control_vector |NON MODIFIED +optimize.zero-gr5-kw.multi-linear.iter_cost |NON MODIFIED +optimize.zero-gr5-kw.multi-linear.sim_q |NON MODIFIED +optimize.zero-gr5-kw.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-gr5-kw.multi-polynomial.iter_cost |NON MODIFIED +optimize.zero-gr5-kw.multi-polynomial.sim_q |NON MODIFIED +optimize.zero-gr5-kw.uniform.control_vector |NON MODIFIED +optimize.zero-gr5-kw.uniform.iter_cost |NON MODIFIED +optimize.zero-gr5-kw.uniform.sim_q |NON MODIFIED +optimize.zero-gr5-lag0.ann.sim_q |NON MODIFIED +optimize.zero-gr5-lag0.distributed.control_vector |NON MODIFIED +optimize.zero-gr5-lag0.distributed.iter_cost |NON MODIFIED +optimize.zero-gr5-lag0.distributed.sim_q |NON MODIFIED +optimize.zero-gr5-lag0.multi-linear.control_vector |NON MODIFIED +optimize.zero-gr5-lag0.multi-linear.iter_cost |NON MODIFIED +optimize.zero-gr5-lag0.multi-linear.sim_q |NON MODIFIED +optimize.zero-gr5-lag0.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-gr5-lag0.multi-polynomial.iter_cost |NON MODIFIED +optimize.zero-gr5-lag0.multi-polynomial.sim_q |NON MODIFIED +optimize.zero-gr5-lag0.uniform.control_vector |NON MODIFIED +optimize.zero-gr5-lag0.uniform.iter_cost |NON MODIFIED +optimize.zero-gr5-lag0.uniform.sim_q |NON MODIFIED +optimize.zero-gr5-lr.ann.sim_q |NON MODIFIED +optimize.zero-gr5-lr.distributed.control_vector |NON MODIFIED +optimize.zero-gr5-lr.distributed.iter_cost |NON MODIFIED +optimize.zero-gr5-lr.distributed.sim_q |NON MODIFIED +optimize.zero-gr5-lr.multi-linear.control_vector |NON MODIFIED +optimize.zero-gr5-lr.multi-linear.iter_cost |NON MODIFIED +optimize.zero-gr5-lr.multi-linear.sim_q |NON MODIFIED +optimize.zero-gr5-lr.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-gr5-lr.multi-polynomial.iter_cost |NON MODIFIED +optimize.zero-gr5-lr.multi-polynomial.sim_q |NON MODIFIED +optimize.zero-gr5-lr.uniform.control_vector |NON MODIFIED +optimize.zero-gr5-lr.uniform.iter_cost |NON MODIFIED +optimize.zero-gr5-lr.uniform.sim_q |NON MODIFIED optimize.zero-grd-kw.ann.sim_q |NON MODIFIED optimize.zero-grd-kw.distributed.control_vector |NON MODIFIED optimize.zero-grd-kw.distributed.iter_cost |NON MODIFIED @@ -360,45 +368,45 @@ optimize.zero-grd-lr.multi-polynomial.sim_q |NON MODIFIED optimize.zero-grd-lr.uniform.control_vector |NON MODIFIED optimize.zero-grd-lr.uniform.iter_cost |NON MODIFIED optimize.zero-grd-lr.uniform.sim_q |NON MODIFIED -optimize.zero-loieau-kw.ann.sim_q |MODIFIED -optimize.zero-loieau-kw.distributed.control_vector |MODIFIED -optimize.zero-loieau-kw.distributed.iter_cost |MODIFIED -optimize.zero-loieau-kw.distributed.sim_q |MODIFIED -optimize.zero-loieau-kw.multi-linear.control_vector |MODIFIED -optimize.zero-loieau-kw.multi-linear.iter_cost |MODIFIED -optimize.zero-loieau-kw.multi-linear.sim_q |MODIFIED -optimize.zero-loieau-kw.multi-polynomial.control_vector |MODIFIED -optimize.zero-loieau-kw.multi-polynomial.iter_cost |MODIFIED -optimize.zero-loieau-kw.multi-polynomial.sim_q |MODIFIED -optimize.zero-loieau-kw.uniform.control_vector |MODIFIED -optimize.zero-loieau-kw.uniform.iter_cost |MODIFIED -optimize.zero-loieau-kw.uniform.sim_q |MODIFIED -optimize.zero-loieau-lag0.ann.sim_q |MODIFIED -optimize.zero-loieau-lag0.distributed.control_vector |MODIFIED -optimize.zero-loieau-lag0.distributed.iter_cost |MODIFIED -optimize.zero-loieau-lag0.distributed.sim_q |MODIFIED -optimize.zero-loieau-lag0.multi-linear.control_vector |MODIFIED -optimize.zero-loieau-lag0.multi-linear.iter_cost |MODIFIED -optimize.zero-loieau-lag0.multi-linear.sim_q |MODIFIED -optimize.zero-loieau-lag0.multi-polynomial.control_vector |MODIFIED -optimize.zero-loieau-lag0.multi-polynomial.iter_cost |MODIFIED -optimize.zero-loieau-lag0.multi-polynomial.sim_q |MODIFIED -optimize.zero-loieau-lag0.uniform.control_vector |MODIFIED -optimize.zero-loieau-lag0.uniform.iter_cost |MODIFIED -optimize.zero-loieau-lag0.uniform.sim_q |MODIFIED -optimize.zero-loieau-lr.ann.sim_q |MODIFIED -optimize.zero-loieau-lr.distributed.control_vector |MODIFIED -optimize.zero-loieau-lr.distributed.iter_cost |MODIFIED -optimize.zero-loieau-lr.distributed.sim_q |MODIFIED -optimize.zero-loieau-lr.multi-linear.control_vector |MODIFIED -optimize.zero-loieau-lr.multi-linear.iter_cost |MODIFIED -optimize.zero-loieau-lr.multi-linear.sim_q |MODIFIED -optimize.zero-loieau-lr.multi-polynomial.control_vector |MODIFIED -optimize.zero-loieau-lr.multi-polynomial.iter_cost |MODIFIED -optimize.zero-loieau-lr.multi-polynomial.sim_q |MODIFIED -optimize.zero-loieau-lr.uniform.control_vector |MODIFIED -optimize.zero-loieau-lr.uniform.iter_cost |MODIFIED -optimize.zero-loieau-lr.uniform.sim_q |MODIFIED +optimize.zero-loieau-kw.ann.sim_q |NON MODIFIED +optimize.zero-loieau-kw.distributed.control_vector |NON MODIFIED +optimize.zero-loieau-kw.distributed.iter_cost |NON MODIFIED +optimize.zero-loieau-kw.distributed.sim_q |NON MODIFIED +optimize.zero-loieau-kw.multi-linear.control_vector |NON MODIFIED +optimize.zero-loieau-kw.multi-linear.iter_cost |NON MODIFIED +optimize.zero-loieau-kw.multi-linear.sim_q |NON MODIFIED +optimize.zero-loieau-kw.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-loieau-kw.multi-polynomial.iter_cost |NON MODIFIED +optimize.zero-loieau-kw.multi-polynomial.sim_q |NON MODIFIED +optimize.zero-loieau-kw.uniform.control_vector |NON MODIFIED +optimize.zero-loieau-kw.uniform.iter_cost |NON MODIFIED +optimize.zero-loieau-kw.uniform.sim_q |NON MODIFIED +optimize.zero-loieau-lag0.ann.sim_q |NON MODIFIED +optimize.zero-loieau-lag0.distributed.control_vector |NON MODIFIED +optimize.zero-loieau-lag0.distributed.iter_cost |NON MODIFIED +optimize.zero-loieau-lag0.distributed.sim_q |NON MODIFIED +optimize.zero-loieau-lag0.multi-linear.control_vector |NON MODIFIED +optimize.zero-loieau-lag0.multi-linear.iter_cost |NON MODIFIED +optimize.zero-loieau-lag0.multi-linear.sim_q |NON MODIFIED +optimize.zero-loieau-lag0.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-loieau-lag0.multi-polynomial.iter_cost |NON MODIFIED +optimize.zero-loieau-lag0.multi-polynomial.sim_q |NON MODIFIED +optimize.zero-loieau-lag0.uniform.control_vector |NON MODIFIED +optimize.zero-loieau-lag0.uniform.iter_cost |NON MODIFIED +optimize.zero-loieau-lag0.uniform.sim_q |NON MODIFIED +optimize.zero-loieau-lr.ann.sim_q |NON MODIFIED +optimize.zero-loieau-lr.distributed.control_vector |NON MODIFIED +optimize.zero-loieau-lr.distributed.iter_cost |NON MODIFIED +optimize.zero-loieau-lr.distributed.sim_q |NON MODIFIED +optimize.zero-loieau-lr.multi-linear.control_vector |NON MODIFIED +optimize.zero-loieau-lr.multi-linear.iter_cost |NON MODIFIED +optimize.zero-loieau-lr.multi-linear.sim_q |NON MODIFIED +optimize.zero-loieau-lr.multi-polynomial.control_vector |NON MODIFIED +optimize.zero-loieau-lr.multi-polynomial.iter_cost |NON MODIFIED +optimize.zero-loieau-lr.multi-polynomial.sim_q |NON MODIFIED +optimize.zero-loieau-lr.uniform.control_vector |NON MODIFIED +optimize.zero-loieau-lr.uniform.iter_cost |NON MODIFIED +optimize.zero-loieau-lr.uniform.sim_q |NON MODIFIED optimize.zero-vic3l-kw.ann.sim_q |NON MODIFIED optimize.zero-vic3l-kw.distributed.control_vector |NON MODIFIED optimize.zero-vic3l-kw.distributed.iter_cost |NON MODIFIED diff --git a/smash/tests/generate_baseline.py b/smash/tests/generate_baseline.py index 6aedfe91..6a0169c7 100644 --- a/smash/tests/generate_baseline.py +++ b/smash/tests/generate_baseline.py @@ -101,7 +101,9 @@ def compare_baseline(f: h5py.File, new_f: h5py.File): if key in new_f_keys and key in f_keys: # % If an error occurs during check (inconsistent shapes ...) try: - if f[key][:].dtype == "object" or f[key][:].dtype.char == "S": + if f[key][:].size == 0: + is_equal = True + elif f[key][:].dtype == "object" or f[key][:].dtype.char == "S": is_equal = np.array_equal(f[key][:], new_f[key][:]) else: is_equal = np.allclose(f[key][:], new_f[key][:], equal_nan=True, atol=1e-3)