From fafaa83b0c4454c9abc14e0d154b64a699b18e58 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 25 Mar 2024 15:36:24 -0400 Subject: [PATCH 1/5] Remove termination condition for ACT-R models. Specification of termination condition in ACT-R models is breaking with changes to graphscheduler. I have disabled the termination condition specification for now. Examples seem to still run but they are not check outputs so can't say for sure this is the proper fix. --- src/modeci_mdf/interfaces/actr/importer.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modeci_mdf/interfaces/actr/importer.py b/src/modeci_mdf/interfaces/actr/importer.py index 72db1527b..b7e73ced7 100644 --- a/src/modeci_mdf/interfaces/actr/importer.py +++ b/src/modeci_mdf/interfaces/actr/importer.py @@ -228,7 +228,9 @@ def build_model() -> Model: fire_prod_node.id: cond_fire_prod, check_node.id: cond_check, }, - termination={"check_term_true": cond_term}, + + # FIXME: Disable termination condition for now. This is causing errors in the scheduler. Seems unused in tests. + # termination={"environment_state_update": cond_term}, ) return mod From bc16392c04fd13f7e28d5573460265c00505dc0b Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 25 Mar 2024 15:36:44 -0400 Subject: [PATCH 2/5] Remove graph_scheduler upper pin. --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 465a58432..40559523a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -35,7 +35,7 @@ packages = find: install_requires = typing_compat;python_version<'3.8' dataclasses;python_version<'3.7' - graph_scheduler<1.2.0,>=1.1.1 + graph_scheduler>=1.1.1 numpy matplotlib graphviz From 944b7aea2cd0e8a3d8b98e9477ebcc5d744b3e19 Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 25 Mar 2024 15:41:25 -0400 Subject: [PATCH 3/5] Format --- src/modeci_mdf/interfaces/actr/importer.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/modeci_mdf/interfaces/actr/importer.py b/src/modeci_mdf/interfaces/actr/importer.py index b7e73ced7..4c60fb095 100644 --- a/src/modeci_mdf/interfaces/actr/importer.py +++ b/src/modeci_mdf/interfaces/actr/importer.py @@ -228,7 +228,6 @@ def build_model() -> Model: fire_prod_node.id: cond_fire_prod, check_node.id: cond_check, }, - # FIXME: Disable termination condition for now. This is causing errors in the scheduler. Seems unused in tests. # termination={"environment_state_update": cond_term}, ) From 67c0785f9777872c23e57a7f809026b478e6b9df Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 25 Mar 2024 17:17:27 -0400 Subject: [PATCH 4/5] Fix for ONNX exporter max IR version bug. --- src/modeci_mdf/interfaces/onnx/exporter.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/modeci_mdf/interfaces/onnx/exporter.py b/src/modeci_mdf/interfaces/onnx/exporter.py index 8ff9893da..5e3839e8f 100644 --- a/src/modeci_mdf/interfaces/onnx/exporter.py +++ b/src/modeci_mdf/interfaces/onnx/exporter.py @@ -49,9 +49,21 @@ def mdf_to_onnx(mdf_model): # Check to see if onnxruntime version is less than 1.15, if so ir_version should # be 8 for now. See: https://github.com/microsoft/onnxruntime/issues/15874 + # There is still now programmatic way to determine the max supported ir_version from onnxruntime + # Here is the issue: https://github.com/microsoft/onnxruntime/issues/14932 + # We will have to continue this dumb hack for the time being. make_model_kwargs = {} - if onnxruntime.__version__ < "1.15": - make_model_kwargs = {"ir_version": 8} + try: + from packaging.version import Version, InvalidVersion + v = Version(onnxruntime.__version__) + + if v < Version("1.15"): + make_model_kwargs = {"ir_version": 8} + elif v < Version("1.18"): + make_model_kwargs = {"ir_version": 9} + + except (InvalidVersion, ModuleNotFoundError): + pass onnx_model = helper.make_model(onnx_graph, **make_model_kwargs) From d0c21bfa6f453c33bb49ecaf01a70e9a6525d8dc Mon Sep 17 00:00:00 2001 From: David Turner Date: Mon, 25 Mar 2024 17:20:43 -0400 Subject: [PATCH 5/5] Format --- src/modeci_mdf/interfaces/onnx/exporter.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modeci_mdf/interfaces/onnx/exporter.py b/src/modeci_mdf/interfaces/onnx/exporter.py index 5e3839e8f..4e25ca8ea 100644 --- a/src/modeci_mdf/interfaces/onnx/exporter.py +++ b/src/modeci_mdf/interfaces/onnx/exporter.py @@ -55,6 +55,7 @@ def mdf_to_onnx(mdf_model): make_model_kwargs = {} try: from packaging.version import Version, InvalidVersion + v = Version(onnxruntime.__version__) if v < Version("1.15"):