0.2
Dhanush Kovi

Sneak Peek into Modular Rewrite

White printer paper that contains the word Update on green typewriter
Photo by Markus Winkler on Unsplash

We have an early update this time! After stabilizing the 2D Equations, we’ve started a major rewrite converting all Jupyter notebooks to Python modules across the project.

Regression fix in calculation of gradients

During the sprint, we’ve identified a regression during the calculation of gradients in the loss function. The gradients are calculated multiple times using torch.autograd.grad aganist each input variable, rather than input tensor. While this might seem more intuitive, the difference in memory usage is enormous.

There’s a slight uptick in the loss (on the order of 1e-10) after the fix, but the overall memory usage has dropped significantly with large amounts of data, making the benefits far outweigh the cons.

Improved dependency management

Using uv for package and dependency management allowed us to install dependencies and test the code in isolation faster. You can find more about uv on their blog.

Stay Tuned for more!

Although this changelog is small, we have much more to say! You can also find our repository at the footer of this website.