{"id":37625438,"url":"https://github.com/martenlienen/finite-element-networks","last_synced_at":"2026-01-16T10:47:26.080Z","repository":{"id":143189740,"uuid":"471190312","full_name":"martenlienen/finite-element-networks","owner":"martenlienen","description":"Reference implementation of Finite Element Networks as proposed in \"Learning the Dynamics of Physical Systems from Sparse Observations with Finite Element Networks\" at ICLR 2022","archived":false,"fork":false,"pushed_at":"2024-05-22T07:21:47.000Z","size":1333,"stargazers_count":69,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-10-14T09:37:29.776Z","etag":null,"topics":["forecasting","neural-ode","pde","spatio-temporal"],"latest_commit_sha":null,"homepage":"https://www.daml.in.tum.de/finite-element-networks","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/martenlienen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-03-18T00:53:10.000Z","updated_at":"2025-04-14T08:20:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"f814633e-d60c-4dc7-bfc5-da47a106ff25","html_url":"https://github.com/martenlienen/finite-element-networks","commit_stats":{"total_commits":2,"total_committers":1,"mean_commits":2.0,"dds":0.0,"last_synced_commit":"5e8f6ecc473d1e93ccf366fcc45a47b08492ffde"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/martenlienen/finite-element-networks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martenlienen%2Ffinite-element-networks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martenlienen%2Ffinite-element-networks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martenlienen%2Ffinite-element-networks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martenlienen%2Ffinite-element-networks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/martenlienen","download_url":"https://codeload.github.com/martenlienen/finite-element-networks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/martenlienen%2Ffinite-element-networks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478059,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["forecasting","neural-ode","pde","spatio-temporal"],"created_at":"2026-01-16T10:47:25.543Z","updated_at":"2026-01-16T10:47:26.072Z","avatar_url":"https://github.com/martenlienen.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Finite Element Networks\n\nThis project provides a clean and extensible reference implementation of Finite Element Networks as proposed in our paper\n\n*[Learning the Dynamics of Physical Systems from Sparse Observations with Finite Element\nNetworks](https://openreview.net/forum?id=HFmAukZ-k-2)*  \nMarten Lienen \u0026 Stephan Günnemann  \nPublished at ICLR 2022\n\n\u003cp align=\"center\"\u003e\u003cimg src=\"figures/flow-field.gif\"\u003e\u003cbr /\u003eA learned flow field\u003c/p\u003e\n\n## Installation\n\nFirst, install [pytorch](https://pytorch.org/get-started/locally/) and\n[torch-scatter](https://github.com/rusty1s/pytorch_scatter#installation) according to your\nCPU/GPU setup. Then you can clone the repository and install the package locally.\n\n```\n# Clone the repository\ngit clone https://github.com/martenlienen/finite-element-networks\n\n# Change into the repository\ncd finite-element-networks\n\n# Make sure that a recent version of pip is available that supports PEP 518 projects\n# with a pyproject.toml\npip install --upgrade pip\n\n# Install the code as a local package\npip install --editable .\n```\n\nAfter this you can `import finite_element_networks` in your own code, python shell, and\nnotebooks, and easily integrate it into your existing code.\n\nIf you want to run our [example training script](examples/train.py), explore the\n[notebooks](notebooks) or use our [pytorch lightning data\nmodules](finite_element_networks/lightning/data), you have to install the package with the\n`lightning` extra.\n\n```\npip install --editable '.[lightning]'\n```\n\nIf you are a [weights \u0026 biases](https://wandb.ai) user, there is some [additional\ncode](finite_element_networks/lightning/wandb.py) to log plots and animations there during\ntraining.\n\n## Extending \u0026 Exploring\n\nTo get you started quickly, we have published a preprocessed version of the Black Sea and\nScalarFlow datasets as well as pre-trained checkpoints of both FEN and T-FEN. To get them,\nrun the following commands in the root of the repository.\n\n```\ncurl -o data.zip https://zenodo.org/record/6366269/files/fen.zip\nunzip data.zip\n```\n\nNow you can train a new model with `examples/train.py black-sea` or `examples/train.py\nscalar-flow`. Note, that you can also train models or use the project in any other way\nwithout downloading the data and checkpoints. However, if you use the data modules without\nhaving downloaded the preprocessed datasets, the will download and prepare the data for\nyou, which is almost 500G for ScalarFlow and 13G for Black Sea.\n\nIf you end up using these datasets in your own work, please note that the raw data of both\ndatasets comes with their own license as we have described in the appendix of our paper.\n\nAdditionally, we provide some notebooks for you to recreate results and figures similar to\nwhat we present in the paper.\n- [forecasting_evaluation.ipynb](notebooks/forecasting_evaluation.ipynb) loads one of the\n  checkpoints and computes the MAE over the test set\n- [flow_fields_and_disentanglement.ipynb](notebooks/flow_fields_and_disentanglement.ipynb)\n  renders animated versions of the inferred flow field and the disentanglement between\n  free-form and transport term\n\nThe simplest way for you to apply this model to your own data will be to create your own\ndata module, which you can model directly after the ones that [we\nprovide](finite_element_networks/lightning/data).\n\n## Cite\n\nIf you build upon this work, please cite our paper as follows.\n\n```\n@inproceedings{lienen2022fen,\n  title = {Learning the Dynamics of Physical Systems from Sparse Observations with Finite Element Networks},\n  author = {Lienen, Marten and G\\\"unnemann, Stephan},\n  booktitle={International Conference on Learning Representations (ICLR)},\n  year = {2022},\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartenlienen%2Ffinite-element-networks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmartenlienen%2Ffinite-element-networks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmartenlienen%2Ffinite-element-networks/lists"}