From ab09e96a1fe75fb49f4e9833114d35c89ffc0b60 Mon Sep 17 00:00:00 2001 From: sebapersson Date: Mon, 25 May 2026 12:11:26 +0100 Subject: [PATCH 1/6] Add software support page --- doc/format.rst | 2 +- doc/index.rst | 2 +- doc/introduction.rst | 10 +++++----- doc/layers.rst | 30 +++++++++++++++--------------- doc/software_support.rst | 19 +++++++++++++++++++ 5 files changed, 41 insertions(+), 22 deletions(-) create mode 100644 doc/software_support.rst diff --git a/doc/format.rst b/doc/format.rst index 8fb6bd57..aecbaca2 100644 --- a/doc/format.rst +++ b/doc/format.rst @@ -125,7 +125,7 @@ keyword ``array`` in the relevant PEtab table entry. Semantically, assigning ``array`` is interpreted as a global assignment to an array variable whose potentially condition-specific values are provided in an array data file. Therefore, specifying ``array`` is only valid in the -:ref:`hybridization table <_hybrid_table>` and the +:ref:`hybridization table ` and the :ref:`parameter Table `, where assignments apply across all PEtab experiments. diff --git a/doc/index.rst b/doc/index.rst index 0f08e33f..84ef29d6 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -10,7 +10,7 @@ PEtab SciML - Scientific Machine Learning Format and Tooling Introduction Getting Started - trouble + software_support Contributing <_tmp/CONTRIBUTING> .. toctree:: diff --git a/doc/introduction.rst b/doc/introduction.rst index 020b751c..550ea83f 100644 --- a/doc/introduction.rst +++ b/doc/introduction.rst @@ -63,10 +63,11 @@ How to read the documentation ----------------------------- If you are new to PEtab SciML, start with the -:doc:`Getting Started tutorial `. It is a prerequisite for the -How-to guides, which cover different model scenarios (e.g., Neural ODEs, ML -model upstream of the ODE). For a complete description of all options when -defining a SciML problem, see the :doc:`Format specification `. +:doc:`Getting Started tutorial ` +It is a prerequisite for the How-to guides, which cover different model +scenarios (e.g., Neural ODEs, ML model upstream of the ODE). For a complete +description of all options when defining a SciML problem, see the +:doc:`Format specification `. Why a SciML data format? ------------------------ @@ -97,7 +98,6 @@ Getting Help with and Extending PEtab SciML If you run into problems: -- Check the :doc:`Troubleshooting ` section of the documentation. - If you encounter unexpected behavior or a bug, please open an `issue `_ on GitHub diff --git a/doc/layers.rst b/doc/layers.rst index d7708fb4..532dfb2e 100644 --- a/doc/layers.rst +++ b/doc/layers.rst @@ -1,22 +1,22 @@ .. _layers_activation: -Supported Layers and Activation Functions -======================================================================= +Neural-network YAML format +========================== -The PEtab SciML NN model YAML format supports numerous +The PEtab SciML neural network (NN) model YAML format supports numerous standard neural network layers and activation functions. Layer names and -associated keyword arguments follow the PyTorch naming scheme. PyTorch -is used because it is currently the most popular machine learning -framework, and its comprehensive documentation makes it easy to look up -details for any specific layer or activation function. +associated keyword arguments follow the PyTorch naming scheme. PyTorch is used +because it is currently the most popular machine learning framework, and its +comprehensive documentation makes it easy to look up details for any specific +layer or activation function. -If support is lacking for a layer or activation function you would like -to see, please file an issue on +If support is lacking for a layer or activation function you would like to see, +please file an issue on `GitHub `__. -The table below lists the supported and tested neural network layers -along with links to their respective PyTorch documentation. -Additionally, the table indicates which tools support each layer. +The table below lists the supported and tested neural network layers along with +links to their respective PyTorch documentation. Additionally, the table +indicates which tools support each layer. +--------------------------------------------------------------+----+---+ | layer | PE | A | @@ -122,9 +122,9 @@ Additionally, the table indicates which tools support each layer. Supported Activation Function ----------------------------- -The table below lists the supported and tested activation functions -along with links to their respective PyTorch documentation. -Additionally, the table indicates which tools support each layer. +The table below lists the supported and tested activation functions along with +links to their respective PyTorch documentation. Additionally, the table +indicates which tools support each layer. +--------------------------------------------------------------+----+---+ | Function | PE | A | diff --git a/doc/software_support.rst b/doc/software_support.rst new file mode 100644 index 00000000..1e4ed1d2 --- /dev/null +++ b/doc/software_support.rst @@ -0,0 +1,19 @@ +.. _software_support: + +Software support +================ + +Tools that support importing PEtab-SciML problems for downstream tasks (e.g. +simulation and model training), listed alphabetically are: + +- `AMICI `__ + (`Example `__) +- `PEtab.jl `__ + (`Example `__) + +If your tool supports PEtab-SciML and you would like it listed here, please +`open an issue `__. + +Both AMICI and PEtab.jl support the PEtab-SciML neural-network YAML format. +For supported layers and activation functions, see the +:ref:`Neural-network YAML format ` page. From 5b364c2d0be75f86c7befff5dd64eb92b65112e9 Mon Sep 17 00:00:00 2001 From: Sebastian Persson <46872750+sebapersson@users.noreply.github.com> Date: Tue, 26 May 2026 07:51:55 +0100 Subject: [PATCH 2/6] Apply suggestions from code review Co-authored-by: Dilan Pathirana <59329744+dilpath@users.noreply.github.com> --- doc/introduction.rst | 2 +- doc/layers.rst | 2 +- doc/software_support.rst | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/introduction.rst b/doc/introduction.rst index 550ea83f..c479d461 100644 --- a/doc/introduction.rst +++ b/doc/introduction.rst @@ -65,7 +65,7 @@ How to read the documentation If you are new to PEtab SciML, start with the :doc:`Getting Started tutorial ` It is a prerequisite for the How-to guides, which cover different model -scenarios (e.g., Neural ODEs, ML model upstream of the ODE). For a complete +scenarios (e.g., Neural ODEs, or ML model upstream of the ODE). For a complete description of all options when defining a SciML problem, see the :doc:`Format specification `. diff --git a/doc/layers.rst b/doc/layers.rst index 532dfb2e..82a14aa5 100644 --- a/doc/layers.rst +++ b/doc/layers.rst @@ -1,6 +1,6 @@ .. _layers_activation: -Neural-network YAML format +Neural network YAML format ========================== The PEtab SciML neural network (NN) model YAML format supports numerous diff --git a/doc/software_support.rst b/doc/software_support.rst index 1e4ed1d2..e09a5d4a 100644 --- a/doc/software_support.rst +++ b/doc/software_support.rst @@ -6,7 +6,7 @@ Software support Tools that support importing PEtab-SciML problems for downstream tasks (e.g. simulation and model training), listed alphabetically are: -- `AMICI `__ +- `AMICI `__ (`Example `__) - `PEtab.jl `__ (`Example `__) @@ -14,6 +14,6 @@ simulation and model training), listed alphabetically are: If your tool supports PEtab-SciML and you would like it listed here, please `open an issue `__. -Both AMICI and PEtab.jl support the PEtab-SciML neural-network YAML format. +Both AMICI and PEtab.jl support the PEtab SciML neural network YAML format. For supported layers and activation functions, see the -:ref:`Neural-network YAML format ` page. +:ref:`Neural network YAML format ` page. From b691e781bf350479c9eec6154ba03262d78fd3e1 Mon Sep 17 00:00:00 2001 From: sebapersson Date: Tue, 26 May 2026 07:56:11 +0100 Subject: [PATCH 3/6] Remove trouble.rst --- doc/trouble.rst | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 doc/trouble.rst diff --git a/doc/trouble.rst b/doc/trouble.rst deleted file mode 100644 index 4edddddf..00000000 --- a/doc/trouble.rst +++ /dev/null @@ -1,2 +0,0 @@ -Troubleshooting -=============== From a6319d26499be8bacd63abdf3f3009d5967b6659 Mon Sep 17 00:00:00 2001 From: sebapersson Date: Tue, 26 May 2026 08:03:00 +0100 Subject: [PATCH 4/6] Fix broken links --- doc/software_support.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/software_support.rst b/doc/software_support.rst index e09a5d4a..312416e6 100644 --- a/doc/software_support.rst +++ b/doc/software_support.rst @@ -9,11 +9,11 @@ simulation and model training), listed alphabetically are: - `AMICI `__ (`Example `__) - `PEtab.jl `__ - (`Example `__) + (`Example `__) If your tool supports PEtab-SciML and you would like it listed here, please `open an issue `__. Both AMICI and PEtab.jl support the PEtab SciML neural network YAML format. For supported layers and activation functions, see the -:ref:`Neural network YAML format ` page. +:ref:`Neural network YAML format ` page. From dc755544c818c7cf411341df5d73e075016522a5 Mon Sep 17 00:00:00 2001 From: Branwen Snelling Date: Tue, 26 May 2026 10:27:48 +0100 Subject: [PATCH 5/6] update supported layers and link --- doc/layers.rst | 332 +++++++++++++++++++-------------------- doc/software_support.rst | 2 +- 2 files changed, 167 insertions(+), 167 deletions(-) diff --git a/doc/layers.rst b/doc/layers.rst index 82a14aa5..ec93105e 100644 --- a/doc/layers.rst +++ b/doc/layers.rst @@ -18,106 +18,106 @@ The table below lists the supported and tested neural network layers along with links to their respective PyTorch documentation. Additionally, the table indicates which tools support each layer. -+--------------------------------------------------------------+----+---+ -| layer | PE | A | -| | ta | M | -| | b. | I | -| | jl | C | -| | | I | -+==============================================================+====+===+ -| `Linear `__ | | | -+--------------------------------------------------------------+----+---+ -| `Bilinear `__ | | | -+--------------------------------------------------------------+----+---+ -| `Flatten `__ | | | -+--------------------------------------------------------------+----+---+ -| `Dropout `__ | | | -+--------------------------------------------------------------+----+---+ -| `Dropout1d `__ | | | -+--------------------------------------------------------------+----+---+ -| `Dropout2d `__ | | | -+--------------------------------------------------------------+----+---+ -| `Dropout3d `__ | | | -+--------------------------------------------------------------+----+---+ -| `AlphaDropout `__ | | | -+--------------------------------------------------------------+----+---+ -| `Conv1d `__ | | | -+--------------------------------------------------------------+----+---+ -| `Conv2d `__ | | | -+--------------------------------------------------------------+----+---+ -| `Conv3d `__ | | | -+--------------------------------------------------------------+----+---+ -| `ConvTranspose1d `__ | | | -+--------------------------------------------------------------+----+---+ -| `ConvTranspose2d `__ | | | -+--------------------------------------------------------------+----+---+ -| `ConvTranspose3d `__ | | | -+--------------------------------------------------------------+----+---+ -| `MaxPool1d `__ | | | -+--------------------------------------------------------------+----+---+ -| `MaxPool2d `__ | | | -+--------------------------------------------------------------+----+---+ -| `MaxPool3d `__ | | | -+--------------------------------------------------------------+----+---+ -| `AvgPool1d `__ | | | -+--------------------------------------------------------------+----+---+ -| `AvgPool2d `__ | | | -+--------------------------------------------------------------+----+---+ -| `AvgPool3d `__ | | | -+--------------------------------------------------------------+----+---+ -| `LPPool1 `__ | | | -+--------------------------------------------------------------+----+---+ -| `LPPool2 `__ | | | -+--------------------------------------------------------------+----+---+ -| `LPPool3 `__ | | | -+--------------------------------------------------------------+----+---+ -| `Ada | ✔️ | | -| ptiveMaxPool1d `__ | | | -+--------------------------------------------------------------+----+---+ -| `Ada | ✔️ | | -| ptiveMaxPool2d `__ | | | -+--------------------------------------------------------------+----+---+ -| `Ada | ✔️ | | -| ptiveMaxPool3d `__ | | | -+--------------------------------------------------------------+----+---+ -| `Ada | ✔️ | | -| ptiveAvgPool1d `__ | | | -+--------------------------------------------------------------+----+---+ -| `Ada | ✔️ | | -| ptiveAvgPool2d `__ | | | -+--------------------------------------------------------------+----+---+ -| `Ada | ✔️ | | -| ptiveAvgPool3d `__ | | | -+--------------------------------------------------------------+----+---+ ++--------------------------------------------------------------+----+----+ +| layer | PE | A | +| | ta | M | +| | b. | I | +| | jl | C | +| | | I | ++==============================================================+====+====+ +| `Linear `__ | | | ++--------------------------------------------------------------+----+----+ +| `Bilinear `__ | | | ++--------------------------------------------------------------+----+----+ +| `Flatten `__ | | | ++--------------------------------------------------------------+----+----+ +| `Dropout `__ | | | ++--------------------------------------------------------------+----+----+ +| `Dropout1d `__ | | | ++--------------------------------------------------------------+----+----+ +| `Dropout2d `__ | | | ++--------------------------------------------------------------+----+----+ +| `Dropout3d `__ | | | ++--------------------------------------------------------------+----+----+ +| `AlphaDropout `__ | | | ++--------------------------------------------------------------+----+----+ +| `Conv1d `__ | | | ++--------------------------------------------------------------+----+----+ +| `Conv2d `__ | | | ++--------------------------------------------------------------+----+----+ +| `Conv3d `__ | | | ++--------------------------------------------------------------+----+----+ +| `ConvTranspose1d `__ | | | ++--------------------------------------------------------------+----+----+ +| `ConvTranspose2d `__ | | | ++--------------------------------------------------------------+----+----+ +| `ConvTranspose3d `__ | | | ++--------------------------------------------------------------+----+----+ +| `MaxPool1d `__ | | | ++--------------------------------------------------------------+----+----+ +| `MaxPool2d `__ | | | ++--------------------------------------------------------------+----+----+ +| `MaxPool3d `__ | | | ++--------------------------------------------------------------+----+----+ +| `AvgPool1d `__ | | | ++--------------------------------------------------------------+----+----+ +| `AvgPool2d `__ | | | ++--------------------------------------------------------------+----+----+ +| `AvgPool3d `__ | | | ++--------------------------------------------------------------+----+----+ +| `LPPool1 `__ | | | ++--------------------------------------------------------------+----+----+ +| `LPPool2 `__ | | | ++--------------------------------------------------------------+----+----+ +| `LPPool3 `__ | | | ++--------------------------------------------------------------+----+----+ +| `Ada | ✔️ | ✔️ | +| ptiveMaxPool1d `__ | | | ++--------------------------------------------------------------+----+----+ +| `Ada | ✔️ | ✔️ | +| ptiveMaxPool2d `__ | | | ++--------------------------------------------------------------+----+----+ +| `Ada | ✔️ | ✔️ | +| ptiveMaxPool3d `__ | | | ++--------------------------------------------------------------+----+----+ +| `Ada | ✔️ | ✔️ | +| ptiveAvgPool1d `__ | | | ++--------------------------------------------------------------+----+----+ +| `Ada | ✔️ | ✔️ | +| ptiveAvgPool2d `__ | | | ++--------------------------------------------------------------+----+----+ +| `Ada | ✔️ | ✔️ | +| ptiveAvgPool3d `__ | | | ++--------------------------------------------------------------+----+----+ Supported Activation Function ----------------------------- @@ -126,69 +126,69 @@ The table below lists the supported and tested activation functions along with links to their respective PyTorch documentation. Additionally, the table indicates which tools support each layer. -+--------------------------------------------------------------+----+---+ -| Function | PE | A | -| | ta | M | -| | b. | I | -| | jl | C | -| | | I | -+==============================================================+====+===+ -| `relu `__ | | | -+--------------------------------------------------------------+----+---+ -| `relu6 `__ | | | -+--------------------------------------------------------------+----+---+ -| `hardtanh `__ | | | -+--------------------------------------------------------------+----+---+ -| `h | ✔️ | | -| ardswish `__ | | | -+--------------------------------------------------------------+----+---+ -| `selu `__ | | | -+--------------------------------------------------------------+----+---+ -| `leak | ✔️ | | -| y_relu `__ | | | -+--------------------------------------------------------------+----+---+ -| `gelu `__ | | | -+--------------------------------------------------------------+----+---+ -| `tanh | ✔️ | | -| shrink `__ | | | -+--------------------------------------------------------------+----+---+ -| `softsign `__ | | | -+--------------------------------------------------------------+----+---+ -| `softplus `__ | | | -+--------------------------------------------------------------+----+---+ -| `tanh `__ | | | -+--------------------------------------------------------------+----+---+ -| `sigmoid `__ | | | -+--------------------------------------------------------------+----+---+ -| `hardsig | ✔️ | | -| moid `__ | | | -+--------------------------------------------------------------+----+---+ -| `mish `__ | | | -+--------------------------------------------------------------+----+---+ -| `elu `__ | | | -+--------------------------------------------------------------+----+---+ -| `celu `__ | | | -+--------------------------------------------------------------+----+---+ -| `softmax `__ | | | -+--------------------------------------------------------------+----+---+ -| `log_sof | ✔️ | | -| tmax `__ | | | -+--------------------------------------------------------------+----+---+ ++--------------------------------------------------------------+----+----+ +| Function | PE | A | +| | ta | M | +| | b. | I | +| | jl | C | +| | | I | ++==============================================================+====+====+ +| `relu `__ | | | ++--------------------------------------------------------------+----+----+ +| `relu6 `__ | | | ++--------------------------------------------------------------+----+----+ +| `hardtanh `__ | | | ++--------------------------------------------------------------+----+----+ +| `h | ✔️ | ✔️ | +| ardswish `__ | | | ++--------------------------------------------------------------+----+----+ +| `selu `__ | | | ++--------------------------------------------------------------+----+----+ +| `leak | ✔️ | ✔️ | +| y_relu `__ | | | ++--------------------------------------------------------------+----+----+ +| `gelu `__ | | | ++--------------------------------------------------------------+----+----+ +| `tanh | ✔️ | ✔️ | +| shrink `__ | | | ++--------------------------------------------------------------+----+----+ +| `softsign `__ | | | ++--------------------------------------------------------------+----+----+ +| `softplus `__ | | | ++--------------------------------------------------------------+----+----+ +| `tanh `__ | | | ++--------------------------------------------------------------+----+----+ +| `sigmoid `__ | | | ++--------------------------------------------------------------+----+----+ +| `hardsig | ✔️ | ✔️ | +| moid `__ | | | ++--------------------------------------------------------------+----+----+ +| `mish `__ | | | ++--------------------------------------------------------------+----+----+ +| `elu `__ | | | ++--------------------------------------------------------------+----+----+ +| `celu `__ | | | ++--------------------------------------------------------------+----+----+ +| `softmax `__ | | | ++--------------------------------------------------------------+----+----+ +| `log_sof | ✔️ | ✔️ | +| tmax `__ | | | ++--------------------------------------------------------------+----+----+ diff --git a/doc/software_support.rst b/doc/software_support.rst index 312416e6..0ebd1b6e 100644 --- a/doc/software_support.rst +++ b/doc/software_support.rst @@ -7,7 +7,7 @@ Tools that support importing PEtab-SciML problems for downstream tasks (e.g. simulation and model training), listed alphabetically are: - `AMICI `__ - (`Example `__) + (`Example `__) - `PEtab.jl `__ (`Example `__) From eebecb45163b146c0ce53be4dfa693e1251397a5 Mon Sep 17 00:00:00 2001 From: sebapersson Date: Tue, 26 May 2026 10:45:13 +0100 Subject: [PATCH 6/6] Add Silu activation function --- doc/layers.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/layers.rst b/doc/layers.rst index ec93105e..0c931a77 100644 --- a/doc/layers.rst +++ b/doc/layers.rst @@ -192,3 +192,6 @@ indicates which tools support each layer. | tmax `__ | | | +--------------------------------------------------------------+----+----+ +| `silu `__ | | | ++--------------------------------------------------------------+----+----+