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 9441b344..c76d87ee 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -7,6 +7,7 @@ Getting started how_to_guides + software_support format_overview Python package API Contributing <_tmp/CONTRIBUTING.md> diff --git a/doc/introduction.rst b/doc/introduction.rst index 1deef8c8..629a0063 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, or 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..0c931a77 100644 --- a/doc/layers.rst +++ b/doc/layers.rst @@ -1,194 +1,197 @@ .. _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 | -| | 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 ----------------------------- -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 | -| | 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 `__ | | | ++--------------------------------------------------------------+----+----+ +| `silu `__ | | | ++--------------------------------------------------------------+----+----+ diff --git a/doc/software_support.rst b/doc/software_support.rst new file mode 100644 index 00000000..0ebd1b6e --- /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. 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 -===============