jsocolar / flocker

flexible occupancy estimation in R
Other
26 stars 2 forks source link

provide checkpointing via checkptstanr #67

Open jsocolar opened 1 year ago

jsocolar commented 1 year ago

https://cran.r-project.org/web/packages/chkptstanr/vignettes/chkpt_brms.html

venpopov commented 6 months ago

Seeing this issue reminded me that I wanted to the same for our bmm package. Turns out it was pretty straighforward (at least for our infrastructure) - you could check out here, if you are interested (although it requires a bugfixed version of chckptstanr that is not on CRAN).

Update: I just talked to the original developer of chkptstanr, and he said I can take over the package maintenance and development. So let me know if I can implement anything to make this easier for your package (feel free to open any issues and feature requests at https://github.com/venpopov/chkptstanr)

venpopov commented 6 months ago

I actually don't recommend trying it yet. After emailing with the original creator, I agreed to take over the development, and have found a lot more bugs. I'm planning to fix them, but the code needs substantial refactoring and it will take a while (though I think it's worth it - even with the remaining bugs, playing around with it for the last few dayhs and adding a few new features has been a lot of fun). I have an initial roadmap for development here: https://github.com/venpopov/chkptstanr/issues/1

jsocolar commented 6 months ago

@venpopov I imagine you have everything under control, but in case it's useful I understand Stan's adaptation schedule reasonably well and would be happy to provide input/review of your chkptstanr work.

venpopov commented 6 months ago

That would be awesome. Do you want me to add you to the repo? Happy to have you either in just a review capacity, or if you want to contribute any code, whichever fits your interests/time.

Where we currently stand

The original package has two components:

The first one seems (with one exception), generally good and working* and I get similar results with checkpointing as with normal sampling. The code, however, is a huge mess. In that regard:

If you'd like to join in, the most reasonable point would be after the refactoring - then the code should be much cleaner, easier to follow, understand and test.

-- * by working I mean that I ran a lot of different models of different complexity with and without checkpointing and I generally get very similar results