Go to file
zweien 96a935d466
Merge pull request #4 from zweien/dev
Update github actions for pypi, docker.
2021-07-15 12:54:34 +08:00
.github/workflows ci: update pypi installation check 2021-07-15 12:39:42 +08:00
docs style: change to black style 2021-07-13 10:39:09 +08:00
examples style: change to black style 2021-07-13 10:39:09 +08:00
idrlnet style: change to black style 2021-07-13 10:39:09 +08:00
.bumpversion.cfg chroe: add bump2version 2021-07-12 15:37:03 +08:00
.flake8 style: change to flake8 style 2021-07-12 16:03:42 +08:00
.gitattributes Initial commit 2021-07-05 11:08:13 +08:00
.gitignore docs: Init commit 2021-07-05 11:18:12 +08:00
Dockerfile ci: update Dockerfile 2021-07-12 15:40:33 +08:00
LICENSE docs: Init commit 2021-07-05 11:18:12 +08:00
MANIFEST.in docs: Init commit 2021-07-05 11:18:12 +08:00
README.md docs: update README 2021-07-15 11:26:51 +08:00
requirements.txt docs: Init commit 2021-07-05 11:18:12 +08:00
setup.py ci: update python-package.yml 2021-07-13 08:06:45 +08:00

README.md

License Python Documentation Status

IDRLnet

IDRLnet is a machine learning library on top of PyTorch. Use IDRLnet if you need a machine learning library that solves both forward and inverse differential equations via physics-informed neural networks (PINN). IDRLnet is a flexible framework inspired by Nvidia Simnet.

Installation

Choose one of the following installation methods.

PyPI

Simple installation from PyPI

pip install -U idrlnet

Note: To avoid version conflicts, please use some tools to create a virtual environment first.

Docker

docker pull idrl/idrlnet:latest

Anaconda

From Source

git clone https://github.com/idrl-lab/idrlnet
cd idrlnet
pip install -e .

Features

IDRLnet supports

  • complex domain geometries without mesh generation. Provided geometries include interval, triangle, rectangle, polygon, circle, sphere... Other geometries can be constructed using three boolean operations: union, difference, and intersection;

  • sampling in the interior of the defined geometry or on the boundary with given conditions.

  • enables the user code to be structured. Data sources, operations, constraints are all represented by Node. The graph will be automatically constructed via label symbols of each node. Getting rid of the explicit construction via explicit expressions, users model problems more naturally.

  • solving variational minimization problem;

  • solving integral differential equation;

  • adaptive resampling;

  • recover unknown parameters of PDEs from noisy measurement data.

It is also easy to customize IDRLnet to meet new demands.

Contributing to IDRLnet

First off, thanks for taking the time to contribute!

  • Reporting bugs. To report a bug, simply open an issue in the GitHub "Issues" section.

  • Suggesting enhancements. To submit an enhancement suggestion for IDRLnet, including completely new features and minor improvements to existing functionality, let us know by opening an issue.

  • Pull requests. If you made improvements to IDRLnet, fixed a bug, or had a new example, feel free to send us a pull-request.

  • Asking questions. To get help on how to use IDRLnet or its functionalities, you can as well open an issue.

  • Answering questions. If you know the answer to any question in the "Issues", you are welcomed to answer.

The Team

IDRLnet was originally developed by IDRL lab.

Citation

Feel free to cite this library.

@article{peng2021idrlnet,
      title={IDRLnet: A Physics-Informed Neural Network Library}, 
      author={Wei Peng and Jun Zhang and Weien Zhou and Xiaoyu Zhao and Wen Yao and Xiaoqian Chen},
      year={2021},
      eprint={2107.04320},
      archivePrefix={arXiv},
      primaryClass={cs.LG}
}