-
Notifications
You must be signed in to change notification settings - Fork 328
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
Example suggestion #211
Comments
We would be quite happy to have it! Feel free to paste in the code or some details into this issue. If there is a paper, please link that as well. You can also send me the full notebook at [email protected] and I can take a look at + clean it up for addition as a formal example if it looks like a nice contribution that showcases the SISO use case. |
Hey @edumagol, if it's already in .py and you're converting to .ipynb, one request I have for new notebooks is factoring the data payload to allow testing with smaller data. We've had issues with refactoring because tests don't cover every case in the notebooks, but the notebooks take a long time to run (see #203). I believe Project Jupyter has given some thought to this and probably has a better answer, but one pattern that works is the following project structure:
In an actual notebook cell, you can have x, u, t = gen_data1() That way, a test runner could load example.ipynb as a python object, replace the import statement in memory, and verify example.ipynb runs with a much quicker test. People actually opening example.ipynb and running it, however, will get the notebook on the full data. |
Hi @Jacob-Stevens-Haas ! Sorry for my delayed response... we are preparing the code according to your guidelines. Hope we will have it finished soon and will let you know! All the best |
Hi guys @akaptano and @Jacob-Stevens-Haas , good news! I believe the example is ready, so that you can check if the code meet your requirements (I hope, so!). If not, please just let me know. I uploaded all the files in this repo: https://github.com/ihmstefanini/dynamic-modeling-pysindy I still have to upload the data file, which is a csv, but it is too large (> 25MB). I will probably compress it and will fine tune the data_processing.py code in order to be able to read data from a different format (now it reads * csv format). In mean time, you can start to check if there is any inconsistence in the rest of the code/jupyter notebook file... Hope our contribution can help other in the community. Thanks for this amazing repo: PySindy!!! P.S. - We are also finishing a multi input-output example, where we also use the model to run a python implementation of a MPC. Let me know if you are also interested in this new example. If so, we will prepare it for the community too. Thanks and keep in touch, |
Hi @Jacob-Stevens-Haas and @akaptano , Just added the data as a parquet file and now it is all set, I mean, the example is all functional and you should be able to reproduce it. Hope we can hear from you soon. All the best, |
Hey, sorry for the delay, and thanks for your patience. I've run the file, and it runs locally well. From a purely techincal standpoint, I added some guidance for examples in #203. Basically, I think we should require that:
Sorry if that's a lot - the point of this is to allow us, as we change pysindy in potentially non-backwards-compatible ways, to quickly check all examples to see if anything breaks. Otherwise, we've seen its fairly easy to break examples unexpectedly. I'm Separate issue: I'm not sure what the right way to handle examples that require additional dependencies. For the moment, @edumagol don't worry about this. @akaptano , @znicolaou , current thoughts are to ignore example dependencies and require tester to notice errors/know to install them, like in example 9. It's a problem for the future. |
No problem @Jacob-Stevens-Haas ! We will take a look at all of your comments and make all the necessary changes. Thanks and talk to you soon! |
@edumagol Any update on this? |
Hi guys!
We would like to contribute sharing an example of the use of PySindy in a real case scencario where we modeled a SISO (single input - single output) process control loop with a PID controller.
We believe that our example could help many others which intend to use Sindy do discover industrial process dynamics. ]
Please let me know if you would like us to share the code with you and also how we should do it.
All the best,
Edu
The text was updated successfully, but these errors were encountered: