From e2785ecc8b2bdcbc0675e8838b0592d3b923344c Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Wed, 4 Mar 2026 18:26:02 +0000 Subject: [PATCH 01/12] Test for conditions - WIP --- src/modeci_mdf/execution_engine.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modeci_mdf/execution_engine.py b/src/modeci_mdf/execution_engine.py index ff71dd86..d2f6631d 100644 --- a/src/modeci_mdf/execution_engine.py +++ b/src/modeci_mdf/execution_engine.py @@ -766,7 +766,7 @@ def evaluate( ) ) - self.curr_value = None + ###self.curr_value = None # to be tested for conditions return final_val From f50ad3fd45861036c561f9e2c19e73927fcc8887 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Wed, 18 Mar 2026 17:53:45 +0000 Subject: [PATCH 02/12] Update gha actons versions --- .github/workflows/ci.yml | 14 +++++++------- .github/workflows/ci_test_all.yml | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 393998b5..dec8b06f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,8 +16,8 @@ jobs: name: Format runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: '3.10' - uses: pre-commit/action@v3.0.1 @@ -38,10 +38,10 @@ jobs: test-suite: tensorflow steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} @@ -86,8 +86,8 @@ jobs: needs: tests runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: '3.11' - name: Install uv and set the python version @@ -107,7 +107,7 @@ jobs: name: Distribution build runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Build sdist & wheel run: pipx run --spec build pyproject-build - uses: actions/upload-artifact@v4 diff --git a/.github/workflows/ci_test_all.yml b/.github/workflows/ci_test_all.yml index 7ebb36a9..2a877f21 100644 --- a/.github/workflows/ci_test_all.yml +++ b/.github/workflows/ci_test_all.yml @@ -18,9 +18,9 @@ jobs: runs-on: [ubuntu-latest] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} From 2790774685d3bcb44924203735665a5768769d9f Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Wed, 18 Mar 2026 17:55:24 +0000 Subject: [PATCH 03/12] Test on py3.14 also --- .github/workflows/ci_test_all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_test_all.yml b/.github/workflows/ci_test_all.yml index 2a877f21..08c4925a 100644 --- a/.github/workflows/ci_test_all.yml +++ b/.github/workflows/ci_test_all.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [ "3.13"] + python-version: [ "3.13", "3.14"] runs-on: [ubuntu-latest] steps: From dfcdaa51dc80eb3a2da1f5739755b2401371262e Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Thu, 19 Mar 2026 09:21:39 +0000 Subject: [PATCH 04/12] Test main tests on py3.14 --- .github/workflows/ci.yml | 2 +- .github/workflows/ci_test_all.yml | 2 +- pyproject.toml | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 393998b5..757364ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.11', '3.13'] + python-version: ['3.11', '3.14'] os: [ubuntu-latest, macos-latest, windows-latest] test-suite: [core, actr, pytorch, neuroml, tensorflow, psyneulink] exclude: diff --git a/.github/workflows/ci_test_all.yml b/.github/workflows/ci_test_all.yml index 7ebb36a9..5f89af79 100644 --- a/.github/workflows/ci_test_all.yml +++ b/.github/workflows/ci_test_all.yml @@ -1,4 +1,4 @@ -name: CI Test script +name: CI test_all.sh script on: push: diff --git a/pyproject.toml b/pyproject.toml index fe68909f..b2238581 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,6 +42,7 @@ classifiers = [ dependencies = [ "graph_scheduler>=1.1.1", "numpy", + "scipy", "matplotlib", "graphviz", "h5py", From 5e6928f47f1e04545f9f7dfa9923991aeaa20359 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Thu, 19 Mar 2026 10:04:16 +0000 Subject: [PATCH 05/12] Back to 3.13 only --- .github/workflows/ci_test_all.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci_test_all.yml b/.github/workflows/ci_test_all.yml index 08c4925a..21775a6f 100644 --- a/.github/workflows/ci_test_all.yml +++ b/.github/workflows/ci_test_all.yml @@ -14,7 +14,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [ "3.13", "3.14"] + python-version: [ "3.13" ] runs-on: [ubuntu-latest] steps: From 356fc47ddca4ee5ce366781a821ecc1fcce1021a Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Thu, 19 Mar 2026 10:05:07 +0000 Subject: [PATCH 06/12] Back to 3.13 only --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a9ba3daa..dec8b06f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.11', '3.14'] + python-version: ['3.11', '3.13'] os: [ubuntu-latest, macos-latest, windows-latest] test-suite: [core, actr, pytorch, neuroml, tensorflow, psyneulink] exclude: From 00161d39f11c648f4d2c07296e5b0f553f281d72 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Tue, 24 Mar 2026 18:11:55 +0000 Subject: [PATCH 07/12] Another net example --- .gitignore | 1 + examples/MDF/networks/Net_network2.json | 50 ++++++++++ examples/MDF/networks/Net_network2.png | Bin 0 -> 15039 bytes examples/MDF/networks/Net_network2.yaml | 29 ++++++ examples/MDF/networks/network2.py | 123 ++++++++++++++++++++++++ 5 files changed, 203 insertions(+) create mode 100644 examples/MDF/networks/Net_network2.json create mode 100644 examples/MDF/networks/Net_network2.png create mode 100644 examples/MDF/networks/Net_network2.yaml create mode 100644 examples/MDF/networks/network2.py diff --git a/.gitignore b/.gitignore index 418556e3..c9289c52 100644 --- a/.gitignore +++ b/.gitignore @@ -317,3 +317,4 @@ examples/TensorFlow/Keras/keras_to_MDF /docs/sphinx/source/api/export_format/MDF/images/newton.png /docs/sphinx/source/api/export_format/MDF/images/newton_plot.png /examples/MDF/networks/Net_acyclical +/examples/MDF/networks/Net_network2 diff --git a/examples/MDF/networks/Net_network2.json b/examples/MDF/networks/Net_network2.json new file mode 100644 index 00000000..84beec5e --- /dev/null +++ b/examples/MDF/networks/Net_network2.json @@ -0,0 +1,50 @@ +{ + "Net_network2": { + "format": "ModECI MDF v0.4", + "generating_application": "Python modeci-mdf v0.4.14", + "graphs": { + "Net_network2": { + "nodes": { + "A": { + "input_ports": { + "input": { + "default_value": 5 + } + }, + "parameters": { + "total_inputs": { + "value": "total_inputs + input" + }, + "execute_count": { + "value": "execute_count + 1" + } + }, + "output_ports": { + "out_port": { + "value": "total_inputs" + } + } + }, + "B": { + "input_ports": { + "input": {} + }, + "parameters": { + "total_inputs": { + "value": "total_inputs + input" + }, + "execute_count": { + "value": "execute_count + 1" + } + }, + "output_ports": { + "out_port": { + "value": "total_inputs" + } + } + } + } + } + } + } +} diff --git a/examples/MDF/networks/Net_network2.png b/examples/MDF/networks/Net_network2.png new file mode 100644 index 0000000000000000000000000000000000000000..6d808c8fed82d0c40b60d418f59e56a086386c8b GIT binary patch literal 15039 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 literal 0 HcmV?d00001 diff --git a/examples/MDF/networks/Net_network2.yaml b/examples/MDF/networks/Net_network2.yaml new file mode 100644 index 00000000..c9924130 --- /dev/null +++ b/examples/MDF/networks/Net_network2.yaml @@ -0,0 +1,29 @@ +Net_network2: + format: ModECI MDF v0.4 + generating_application: Python modeci-mdf v0.4.14 + graphs: + Net_network2: + nodes: + A: + input_ports: + input: + default_value: 5 + parameters: + total_inputs: + value: total_inputs + input + execute_count: + value: execute_count + 1 + output_ports: + out_port: + value: total_inputs + B: + input_ports: + input: {} + parameters: + total_inputs: + value: total_inputs + input + execute_count: + value: execute_count + 1 + output_ports: + out_port: + value: total_inputs diff --git a/examples/MDF/networks/network2.py b/examples/MDF/networks/network2.py new file mode 100644 index 00000000..632849b5 --- /dev/null +++ b/examples/MDF/networks/network2.py @@ -0,0 +1,123 @@ +""" + Example of ModECI MDF - Testing networks +""" + +from modeci_mdf.mdf import * +import sys +import os +from modeci_mdf.utils import simple_connect + + +def main(ref="network2"): + + mod = Model(id="Net_%s" % ref) + + mod_graph = Graph(id="Net_%s" % ref) + mod.graphs.append(mod_graph) + + for id in ["A", "B"]: + + node = Node(id=id) + + if id == "A": + ip1 = InputPort(id="input", default_value=5) + node.input_ports.append(ip1) + + if id == "B": + ip1 = InputPort(id="input") + node.input_ports.append(ip1) + + p1 = Parameter(id="total_inputs", value="total_inputs + input") + node.parameters.append(p1) + + p2 = Parameter(id="execute_count", value="execute_count + 1") + node.parameters.append(p2) + + op1 = OutputPort(id="out_port", value=p1.id) + node.output_ports.append(op1) + + mod_graph.nodes.append(node) + + # simple_connect(mod_graph.get_node("A"), mod_graph.get_node("B"), mod_graph) + # simple_connect(mod_graph.get_node("B"), mod_graph.get_node("A"), mod_graph) + + new_file = mod.to_json_file("%s.json" % mod.id) + new_file = mod.to_yaml_file("%s.yaml" % mod.id) + + eg = None + + if "-run" in sys.argv: + verbose = True + # verbose = False + from modeci_mdf.utils import load_mdf, print_summary + + from modeci_mdf.execution_engine import EvaluableGraph + + eg = EvaluableGraph(mod_graph, verbose) + dt = 1 + + duration = 2 + t = 0 + recorded = {} + times = [] + ai = [] + bi = [] + at = [] + bt = [] + ao = [] + bo = [] + while t <= duration: + times.append(t) + print("====== Evaluating at t = %s ======" % (t)) + if t == 0: + eg.evaluate() # replace with initialize? + else: + eg.evaluate(time_increment=dt) + + ai.append(eg.enodes["A"].evaluable_parameters["execute_count"].curr_value) + bi.append(eg.enodes["B"].evaluable_parameters["execute_count"].curr_value) + at.append(eg.enodes["A"].evaluable_parameters["total_inputs"].curr_value) + bt.append(eg.enodes["B"].evaluable_parameters["total_inputs"].curr_value) + ao.append(eg.enodes["A"].evaluable_outputs["out_port"].curr_value) + bo.append(eg.enodes["B"].evaluable_outputs["out_port"].curr_value) + t += dt + + if "-nogui" not in sys.argv: + import matplotlib.pyplot as plt + + plt.plot(times, ai, marker="x", label="A exe count") + plt.plot(times, bi, label="B exe count") + plt.plot(times, at, marker="D", label="A total_inputs") + plt.plot(times, bt, label="B total_inputs") + + plt.legend() + plt.show() + + if "-graph" in sys.argv: + mod.to_graph_image( + engine="dot", + output_format="png", + view_on_render=False, + level=3, + filename_root=mod_graph.id, + only_warn_on_fail=( + os.name == "nt" + ), # Makes sure test of this doesn't fail on Windows on GitHub Actions + ) + + return mod_graph, eg + + +if __name__ == "__main__": + g, eg = main() + + print("--------------------") + print(g.to_yaml()) + print("--------------------") + if eg is not None: + for n in eg.enodes: + enode = eg.enodes[n] + print(enode) + print([enode.evaluable_outputs for enode in eg.enodes.values()]) + else: + print("No execution engine created. Run with: -run") From cd624643cb594c4db1fec37a756b055039fe3655 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Tue, 24 Mar 2026 18:14:11 +0000 Subject: [PATCH 08/12] Additional info on outputs --- src/modeci_mdf/execution_engine.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/modeci_mdf/execution_engine.py b/src/modeci_mdf/execution_engine.py index d2f6631d..63b3c85d 100644 --- a/src/modeci_mdf/execution_engine.py +++ b/src/modeci_mdf/execution_engine.py @@ -679,6 +679,9 @@ def evaluate( ) return self.curr_value + def __repr__(self): + return f"EvaluableOutput({self.output_port.id} = {_val_info(self.curr_value)} )" + class EvaluableInput: """Evaluates input value at the :class:`~modeci_mdf.mdf.InputPort` of the node during MDF graph execution. From 90f8b0d76c843fcab076583db428b4c949e7fc5d Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Wed, 8 Apr 2026 18:13:17 +0100 Subject: [PATCH 09/12] Testing network2 in exp --- examples/MDF/networks/Net_network2.json | 12 ++++++------ examples/MDF/networks/Net_network2.yaml | 12 ++++++------ examples/MDF/networks/network2.py | 12 ++++++------ src/modeci_mdf/execution_engine.py | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/examples/MDF/networks/Net_network2.json b/examples/MDF/networks/Net_network2.json index 84beec5e..b39eb9f3 100644 --- a/examples/MDF/networks/Net_network2.json +++ b/examples/MDF/networks/Net_network2.json @@ -7,38 +7,38 @@ "nodes": { "A": { "input_ports": { - "input": { + "in_port_0": { "default_value": 5 } }, "parameters": { "total_inputs": { - "value": "total_inputs + input" + "value": "total_inputs + in_port_0" }, "execute_count": { "value": "execute_count + 1" } }, "output_ports": { - "out_port": { + "out_port_0": { "value": "total_inputs" } } }, "B": { "input_ports": { - "input": {} + "in_port_0": {} }, "parameters": { "total_inputs": { - "value": "total_inputs + input" + "value": "total_inputs + in_port_0" }, "execute_count": { "value": "execute_count + 1" } }, "output_ports": { - "out_port": { + "out_port_0": { "value": "total_inputs" } } diff --git a/examples/MDF/networks/Net_network2.yaml b/examples/MDF/networks/Net_network2.yaml index c9924130..13d18b51 100644 --- a/examples/MDF/networks/Net_network2.yaml +++ b/examples/MDF/networks/Net_network2.yaml @@ -6,24 +6,24 @@ Net_network2: nodes: A: input_ports: - input: + in_port_0: default_value: 5 parameters: total_inputs: - value: total_inputs + input + value: total_inputs + in_port_0 execute_count: value: execute_count + 1 output_ports: - out_port: + out_port_0: value: total_inputs B: input_ports: - input: {} + in_port_0: {} parameters: total_inputs: - value: total_inputs + input + value: total_inputs + in_port_0 execute_count: value: execute_count + 1 output_ports: - out_port: + out_port_0: value: total_inputs diff --git a/examples/MDF/networks/network2.py b/examples/MDF/networks/network2.py index 632849b5..786c3830 100644 --- a/examples/MDF/networks/network2.py +++ b/examples/MDF/networks/network2.py @@ -20,20 +20,20 @@ def main(ref="network2"): node = Node(id=id) if id == "A": - ip1 = InputPort(id="input", default_value=5) + ip1 = InputPort(id="in_port_0", default_value=5) node.input_ports.append(ip1) if id == "B": - ip1 = InputPort(id="input") + ip1 = InputPort(id="in_port_0") node.input_ports.append(ip1) - p1 = Parameter(id="total_inputs", value="total_inputs + input") + p1 = Parameter(id="total_inputs", value="total_inputs + in_port_0") node.parameters.append(p1) p2 = Parameter(id="execute_count", value="execute_count + 1") node.parameters.append(p2) - op1 = OutputPort(id="out_port", value=p1.id) + op1 = OutputPort(id="out_port_0", value=p1.id) node.output_ports.append(op1) mod_graph.nodes.append(node) @@ -78,8 +78,8 @@ def main(ref="network2"): bi.append(eg.enodes["B"].evaluable_parameters["execute_count"].curr_value) at.append(eg.enodes["A"].evaluable_parameters["total_inputs"].curr_value) bt.append(eg.enodes["B"].evaluable_parameters["total_inputs"].curr_value) - ao.append(eg.enodes["A"].evaluable_outputs["out_port"].curr_value) - bo.append(eg.enodes["B"].evaluable_outputs["out_port"].curr_value) + ao.append(eg.enodes["A"].evaluable_outputs["out_port_0"].curr_value) + bo.append(eg.enodes["B"].evaluable_outputs["out_port_0"].curr_value) t += dt if "-nogui" not in sys.argv: diff --git a/src/modeci_mdf/execution_engine.py b/src/modeci_mdf/execution_engine.py index 63b3c85d..4b1bf3f7 100644 --- a/src/modeci_mdf/execution_engine.py +++ b/src/modeci_mdf/execution_engine.py @@ -769,7 +769,7 @@ def evaluate( ) ) - ###self.curr_value = None # to be tested for conditions + self.curr_value = None # to be tested for conditions... return final_val From 1a8b3d46a3b0c5c6ce530bbef0e6f486fe9051a9 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Wed, 19 Aug 2026 17:13:41 +0100 Subject: [PATCH 10/12] To v0.4.16 --- src/modeci_mdf/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modeci_mdf/__init__.py b/src/modeci_mdf/__init__.py index 83733d5c..7ccface5 100644 --- a/src/modeci_mdf/__init__.py +++ b/src/modeci_mdf/__init__.py @@ -13,4 +13,4 @@ MODECI_MDF_VERSION = "0.4" # Version of the Python module. -__version__ = "0.4.15" +__version__ = "0.4.16" From 36fee8c9422a833737a0ffa9b252eed8c84c2b1a Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Wed, 19 Aug 2026 17:27:16 +0100 Subject: [PATCH 11/12] Generated files updated to latest version --- .../api/export_format/ACT-R/addition.json | 2 +- .../api/export_format/ACT-R/addition.yaml | 2 +- .../source/api/export_format/ACT-R/count.json | 2 +- .../source/api/export_format/ACT-R/count.yaml | 2 +- .../source/api/export_format/ONNX/ab.json | 2 +- .../source/api/export_format/ONNX/ab.yaml | 2 +- .../source/api/export_format/ONNX/abc.json | 2 +- .../source/api/export_format/ONNX/abc.yaml | 2 +- .../api/export_format/ONNX/abc_basic-mdf.json | 2 +- .../api/export_format/ONNX/abc_basic-mdf.yaml | 2 +- .../source/api/export_format/ONNX/abcd.json | 2 +- .../source/api/export_format/ONNX/abcd.yaml | 2 +- .../api/export_format/PyTorch/inception.json | 2 +- .../api/export_format/PyTorch/mlp_pure_mdf.json | 2 +- .../api/export_format/PyTorch/mlp_pure_mdf.yaml | 2 +- .../PyTorch/simple_pytorch_to_mdf.json | 2 +- examples/ACT-R/addition.json | 2 +- examples/ACT-R/addition.yaml | 2 +- examples/ACT-R/count.json | 2 +- examples/ACT-R/count.yaml | 2 +- examples/MDF/ABCD.json | 2 +- examples/MDF/ABCD.yaml | 2 +- examples/MDF/Arrays.json | 2 +- examples/MDF/Arrays.yaml | 2 +- examples/MDF/NewtonCoolingModel.json | 2 +- examples/MDF/NewtonCoolingModel.yaml | 2 +- examples/MDF/ParametersFunctions.json | 2 +- examples/MDF/ParametersFunctions.yaml | 2 +- examples/MDF/RNN/IAF_net.json | 2 +- examples/MDF/RNN/IAF_net.yaml | 2 +- examples/MDF/RNN/IAF_net2.json | 2 +- examples/MDF/RNN/IAF_net2.yaml | 2 +- examples/MDF/RNN/IAF_net3.json | 2 +- examples/MDF/RNN/IAF_net3.yaml | 2 +- examples/MDF/RNN/IAFs.json | 2 +- examples/MDF/RNN/IAFs.yaml | 2 +- examples/MDF/RNN/RNNs.json | 2 +- examples/MDF/RNN/RNNs.yaml | 2 +- examples/MDF/Simple.bson | Bin 901 -> 901 bytes examples/MDF/Simple.json | 2 +- examples/MDF/Simple.yaml | 2 +- examples/MDF/States.json | 2 +- examples/MDF/States.yaml | 2 +- examples/MDF/SwitchedRLC_Circuit.json | 2 +- examples/MDF/SwitchedRLC_Circuit.yaml | 2 +- examples/MDF/abc_conditions.json | 2 +- examples/MDF/abc_conditions.yaml | 2 +- .../MDF/conditions/Composite_mdf_condition.json | 2 +- .../MDF/conditions/Composite_mdf_condition.yaml | 2 +- .../MDF/conditions/everyncalls_condition.json | 2 +- .../MDF/conditions/everyncalls_condition.yaml | 2 +- .../MDF/conditions/threshold_condition.json | 2 +- .../MDF/conditions/threshold_condition.yaml | 2 +- .../MDF/conditions/timeinterval_condition.json | 2 +- .../MDF/conditions/timeinterval_condition.yaml | 2 +- examples/MDF/networks/Net_acyclical.json | 2 +- examples/MDF/networks/Net_acyclical.yaml | 2 +- examples/ONNX/ab.json | 2 +- examples/ONNX/ab.yaml | 2 +- examples/ONNX/abc.json | 2 +- examples/ONNX/abc.yaml | 2 +- examples/ONNX/abc_basic-mdf.json | 2 +- examples/ONNX/abc_basic-mdf.yaml | 2 +- examples/ONNX/abcd.json | 2 +- examples/ONNX/abcd.yaml | 2 +- examples/PyTorch/MDF_PyTorch/ABCD_pytorch.py | 2 +- examples/PyTorch/MDF_PyTorch/Arrays_pytorch.py | 2 +- examples/PyTorch/MDF_PyTorch/Simple_pytorch.py | 2 +- .../squeezenet1_1_benchmark.json | 6 +++--- examples/PyTorch/inception.json | 2 +- examples/PyTorch/mlp_pure_mdf.json | 2 +- examples/PyTorch/mlp_pure_mdf.yaml | 2 +- examples/PyTorch/simple_pytorch_to_mdf.json | 2 +- 73 files changed, 74 insertions(+), 74 deletions(-) diff --git a/docs/sphinx/source/api/export_format/ACT-R/addition.json b/docs/sphinx/source/api/export_format/ACT-R/addition.json index 1572a4ce..76ed522d 100644 --- a/docs/sphinx/source/api/export_format/ACT-R/addition.json +++ b/docs/sphinx/source/api/export_format/ACT-R/addition.json @@ -1,7 +1,7 @@ { "addition": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "addition_graph": { "nodes": { diff --git a/docs/sphinx/source/api/export_format/ACT-R/addition.yaml b/docs/sphinx/source/api/export_format/ACT-R/addition.yaml index 65bd1ed4..c4dd6ef3 100644 --- a/docs/sphinx/source/api/export_format/ACT-R/addition.yaml +++ b/docs/sphinx/source/api/export_format/ACT-R/addition.yaml @@ -1,6 +1,6 @@ addition: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: addition_graph: nodes: diff --git a/docs/sphinx/source/api/export_format/ACT-R/count.json b/docs/sphinx/source/api/export_format/ACT-R/count.json index 22d63756..ba33f63d 100644 --- a/docs/sphinx/source/api/export_format/ACT-R/count.json +++ b/docs/sphinx/source/api/export_format/ACT-R/count.json @@ -1,7 +1,7 @@ { "count": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "count_graph": { "nodes": { diff --git a/docs/sphinx/source/api/export_format/ACT-R/count.yaml b/docs/sphinx/source/api/export_format/ACT-R/count.yaml index 8cd4ee64..ce4b4712 100644 --- a/docs/sphinx/source/api/export_format/ACT-R/count.yaml +++ b/docs/sphinx/source/api/export_format/ACT-R/count.yaml @@ -1,6 +1,6 @@ count: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: count_graph: nodes: diff --git a/docs/sphinx/source/api/export_format/ONNX/ab.json b/docs/sphinx/source/api/export_format/ONNX/ab.json index b794dd5f..463234e6 100644 --- a/docs/sphinx/source/api/export_format/ONNX/ab.json +++ b/docs/sphinx/source/api/export_format/ONNX/ab.json @@ -1,7 +1,7 @@ { "ONNX Model": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "main_graph": { "nodes": { diff --git a/docs/sphinx/source/api/export_format/ONNX/ab.yaml b/docs/sphinx/source/api/export_format/ONNX/ab.yaml index 0373f730..84f020d7 100644 --- a/docs/sphinx/source/api/export_format/ONNX/ab.yaml +++ b/docs/sphinx/source/api/export_format/ONNX/ab.yaml @@ -1,6 +1,6 @@ ONNX Model: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: main_graph: nodes: diff --git a/docs/sphinx/source/api/export_format/ONNX/abc.json b/docs/sphinx/source/api/export_format/ONNX/abc.json index 2d47a12f..255b56e4 100644 --- a/docs/sphinx/source/api/export_format/ONNX/abc.json +++ b/docs/sphinx/source/api/export_format/ONNX/abc.json @@ -1,7 +1,7 @@ { "ONNX Model": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "main_graph": { "nodes": { diff --git a/docs/sphinx/source/api/export_format/ONNX/abc.yaml b/docs/sphinx/source/api/export_format/ONNX/abc.yaml index 873597fd..a50ef452 100644 --- a/docs/sphinx/source/api/export_format/ONNX/abc.yaml +++ b/docs/sphinx/source/api/export_format/ONNX/abc.yaml @@ -1,6 +1,6 @@ ONNX Model: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: main_graph: nodes: diff --git a/docs/sphinx/source/api/export_format/ONNX/abc_basic-mdf.json b/docs/sphinx/source/api/export_format/ONNX/abc_basic-mdf.json index 4f1c64af..81e734d5 100644 --- a/docs/sphinx/source/api/export_format/ONNX/abc_basic-mdf.json +++ b/docs/sphinx/source/api/export_format/ONNX/abc_basic-mdf.json @@ -1,7 +1,7 @@ { "ONNX Model": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "main_graph": { "nodes": { diff --git a/docs/sphinx/source/api/export_format/ONNX/abc_basic-mdf.yaml b/docs/sphinx/source/api/export_format/ONNX/abc_basic-mdf.yaml index 5aa4dd24..c221626d 100644 --- a/docs/sphinx/source/api/export_format/ONNX/abc_basic-mdf.yaml +++ b/docs/sphinx/source/api/export_format/ONNX/abc_basic-mdf.yaml @@ -1,6 +1,6 @@ ONNX Model: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: main_graph: nodes: diff --git a/docs/sphinx/source/api/export_format/ONNX/abcd.json b/docs/sphinx/source/api/export_format/ONNX/abcd.json index 7d55c96e..b2d0bf3a 100644 --- a/docs/sphinx/source/api/export_format/ONNX/abcd.json +++ b/docs/sphinx/source/api/export_format/ONNX/abcd.json @@ -1,7 +1,7 @@ { "ONNX Model": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "main_graph": { "nodes": { diff --git a/docs/sphinx/source/api/export_format/ONNX/abcd.yaml b/docs/sphinx/source/api/export_format/ONNX/abcd.yaml index 890c27f2..db7e458c 100644 --- a/docs/sphinx/source/api/export_format/ONNX/abcd.yaml +++ b/docs/sphinx/source/api/export_format/ONNX/abcd.yaml @@ -1,6 +1,6 @@ ONNX Model: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: main_graph: nodes: diff --git a/docs/sphinx/source/api/export_format/PyTorch/inception.json b/docs/sphinx/source/api/export_format/PyTorch/inception.json index 037884d5..d8f37fc2 100644 --- a/docs/sphinx/source/api/export_format/PyTorch/inception.json +++ b/docs/sphinx/source/api/export_format/PyTorch/inception.json @@ -1,7 +1,7 @@ { "InceptionBlocks": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "InceptionBlocksGraph": { "nodes": { diff --git a/docs/sphinx/source/api/export_format/PyTorch/mlp_pure_mdf.json b/docs/sphinx/source/api/export_format/PyTorch/mlp_pure_mdf.json index 797147cd..3b649add 100644 --- a/docs/sphinx/source/api/export_format/PyTorch/mlp_pure_mdf.json +++ b/docs/sphinx/source/api/export_format/PyTorch/mlp_pure_mdf.json @@ -1,7 +1,7 @@ { "mlp_pure_mdf": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "mlp_pure_mdf": { "nodes": { diff --git a/docs/sphinx/source/api/export_format/PyTorch/mlp_pure_mdf.yaml b/docs/sphinx/source/api/export_format/PyTorch/mlp_pure_mdf.yaml index b3a07b34..5f493d25 100644 --- a/docs/sphinx/source/api/export_format/PyTorch/mlp_pure_mdf.yaml +++ b/docs/sphinx/source/api/export_format/PyTorch/mlp_pure_mdf.yaml @@ -1,6 +1,6 @@ mlp_pure_mdf: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: mlp_pure_mdf: nodes: diff --git a/docs/sphinx/source/api/export_format/PyTorch/simple_pytorch_to_mdf.json b/docs/sphinx/source/api/export_format/PyTorch/simple_pytorch_to_mdf.json index e4544c13..c43a63dc 100644 --- a/docs/sphinx/source/api/export_format/PyTorch/simple_pytorch_to_mdf.json +++ b/docs/sphinx/source/api/export_format/PyTorch/simple_pytorch_to_mdf.json @@ -1,7 +1,7 @@ { "SimpleNet": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "SimpleNetGraph": { "nodes": { diff --git a/examples/ACT-R/addition.json b/examples/ACT-R/addition.json index 1572a4ce..76ed522d 100644 --- a/examples/ACT-R/addition.json +++ b/examples/ACT-R/addition.json @@ -1,7 +1,7 @@ { "addition": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "addition_graph": { "nodes": { diff --git a/examples/ACT-R/addition.yaml b/examples/ACT-R/addition.yaml index 65bd1ed4..c4dd6ef3 100644 --- a/examples/ACT-R/addition.yaml +++ b/examples/ACT-R/addition.yaml @@ -1,6 +1,6 @@ addition: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: addition_graph: nodes: diff --git a/examples/ACT-R/count.json b/examples/ACT-R/count.json index 22d63756..ba33f63d 100644 --- a/examples/ACT-R/count.json +++ b/examples/ACT-R/count.json @@ -1,7 +1,7 @@ { "count": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "count_graph": { "nodes": { diff --git a/examples/ACT-R/count.yaml b/examples/ACT-R/count.yaml index 8cd4ee64..ce4b4712 100644 --- a/examples/ACT-R/count.yaml +++ b/examples/ACT-R/count.yaml @@ -1,6 +1,6 @@ count: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: count_graph: nodes: diff --git a/examples/MDF/ABCD.json b/examples/MDF/ABCD.json index 1d19f2d7..f5e089ed 100644 --- a/examples/MDF/ABCD.json +++ b/examples/MDF/ABCD.json @@ -1,7 +1,7 @@ { "ABCD": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "abcd_example": { "nodes": { diff --git a/examples/MDF/ABCD.yaml b/examples/MDF/ABCD.yaml index 1ecba32a..b1588c37 100644 --- a/examples/MDF/ABCD.yaml +++ b/examples/MDF/ABCD.yaml @@ -1,6 +1,6 @@ ABCD: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: abcd_example: nodes: diff --git a/examples/MDF/Arrays.json b/examples/MDF/Arrays.json index 44d06999..d5b4dae1 100644 --- a/examples/MDF/Arrays.json +++ b/examples/MDF/Arrays.json @@ -1,7 +1,7 @@ { "Arrays": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "array_example": { "nodes": { diff --git a/examples/MDF/Arrays.yaml b/examples/MDF/Arrays.yaml index 9ab8872f..680f00c4 100644 --- a/examples/MDF/Arrays.yaml +++ b/examples/MDF/Arrays.yaml @@ -1,6 +1,6 @@ Arrays: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: array_example: nodes: diff --git a/examples/MDF/NewtonCoolingModel.json b/examples/MDF/NewtonCoolingModel.json index 8a2557a1..4a14b3ce 100644 --- a/examples/MDF/NewtonCoolingModel.json +++ b/examples/MDF/NewtonCoolingModel.json @@ -1,7 +1,7 @@ { "NewtonCoolingModel": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "cooling_process": { "nodes": { diff --git a/examples/MDF/NewtonCoolingModel.yaml b/examples/MDF/NewtonCoolingModel.yaml index d3d9ee71..df433274 100644 --- a/examples/MDF/NewtonCoolingModel.yaml +++ b/examples/MDF/NewtonCoolingModel.yaml @@ -1,6 +1,6 @@ NewtonCoolingModel: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: cooling_process: nodes: diff --git a/examples/MDF/ParametersFunctions.json b/examples/MDF/ParametersFunctions.json index 92c1c55d..2b8f2025 100644 --- a/examples/MDF/ParametersFunctions.json +++ b/examples/MDF/ParametersFunctions.json @@ -1,7 +1,7 @@ { "ParametersFunctions": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "params_funcs_example": { "nodes": { diff --git a/examples/MDF/ParametersFunctions.yaml b/examples/MDF/ParametersFunctions.yaml index 30737c92..f1ee9600 100644 --- a/examples/MDF/ParametersFunctions.yaml +++ b/examples/MDF/ParametersFunctions.yaml @@ -1,6 +1,6 @@ ParametersFunctions: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: params_funcs_example: nodes: diff --git a/examples/MDF/RNN/IAF_net.json b/examples/MDF/RNN/IAF_net.json index 7062654b..03951331 100644 --- a/examples/MDF/RNN/IAF_net.json +++ b/examples/MDF/RNN/IAF_net.json @@ -1,7 +1,7 @@ { "IAF_net": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "iaf_example": { "nodes": { diff --git a/examples/MDF/RNN/IAF_net.yaml b/examples/MDF/RNN/IAF_net.yaml index 91878ae8..dacd5d20 100644 --- a/examples/MDF/RNN/IAF_net.yaml +++ b/examples/MDF/RNN/IAF_net.yaml @@ -1,6 +1,6 @@ IAF_net: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: iaf_example: nodes: diff --git a/examples/MDF/RNN/IAF_net2.json b/examples/MDF/RNN/IAF_net2.json index ffd49836..4bd7bd66 100644 --- a/examples/MDF/RNN/IAF_net2.json +++ b/examples/MDF/RNN/IAF_net2.json @@ -1,7 +1,7 @@ { "IAF_net2": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "iaf_example": { "nodes": { diff --git a/examples/MDF/RNN/IAF_net2.yaml b/examples/MDF/RNN/IAF_net2.yaml index 6b049ca5..dfc51772 100644 --- a/examples/MDF/RNN/IAF_net2.yaml +++ b/examples/MDF/RNN/IAF_net2.yaml @@ -1,6 +1,6 @@ IAF_net2: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: iaf_example: nodes: diff --git a/examples/MDF/RNN/IAF_net3.json b/examples/MDF/RNN/IAF_net3.json index af87c2d8..543e1a1d 100644 --- a/examples/MDF/RNN/IAF_net3.json +++ b/examples/MDF/RNN/IAF_net3.json @@ -1,7 +1,7 @@ { "IAF_net3": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "iaf_example": { "nodes": { diff --git a/examples/MDF/RNN/IAF_net3.yaml b/examples/MDF/RNN/IAF_net3.yaml index d3ba4d8a..a5f31601 100644 --- a/examples/MDF/RNN/IAF_net3.yaml +++ b/examples/MDF/RNN/IAF_net3.yaml @@ -1,6 +1,6 @@ IAF_net3: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: iaf_example: nodes: diff --git a/examples/MDF/RNN/IAFs.json b/examples/MDF/RNN/IAFs.json index db5b500d..c7437266 100644 --- a/examples/MDF/RNN/IAFs.json +++ b/examples/MDF/RNN/IAFs.json @@ -1,7 +1,7 @@ { "IAFs": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "iaf_example": { "nodes": { diff --git a/examples/MDF/RNN/IAFs.yaml b/examples/MDF/RNN/IAFs.yaml index b7ae2f7b..47140ec5 100644 --- a/examples/MDF/RNN/IAFs.yaml +++ b/examples/MDF/RNN/IAFs.yaml @@ -1,6 +1,6 @@ IAFs: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: iaf_example: nodes: diff --git a/examples/MDF/RNN/RNNs.json b/examples/MDF/RNN/RNNs.json index f22ca9a2..94f6b495 100644 --- a/examples/MDF/RNN/RNNs.json +++ b/examples/MDF/RNN/RNNs.json @@ -1,7 +1,7 @@ { "RNNs": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "rnn_example": { "nodes": { diff --git a/examples/MDF/RNN/RNNs.yaml b/examples/MDF/RNN/RNNs.yaml index 30f59a09..2aa47599 100644 --- a/examples/MDF/RNN/RNNs.yaml +++ b/examples/MDF/RNN/RNNs.yaml @@ -1,6 +1,6 @@ RNNs: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: rnn_example: nodes: diff --git a/examples/MDF/Simple.bson b/examples/MDF/Simple.bson index c8e35f413840474ec8f9f8bd4d35e3f2aaabc14f..d609556c68123a11c41fca396c64c1273841c563 100644 GIT binary patch delta 12 TcmZo=Z)Km5z-YEHQH2=*7;FQ1 delta 12 TcmZo=Z)Km5z-YQLQH2=*7-s`` diff --git a/examples/MDF/Simple.json b/examples/MDF/Simple.json index a915780f..4ba48357 100644 --- a/examples/MDF/Simple.json +++ b/examples/MDF/Simple.json @@ -1,7 +1,7 @@ { "Simple": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "simple_example": { "nodes": { diff --git a/examples/MDF/Simple.yaml b/examples/MDF/Simple.yaml index 8c198014..159f2ff7 100644 --- a/examples/MDF/Simple.yaml +++ b/examples/MDF/Simple.yaml @@ -1,6 +1,6 @@ Simple: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: simple_example: nodes: diff --git a/examples/MDF/States.json b/examples/MDF/States.json index 3b2a0993..89b6d439 100644 --- a/examples/MDF/States.json +++ b/examples/MDF/States.json @@ -1,7 +1,7 @@ { "States": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "state_example": { "nodes": { diff --git a/examples/MDF/States.yaml b/examples/MDF/States.yaml index 9613ded0..921d3348 100644 --- a/examples/MDF/States.yaml +++ b/examples/MDF/States.yaml @@ -1,6 +1,6 @@ States: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: state_example: nodes: diff --git a/examples/MDF/SwitchedRLC_Circuit.json b/examples/MDF/SwitchedRLC_Circuit.json index 5c2ef12f..48c56e87 100644 --- a/examples/MDF/SwitchedRLC_Circuit.json +++ b/examples/MDF/SwitchedRLC_Circuit.json @@ -1,7 +1,7 @@ { "SwitchedRLC_Circuit": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "metadata": { "preferred_duration": 2, "preferred_dt": 0.001 diff --git a/examples/MDF/SwitchedRLC_Circuit.yaml b/examples/MDF/SwitchedRLC_Circuit.yaml index f105cad9..35218b4d 100644 --- a/examples/MDF/SwitchedRLC_Circuit.yaml +++ b/examples/MDF/SwitchedRLC_Circuit.yaml @@ -1,6 +1,6 @@ SwitchedRLC_Circuit: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 metadata: preferred_duration: 2 preferred_dt: 0.001 diff --git a/examples/MDF/abc_conditions.json b/examples/MDF/abc_conditions.json index 58355ef1..3634e9d4 100644 --- a/examples/MDF/abc_conditions.json +++ b/examples/MDF/abc_conditions.json @@ -1,7 +1,7 @@ { "abc_conditions": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "abc_conditions_example": { "nodes": { diff --git a/examples/MDF/abc_conditions.yaml b/examples/MDF/abc_conditions.yaml index c377993d..2daf490d 100644 --- a/examples/MDF/abc_conditions.yaml +++ b/examples/MDF/abc_conditions.yaml @@ -1,6 +1,6 @@ abc_conditions: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: abc_conditions_example: nodes: diff --git a/examples/MDF/conditions/Composite_mdf_condition.json b/examples/MDF/conditions/Composite_mdf_condition.json index a32e3cf2..4ffc888f 100644 --- a/examples/MDF/conditions/Composite_mdf_condition.json +++ b/examples/MDF/conditions/Composite_mdf_condition.json @@ -1,7 +1,7 @@ { "Composite_mdf_condition": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "Composite_mdf_condition_example": { "nodes": { diff --git a/examples/MDF/conditions/Composite_mdf_condition.yaml b/examples/MDF/conditions/Composite_mdf_condition.yaml index b1d5e244..8e2fb000 100644 --- a/examples/MDF/conditions/Composite_mdf_condition.yaml +++ b/examples/MDF/conditions/Composite_mdf_condition.yaml @@ -1,6 +1,6 @@ Composite_mdf_condition: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: Composite_mdf_condition_example: nodes: diff --git a/examples/MDF/conditions/everyncalls_condition.json b/examples/MDF/conditions/everyncalls_condition.json index 27aebd4d..5f5bae77 100644 --- a/examples/MDF/conditions/everyncalls_condition.json +++ b/examples/MDF/conditions/everyncalls_condition.json @@ -1,7 +1,7 @@ { "everyncalls_condition": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "everyncalls_example": { "nodes": { diff --git a/examples/MDF/conditions/everyncalls_condition.yaml b/examples/MDF/conditions/everyncalls_condition.yaml index 7736d12e..44ddb33e 100644 --- a/examples/MDF/conditions/everyncalls_condition.yaml +++ b/examples/MDF/conditions/everyncalls_condition.yaml @@ -1,6 +1,6 @@ everyncalls_condition: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: everyncalls_example: nodes: diff --git a/examples/MDF/conditions/threshold_condition.json b/examples/MDF/conditions/threshold_condition.json index b2e972e1..524c02a1 100644 --- a/examples/MDF/conditions/threshold_condition.json +++ b/examples/MDF/conditions/threshold_condition.json @@ -1,7 +1,7 @@ { "threshold_condition": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "threshold_example": { "nodes": { diff --git a/examples/MDF/conditions/threshold_condition.yaml b/examples/MDF/conditions/threshold_condition.yaml index 7f90a8b5..7420e169 100644 --- a/examples/MDF/conditions/threshold_condition.yaml +++ b/examples/MDF/conditions/threshold_condition.yaml @@ -1,6 +1,6 @@ threshold_condition: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: threshold_example: nodes: diff --git a/examples/MDF/conditions/timeinterval_condition.json b/examples/MDF/conditions/timeinterval_condition.json index 58ebddd2..3fd66b4e 100644 --- a/examples/MDF/conditions/timeinterval_condition.json +++ b/examples/MDF/conditions/timeinterval_condition.json @@ -1,7 +1,7 @@ { "timeinterval_condition": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "timeinterval_example": { "nodes": { diff --git a/examples/MDF/conditions/timeinterval_condition.yaml b/examples/MDF/conditions/timeinterval_condition.yaml index 0100211e..eb2be3d8 100644 --- a/examples/MDF/conditions/timeinterval_condition.yaml +++ b/examples/MDF/conditions/timeinterval_condition.yaml @@ -1,6 +1,6 @@ timeinterval_condition: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: timeinterval_example: nodes: diff --git a/examples/MDF/networks/Net_acyclical.json b/examples/MDF/networks/Net_acyclical.json index ac3ce346..67429b5c 100644 --- a/examples/MDF/networks/Net_acyclical.json +++ b/examples/MDF/networks/Net_acyclical.json @@ -1,7 +1,7 @@ { "Net_acyclical": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "Net_acyclical": { "nodes": { diff --git a/examples/MDF/networks/Net_acyclical.yaml b/examples/MDF/networks/Net_acyclical.yaml index 7514daad..8c273d84 100644 --- a/examples/MDF/networks/Net_acyclical.yaml +++ b/examples/MDF/networks/Net_acyclical.yaml @@ -1,6 +1,6 @@ Net_acyclical: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: Net_acyclical: nodes: diff --git a/examples/ONNX/ab.json b/examples/ONNX/ab.json index b794dd5f..463234e6 100644 --- a/examples/ONNX/ab.json +++ b/examples/ONNX/ab.json @@ -1,7 +1,7 @@ { "ONNX Model": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "main_graph": { "nodes": { diff --git a/examples/ONNX/ab.yaml b/examples/ONNX/ab.yaml index 0373f730..84f020d7 100644 --- a/examples/ONNX/ab.yaml +++ b/examples/ONNX/ab.yaml @@ -1,6 +1,6 @@ ONNX Model: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: main_graph: nodes: diff --git a/examples/ONNX/abc.json b/examples/ONNX/abc.json index 2d47a12f..255b56e4 100644 --- a/examples/ONNX/abc.json +++ b/examples/ONNX/abc.json @@ -1,7 +1,7 @@ { "ONNX Model": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "main_graph": { "nodes": { diff --git a/examples/ONNX/abc.yaml b/examples/ONNX/abc.yaml index 873597fd..a50ef452 100644 --- a/examples/ONNX/abc.yaml +++ b/examples/ONNX/abc.yaml @@ -1,6 +1,6 @@ ONNX Model: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: main_graph: nodes: diff --git a/examples/ONNX/abc_basic-mdf.json b/examples/ONNX/abc_basic-mdf.json index 4f1c64af..81e734d5 100644 --- a/examples/ONNX/abc_basic-mdf.json +++ b/examples/ONNX/abc_basic-mdf.json @@ -1,7 +1,7 @@ { "ONNX Model": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "main_graph": { "nodes": { diff --git a/examples/ONNX/abc_basic-mdf.yaml b/examples/ONNX/abc_basic-mdf.yaml index 5aa4dd24..c221626d 100644 --- a/examples/ONNX/abc_basic-mdf.yaml +++ b/examples/ONNX/abc_basic-mdf.yaml @@ -1,6 +1,6 @@ ONNX Model: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: main_graph: nodes: diff --git a/examples/ONNX/abcd.json b/examples/ONNX/abcd.json index 7d55c96e..b2d0bf3a 100644 --- a/examples/ONNX/abcd.json +++ b/examples/ONNX/abcd.json @@ -1,7 +1,7 @@ { "ONNX Model": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "main_graph": { "nodes": { diff --git a/examples/ONNX/abcd.yaml b/examples/ONNX/abcd.yaml index 890c27f2..db7e458c 100644 --- a/examples/ONNX/abcd.yaml +++ b/examples/ONNX/abcd.yaml @@ -1,6 +1,6 @@ ONNX Model: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: main_graph: nodes: diff --git a/examples/PyTorch/MDF_PyTorch/ABCD_pytorch.py b/examples/PyTorch/MDF_PyTorch/ABCD_pytorch.py index 194286eb..1689758f 100644 --- a/examples/PyTorch/MDF_PyTorch/ABCD_pytorch.py +++ b/examples/PyTorch/MDF_PyTorch/ABCD_pytorch.py @@ -1,5 +1,5 @@ """ -This script has been generated by modeci_mdf v0.4.15. +This script has been generated by modeci_mdf v0.4.16. It is an export of a MDF model (mdf.s - MDF stateful, i.e. full MDF allowing stateful parameters) to PyTorch """ diff --git a/examples/PyTorch/MDF_PyTorch/Arrays_pytorch.py b/examples/PyTorch/MDF_PyTorch/Arrays_pytorch.py index dd4590e8..b3192ed9 100644 --- a/examples/PyTorch/MDF_PyTorch/Arrays_pytorch.py +++ b/examples/PyTorch/MDF_PyTorch/Arrays_pytorch.py @@ -1,5 +1,5 @@ """ -This script has been generated by modeci_mdf v0.4.15. +This script has been generated by modeci_mdf v0.4.16. It is an export of a MDF model (mdf.s - MDF stateful, i.e. full MDF allowing stateful parameters) to PyTorch """ diff --git a/examples/PyTorch/MDF_PyTorch/Simple_pytorch.py b/examples/PyTorch/MDF_PyTorch/Simple_pytorch.py index d9792093..afbc3c84 100644 --- a/examples/PyTorch/MDF_PyTorch/Simple_pytorch.py +++ b/examples/PyTorch/MDF_PyTorch/Simple_pytorch.py @@ -1,5 +1,5 @@ """ -This script has been generated by modeci_mdf v0.4.15. +This script has been generated by modeci_mdf v0.4.16. It is an export of a MDF model (mdf.s - MDF stateful, i.e. full MDF allowing stateful parameters) to PyTorch """ diff --git a/examples/PyTorch/PyTorch_MDF/benchmark_script/squeezenet1_1_benchmark.json b/examples/PyTorch/PyTorch_MDF/benchmark_script/squeezenet1_1_benchmark.json index 4558ea97..59bb4671 100644 --- a/examples/PyTorch/PyTorch_MDF/benchmark_script/squeezenet1_1_benchmark.json +++ b/examples/PyTorch/PyTorch_MDF/benchmark_script/squeezenet1_1_benchmark.json @@ -2,11 +2,11 @@ { "model_name": "squeezenet1_1", "model_type": "SqueezeNet", - "pytorch_time": 0.0839, + "pytorch_time": 0.07, "pytorch_predictions": 10, - "mdf_time": 4.4275, + "mdf_time": 5.949, "mdf_predictions": 10, "node density": 66, - "mdf : pytorch ratio": "52.79" + "mdf : pytorch ratio": "84.98" } ] diff --git a/examples/PyTorch/inception.json b/examples/PyTorch/inception.json index 037884d5..d8f37fc2 100644 --- a/examples/PyTorch/inception.json +++ b/examples/PyTorch/inception.json @@ -1,7 +1,7 @@ { "InceptionBlocks": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "InceptionBlocksGraph": { "nodes": { diff --git a/examples/PyTorch/mlp_pure_mdf.json b/examples/PyTorch/mlp_pure_mdf.json index 797147cd..3b649add 100644 --- a/examples/PyTorch/mlp_pure_mdf.json +++ b/examples/PyTorch/mlp_pure_mdf.json @@ -1,7 +1,7 @@ { "mlp_pure_mdf": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "mlp_pure_mdf": { "nodes": { diff --git a/examples/PyTorch/mlp_pure_mdf.yaml b/examples/PyTorch/mlp_pure_mdf.yaml index b3a07b34..5f493d25 100644 --- a/examples/PyTorch/mlp_pure_mdf.yaml +++ b/examples/PyTorch/mlp_pure_mdf.yaml @@ -1,6 +1,6 @@ mlp_pure_mdf: format: ModECI MDF v0.4 - generating_application: Python modeci-mdf v0.4.15 + generating_application: Python modeci-mdf v0.4.16 graphs: mlp_pure_mdf: nodes: diff --git a/examples/PyTorch/simple_pytorch_to_mdf.json b/examples/PyTorch/simple_pytorch_to_mdf.json index e4544c13..c43a63dc 100644 --- a/examples/PyTorch/simple_pytorch_to_mdf.json +++ b/examples/PyTorch/simple_pytorch_to_mdf.json @@ -1,7 +1,7 @@ { "SimpleNet": { "format": "ModECI MDF v0.4", - "generating_application": "Python modeci-mdf v0.4.15", + "generating_application": "Python modeci-mdf v0.4.16", "graphs": { "SimpleNetGraph": { "nodes": { From 8f23f8d035a79b54362868ab59e8cc2c7a3e3594 Mon Sep 17 00:00:00 2001 From: Padraig Gleeson Date: Wed, 19 Aug 2026 17:51:33 +0100 Subject: [PATCH 12/12] General cleanup of pyproject.toml --- pyproject.toml | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e88eabcb..a474f792 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ name = "modeci-mdf" dynamic = ["version"] description = "ModECI (Model Exchange and Convergence Initiative) Model Description Format" readme = "README.md" -requires-python = ">=3.9" +requires-python = ">=3.10" license = {text = "LGPLv3"} authors = [ {name = "ModECI contributors", email = "p.gleeson@gmail.com"}, @@ -25,9 +25,7 @@ classifiers = [ "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Natural Language :: English", "Operating System :: OS Independent", - "Programming Language :: Python :: 3.8", "Topic :: Scientific/Engineering", - "Intended Audience :: Science/Research", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", @@ -35,7 +33,6 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", - "Topic :: Scientific/Engineering", "Topic :: Software Development", "Typing :: Typed", ] @@ -93,7 +90,6 @@ optional = [ "netron", "torch>=1.11.0", "torchvision", - "h5py", ] all_except_psyneulink = [ @@ -145,9 +141,6 @@ exclude = ["tests", "examples"] [tool.setuptools.dynamic] version = {attr = "modeci_mdf.__version__"} -#[tool.setuptools_scm] -#write_to = "src/modeci_mdf/version.py" - [tool.pytest.ini_options] junit_family = "xunit2" addopts = "--benchmark-disable -Wd --strict-markers" @@ -157,7 +150,7 @@ required_plugins = ["pytest-benchmark"] markers = [ "coremdf: marks tests which are core to the MDF specification", "actr: marks tests which require ACT-R to be installed.", - "pytorch: marks test which require PyTorch to be installed.')", + "pytorch: marks tests which require PyTorch to be installed.", "psyneulink: marks tests which require PsyNueLink to be installed.", "neuroml: marks tests which require NeuroML to be installed.", "tensorflow: marks tests which require TensorFlow to be installed.", @@ -183,7 +176,7 @@ per-file-ignores = [ [tool.mypy] warn_unused_configs = true -python_version = "3.6" +python_version = "3.10" files = ["src"] disallow_any_generics = true disallow_subclassing_any = true