-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Contact emails
[email protected], [email protected], [email protected], [email protected], [email protected]
Project summary
PINA is an open-source library designed to simplify and accelerate the development of Scientific Machine Learning solutions.
Project description
PINA is an open-source library designed to simplify and accelerate the development of Scientific Machine Learning (SciML) solutions. It provides a consistent and modular framework for building and experimenting with models such as Neural Networks, Physics-Informed Neural Networks (PINNs), Neural Operators and more. Designed with composable abstractions, PINA allows researchers to plug in, replace, or extend components effortlessly, making experimentation both fast and flexible. It scales seamlessly across devices, delivering performance close to hand-crafted implementations while remaining easy to use.
Are there any other projects in the PyTorch Ecosystem similar to yours? If, yes, what are they?
The closest package to ours is simulAI, which provides contributions to the SciML ecosystem, particularly with implementations of vanilla PINNs and DeepONet. Unlike simulAI, PINA is designed to be truly versatile, supporting a wide range of SciML tasks; from molecular property prediction to solving complex PDEs, for instance. It also goes beyond the basics, incorporating not only standard approaches but also many of their state-of-the-art variants that address limitations of the original methods. Finally, PINA is an active project, with continuous updates and regular maintenance to ensure researchers can rely on the latest tools and techniques.
Project repo URL
https://github.com/mathLab/PINA
Additional repos in scope of the application
No response
Project license
The MIT License (MIT)
GitHub handles of the project maintainer(s)
@GiovanniCanali, @dario-coscia, @ndem0, @AleDinve, @annaivagnes, @FilippoOlivo, @guglielmopadula, @fpichi
Is there a corporate or academic entity backing this project? If so, please provide the name and URL of the entity.
SISSA mathLab, Mathematics Area, SISSA (Scuola Internazionale Superiore di Studi Avanzati), Trieste, Italy. URL: https://mathlab.sissa.it/pina
Website URL
https://github.com/mathLab/PINA
Documentation
Our documentation is available at: https://mathlab.github.io/PINA/
We have a list of getting started tutorials: https://mathlab.github.io/PINA/_tutorial.html#getting-started-with-pina, but also more advanced tutorials.
How do you build and test the project today (continuous integration)? Please describe.
The repository includes various continuous integration pipelines through GitHub workflows. Below we highlight the main ones, while the full list is available here:
- Automated Tests: We run static code analysis and documentation build tests.
- Coverage: We verify code quality and monitor test coverage through automated checks.
- Automated Releases: We publish a release on PyPI once per month, which also automatically updates the documentation.
Version of PyTorch
The repository works (and has been tested) with PyTorch versions β₯ 2.0, while maintaining backward compatibility with earlier versions. Continuous integration is performed using the latest stable release of PyTorch.
Components of PyTorch
We use different components of PyTorch across the repository:
torch.nn.Module
(with optional buffers) inpina.model
andpina.model.block
for building state-of-the-art SciML architectures.torch.autograd
in our differential operators module (pina.operator
).torch.utils.data
for the data loading pipeline.- Linear algebra routines and standard PyTorch operations throughout the codebase.
How long do you expect to maintain the project?
Indefinitely
Additional information
Our software has been accepted to the JOSS journal.
Link to the paper: https://joss.theoj.org/papers/10.21105/joss.05352