Recent Releases of Physics-Informed Neural networks for Advanced modeling
Physics-Informed Neural networks for Advanced modeling - v0.2.2.post2508
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] 10 months ago
Physics-Informed Neural networks for Advanced modeling - v0.2.2.post2507
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] 11 months ago
Physics-Informed Neural networks for Advanced modeling - v0.2.2
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] 12 months ago
Physics-Informed Neural networks for Advanced modeling - v0.2.1.post2506
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] 12 months ago
Physics-Informed Neural networks for Advanced modeling - v0.2.1.post250505
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.2.1.dev2505
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.2.1.post2505
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.2.1
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.2.0post2504b
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.2.0.post2504
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
Physics-Informed Neural networks for Advanced modeling - Version 0.2.0
PINA v0.2 Release Note
Highlightns
We are thrilled to announce version 0.2 of the PINA library, a major release that brings numerous enhancements and new features while maintaining compatibility with previous versions.
In this release, we have significantly improved integration with PyTorch Lightning by redesigning the data flow, resulting in faster and more reliable data management throughout the training and testing process. Additionally, we have integrated PyTorch Geometric into PINA, simplifying the definition, training, and testing of graph-based models.
A comprehensive description of the updates introduced in this version is provided in the following section.
New Features and Updates
Graph based modelling
Thanks to the integration with PyTorch Geometric, PINA now offers a user-friendly interface for defining graph objects and training graph-based models. Specifically, we introduce the Graph class, an extension of torch_geometric.data.Data, which enables the use of labeled tensors (LabelTensor objects). Additionally, we provide two interfaces, KNNGraph and RadiusGraph, for constructing Graph objects by automatically computing edges -and, optionally, edge features- in a simple and intuitive manner. For now, we also introduce an initial implementation of a Graph Neural Operator, which can be easily used by simply importing the class and configuring the parameters accordingly. We plan to expand the library with more models in future updates.
Data management: Introduction of PINADataModule
We introduce the PinaDataModule class, an extension of lightning.pytorch.LightningDataModule, which enhances the reliability and efficiency of data flow within PINA. The key advantages of this new component are:
- Automatic dataset splitting: By simply specifying the desired fractions for training, validation, and testing in the Trainer, PINA automatically handles dataset splitting and the creation of corresponding DataLoaders.
- Seamless integration with graph data: the redesigned pipeline natively supports different data types (e.g.,
torch.Tensorandtorch_geometric.data.Data) without requiring any modifications to the user's code. This is achieved through the definition of separate custom dataset classes, making the entire data-loading process fully transparent. - Modularity and scalability: compared to the previous release, we have significantly improved the performance of the data-loading process by implementing an efficient data transfer strategy to the GPU. This is particularly beneficial for Physics-Informed problems where the dataset fits entirely in GPU memory. Additionally, we have introduced support for more advanced features of the PyTorch DataLoader, such as memory pinning, further optimizing data handling and performance.
Parallel Training
Thanks to Lightning's capabilities, PINA now supports parallel training using advanced paradigms such as Data Distributed Parallelism (DDP) and Fully-Sharded Data Parallelism (FSDP). This is made possible by our redesigned data-loading pipeline, which efficiently distributes data across multiple GPUs and even across multiple nodes. Furthermore, we have tested PINA in HPC environments, assessing its full compatibility with resource management tools like SLURM.
Problem collection
Version 0.2 introduces a new module that includes a collection of common physical problems. This module serves two key purposes:
- It provides modular implementations of widely-used problems, allowing users to easily import these problem classes and adjust parameters as needed.
- It offers a valuable resource for users looking to create new, more complex problems in PINA style.
In future releases, we will extend this module with additional problems.
Documentation
Last but not least, we are also excited to present the new documentation! Thanks to the careful work of our contributors, PINA now offers an updated and well-structured documentation, making it easier for users to get started and navigate the library.
Conclusion
Thanks to this new release, PINA becomes an even more powerful tool for Physics-Informed and Scientific Machine Learning, with broad applications in both academic and industrial environments. With its user-friendly design and the ability to scale across computational resources, our library simplifies advanced modeling, making it more accessible than ever. PINA team sincerely thanks its community for the invaluable suggestions that made this release possible. We look forward to introducing more enhancements in the near future!
New Contributors
We thank all the new contributors!
- @FilippoOlivo made their first contribution in #344
- @MatteB03 made their first contribution in #463
Scientific Software - Peer-reviewed
- Python
Published by ndem0 about 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.1.2.post2503
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.1.2.post2501
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.1.2.post2412
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.1.2.post2411
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.1.3
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.1.2.post2410
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.1.2
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 1 year ago
Physics-Informed Neural networks for Advanced modeling - v0.1.1.post2407
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 2 years ago
Physics-Informed Neural networks for Advanced modeling - v0.1.1.post2406
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 2 years ago
Physics-Informed Neural networks for Advanced modeling - v0.1.1
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 2 years ago
Physics-Informed Neural networks for Advanced modeling - v0.1.0.post2405
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 2 years ago
Physics-Informed Neural networks for Advanced modeling - v0.1.0.post2404
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 2 years ago
Physics-Informed Neural networks for Advanced modeling - v0.1.0.post2403
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 2 years ago
Physics-Informed Neural networks for Advanced modeling - v0.1
PINA v0.1 Release Notes
Highlights
We're thrilled to announce the launch of PINA v0.1, a groundbreaking release that introduces powerful capabilities for solving differential equations using the Physics Informed Neural Network paradigm and Operator learning. In this version, we've expanded the package's functionality and compatibility by integrating it seamlessly with the Pytorch Lightining framework as its backend.
By leveraging PyTorch Lightning, we aim to empower professional AI researchers and machine learning engineers with access to cutting-edge training strategies offered by this library. This integration enhances the potential for advanced methodologies while utilizing PINA's differential equation-solving prowess.
Furthermore, in this 0.1 release, we're introducing a comprehensive set of updates across the PINA libraries. These enhancements are detailed in the New Features and Updates section, providing a deeper insight into the advancements and improvements incorporated into this version.
New Features and Updates
PINA v0.1 core: Solver, Model, Trainer
We introduce the Solver concept. A solver is a Python object which defines the optimization strategy for the model. All solvers in PINA inherits from the standard SolverInterface class, which is a wrapper of lightning.pytorch.LightningModule. We have implemented different solvers such as PINN, GAROM, SupervisedSolver and more to come. All solvers are custumazible by either chaining initialization parameters or by changing the solver methods.
We introduce the concept of Models. A models is represented as a standard torch.nn.Module. The user can use built in models DeepOnet, FNO, MIONet, FeedForward, ResidualFeedForward and so on, or create its own torch model and pass it to a solver. For building the model we also provide various layers in pina.model.layers, see the documentation for the available ones. By combining models and solvers, the user can easily test various state of the art methodologies. For example, using the SupervisedSolver and FNO one can solve a Neural Operator problem by Fourier Neural Operator (see tutorials); or using DeepONet and PINN one can solve a Neural Operator or PINN problem by Physics Informed DeepONet.
Finally we introduce the Trainer, which wraps the lightning.pytorch.Trainer class. In the Trainer class the user must pass a SolverInter- face object in addition to all the available arguments of lightning.pytorch.Trainer. This strategy allows the user maximal training flexibility by exploiting fully Pytorch Lightining capabilities, e.g. low precision training, gradient accumulation, multiple GPU training, and different hardware training. Dataloading is handled inside of PINA directly!
PINA v0.1 Problem
The differential problem is expressed as a class, inheriting from the type of problem one wants to solve, as in the previous versions. As today with PINA it is possible to solve: Spatial, Temporal, Parametric PDEs and ODEs, Optimal Control and Inverse problems.
We introduce the class Equation and SystemEquation wrapping python equations (more on the tutorials).
PINA v0.1 Location, Loss Functions and Callbacks
New loss functions (LpLoss, LpRelativeLoss, ...) and a standard interface (LossInterface) for loss functions. More in the official documentation.
We built new Location objects to sample from different multidimensional geometries (triangles, circles, elliples). Furthemore, now the user can combine Location objects by using set operations (Union, Difference, ...).
With the Pytorch Lightining compatibility also Callbacks can be used during the training for easy extensions without the need to touch the underlying code. The Callbacks allow you to add arbitrary self-contained programs to your training. At specific points during the flow of execution (hooks), the Callback interface allows you to design programs that encapsulate a full set of functionality. We provide examples in the tutorials. A set of callbacks for metric tracking, adaptive point refinment and optimizer routines are available in pina.callbacks.
Documentation
We're excited to unveil our revamped documentation, meticulously crafted to provide users with a comprehensive understanding of our package. It includes HTML tutorials for hands-on learning, a detailed API reference, citing references, contribution guidelines, and licensing information. Our tutorials in HTML format offer a user-friendly learning experience, guiding users through the package's functionalities. The API reference provides detailed insights into methods and operations. Additionally, citing references acknowledge foundational work, while contribution guidelines encourage community involvement. Clear licensing information ensures transparent usage guidelines.
New Contributors
We thank all the new contributors! * @SpartaKushK made their first contribution in #109 * @benv123 made their first contribution in #152 * @pcafrica made their first contribution in #85
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 2 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.3.post2311
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 2 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.3.post2310
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 2 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.3.post2309
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 2 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.3.post2308
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
Physics-Informed Neural networks for Advanced modeling - Version 0.0.3 for JOSS publication
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.3
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.2.post2307
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.2.dev2
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.2.post2306
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] almost 3 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.2.post2305
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 3 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.2.dev0
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 3 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.2.post2304
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 3 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.2.post2303
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] about 3 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.2.post2302
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 3 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.2.post2301
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 3 years ago
Physics-Informed Neural networks for Advanced modeling - v0.0.2.post2212
Scientific Software - Peer-reviewed
- Python
Published by github-actions[bot] over 3 years ago
Physics-Informed Neural networks for Advanced modeling - Version 0.0.2
Scientific Software - Peer-reviewed
- Python
Published by ndem0 almost 4 years ago
Physics-Informed Neural networks for Advanced modeling - Version 0.0.1
Scientific Software - Peer-reviewed
- Python
Published by ndem0 about 4 years ago