-
Notifications
You must be signed in to change notification settings - Fork 84
PINN variants addition and Solvers Update #263
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* causal pinn * ref update/ codacy
* Create a `compute_residual` attribute for `PINNInterface`
* Adding in PINNInterface a variable to track the current condition during training * Modify GPINN,PINN,CausalPINN to match changes in PINNInterface
* competitive pinns * fixing after rebase/ fix loss * fixing final issues --------- Co-authored-by: Dario Coscia <[email protected]>
* Create sapinn.py * Final sapinn * Update doc
* Modify tests SAPINN
|
Hi @ndem0 @guglielmopadula 👋🏻 Lately, with @annaivagnes @valc89 and myself, we have been working to modify existing bugs in PINA solvers and create new solvers. Here I tried to summarize the most relevant feature of this pull request. Let us know if you are satisfied with the changes, we could also think of adding a comparative tutorial for physics-informed based solvers if interested! Thanks🚀😃 |
|
Hi! Exceptional work!
|
Thanks for spotting point (3), I added ROM solver (idk what happened). Regarding point 2 we left it commented as it was, once GPU tests will be activated on Github we will remove the comments. For point one we do follow the convention that we have one point for each residual point, we do this in Of course, if someone changes the point during training (but why one should do it with SAPINN?) by a callback everything breaks (so maybe we can think about something smarter @valc89 ?) A warning in the documentation its a good start anyway. |
guglielmopadula
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Codacy complains. Apart from that the code is fine for me!
|
I'm trying to fix the local imports and we're done. |
|
@ndem0 Can we merge? |
* gpinn/basepinn new classes, pinn restructure * codacy fix gpinn/basepinn/pinn * inverse problem fix * Causal PINN (#267) * fix GPU training in inverse problem (#283) * Create a `compute_residual` attribute for `PINNInterface` * Modify dataloading in solvers (#286) * Modify PINNInterface by removing _loss_phys, _loss_data * Adding in PINNInterface a variable to track the current condition during training * Modify GPINN,PINN,CausalPINN to match changes in PINNInterface * Competitive Pinn Addition (#288) * fixing after rebase/ fix loss * fixing final issues --------- Co-authored-by: Dario Coscia <[email protected]> * Modify min max formulation to max min for paper consistency * Adding SAPINN solver (#291) * rom solver * fix import --------- Co-authored-by: Dario Coscia <[email protected]> Co-authored-by: Anna Ivagnes <[email protected]> Co-authored-by: valc89 <[email protected]> Co-authored-by: Monthly Tag bot <[email protected]> Co-authored-by: Nicola Demo <[email protected]>
* gpinn/basepinn new classes, pinn restructure * codacy fix gpinn/basepinn/pinn * inverse problem fix * Causal PINN (#267) * fix GPU training in inverse problem (#283) * Create a `compute_residual` attribute for `PINNInterface` * Modify dataloading in solvers (#286) * Modify PINNInterface by removing _loss_phys, _loss_data * Adding in PINNInterface a variable to track the current condition during training * Modify GPINN,PINN,CausalPINN to match changes in PINNInterface * Competitive Pinn Addition (#288) * fixing after rebase/ fix loss * fixing final issues --------- Co-authored-by: Dario Coscia <[email protected]> * Modify min max formulation to max min for paper consistency * Adding SAPINN solver (#291) * rom solver * fix import --------- Co-authored-by: Dario Coscia <[email protected]> Co-authored-by: Anna Ivagnes <[email protected]> Co-authored-by: valc89 <[email protected]> Co-authored-by: Monthly Tag bot <[email protected]> Co-authored-by: Nicola Demo <[email protected]>
* gpinn/basepinn new classes, pinn restructure * codacy fix gpinn/basepinn/pinn * inverse problem fix * Causal PINN (#267) * fix GPU training in inverse problem (#283) * Create a `compute_residual` attribute for `PINNInterface` * Modify dataloading in solvers (#286) * Modify PINNInterface by removing _loss_phys, _loss_data * Adding in PINNInterface a variable to track the current condition during training * Modify GPINN,PINN,CausalPINN to match changes in PINNInterface * Competitive Pinn Addition (#288) * fixing after rebase/ fix loss * fixing final issues --------- Co-authored-by: Dario Coscia <[email protected]> * Modify min max formulation to max min for paper consistency * Adding SAPINN solver (#291) * rom solver * fix import --------- Co-authored-by: Dario Coscia <[email protected]> Co-authored-by: Anna Ivagnes <[email protected]> Co-authored-by: valc89 <[email protected]> Co-authored-by: Monthly Tag bot <[email protected]> Co-authored-by: Nicola Demo <[email protected]>
* gpinn/basepinn new classes, pinn restructure * codacy fix gpinn/basepinn/pinn * inverse problem fix * Causal PINN (#267) * fix GPU training in inverse problem (#283) * Create a `compute_residual` attribute for `PINNInterface` * Modify dataloading in solvers (#286) * Modify PINNInterface by removing _loss_phys, _loss_data * Adding in PINNInterface a variable to track the current condition during training * Modify GPINN,PINN,CausalPINN to match changes in PINNInterface * Competitive Pinn Addition (#288) * fixing after rebase/ fix loss * fixing final issues --------- Co-authored-by: Dario Coscia <[email protected]> * Modify min max formulation to max min for paper consistency * Adding SAPINN solver (#291) * rom solver * fix import --------- Co-authored-by: Dario Coscia <[email protected]> Co-authored-by: Anna Ivagnes <[email protected]> Co-authored-by: valc89 <[email protected]> Co-authored-by: Monthly Tag bot <[email protected]> Co-authored-by: Nicola Demo <[email protected]>
New Added Solvers
GPINNsolver class gradient enhanced pinn paper linkCausalPINNsolver class causal pinn paper linkSAPINNsolver class self adaptive pinn paper linkCompetitivePINNsolver class self adaptive pinn paper linkReducedOrderModelsolver class paper linkModifying existing solvers
GAROM,SupervisedSolver,SolverInterfaceadding theon_train_startmethod for checks on dataloaderSupervisedSolveradds aloss_datamethod which defines the computation of the loss function. User can inherit from this class to create data-driven solvers (e.g.ReducedOrderModelSolver)Miscellaneous
Adding tests and modifying documentation. Now each solver is documented and explained in its mathematical formulation.