Skip to content
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

runtime of ode_demo.py using adjoint vs. not using it #243

Open
matibilkis opened this issue Nov 8, 2023 · 1 comment
Open

runtime of ode_demo.py using adjoint vs. not using it #243

matibilkis opened this issue Nov 8, 2023 · 1 comment

Comments

@matibilkis
Copy link

Hello!

I became super interested in this project! Thanks a lot for pushing this forward.

I noticed that while running ode_demo.py using odeint_adjoint is slower than naively integrating using Euler and backprop...

is there any explanation for this ? I understood from your paper that this should be expected to be faster...

Thanks!

@shiqingw
Copy link

Hi @matibilkis, I recently also tested odeint and odeint_adjoint on my own problem and found out that odeint_adjoint did not finish overnight while odeint finished within 1h20min. I could be wrong in my explanation, but what I learned from README.md is that odeint_adjoint is memory efficient but not necessarily faster. In the paper (Algorithm 2), this is done by augmenting the dimension of the original dynamics. In my problem, the original dynamics is 2-dimensional but the total number of my parameters is over 50k. Therefore, odeint is solving a 2-dimensional ode, while odeint_adjoint is solving a (2+50k)-dimensional ode (maybe plus some other augmented states). I am also curious about how to use odeint_adjoint correctly and what kind of computational time I should expect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants