Skip to main content

DeePyMoD is a PyTorch-based implementation of the DeepMoD algorithm for model discovery of PDEs.

Project description

Screenshot

DeePyMoD is a modular framework for model discovery of PDEs and ODEs from noise data. The framework is comprised of four components, that can seperately be altered: i) A function approximator to construct a surrogate of the data, ii) a function to construct the library of features, iii) a sparse regression algorithm to select the active components from the feature library and iv) a constraint on the function approximator, based on the active components.

Screenshot

More information can be found in our paper: arXiv:1904.09406 and the full documentation is availeble on phimal.github.io/DeePyMoD/.

What's the use case? Classical Model Discovery methods struggle with elevated noise levels and sparse datasets due the low accuracy of numerical differentiation. DeepMoD can handle high noise and sparse datasets, making it well suited for model discovery on actual experimental data.

What types of models can you discover? DeepMoD can discover non-linear, multi-dimensional and/or coupled ODEs and PDEs. See our paper and the examples folder for a demonstration of each.

Features

  • Many example notebooks We have implemented a varyity of examples ranging from 2D Advection Diffusion, Burgers' equation to non-linear, higher order ODE's If you miss any example, don't hesitate to give us a heads-up.

  • Extendable DeePyMoD is designed to be easily extendable and modifiable. You can simply plug in your own cost function, library or training regime.

  • Automatic library The library and coefficient vectors are automatically constructed from the maximum order of polynomial and differentiation. If that doesn't cut it for your use case, it's easy to plug in your own library function.

  • Extensive logging We provide a simple command line logger to see how training is going and an extensive custom Tensorboard logger.

  • Fast Depending on the size of the data-set DeepMoD, running a model search with DeepMoD takes of the order of minutes/ tens of minutes on a standard CPU. Running the code on GPU's drastically improves performence.

How to install

We provide two ways to use DeePyMoD, either as a package or in a ready-to-use Docker container.

Package

DeePyMoD is released as a pip package, so simply run

pip install DeePyMoD

to install.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

DeePyMoD-2.0.2b0.tar.gz (4.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

DeePyMoD-2.0.2b0-py2.py3-none-any.whl (25.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file DeePyMoD-2.0.2b0.tar.gz.

File metadata

  • Download URL: DeePyMoD-2.0.2b0.tar.gz
  • Upload date:
  • Size: 4.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0

File hashes

Hashes for DeePyMoD-2.0.2b0.tar.gz
Algorithm Hash digest
SHA256 0f99ca60138e4206fc0bd9e95ab9d1132f38c8264b51e584713b39e6a5bec1c2
MD5 ecf892a976bb96483e723ceb3e39bece
BLAKE2b-256 531e2ccf994d8ff31fc07743ea6e0890e895058ae8c5409dbe28b1d8fa1aaa00

See more details on using hashes here.

File details

Details for the file DeePyMoD-2.0.2b0-py2.py3-none-any.whl.

File metadata

  • Download URL: DeePyMoD-2.0.2b0-py2.py3-none-any.whl
  • Upload date:
  • Size: 25.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.9.0

File hashes

Hashes for DeePyMoD-2.0.2b0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 81b94acb79f204dabec883906be02a767fcc4aea804652d28f6c36f881e65f25
MD5 f6b55a3e542cd2e62e652976ef4bc202
BLAKE2b-256 e8469593257f65bf0473b478afc0d0939c6d5bb019c25d55747ce8d9532e063b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page