Customising Turing.jl sample progress bar

Hello,

I was wondering that can we customise sampling progressbar during inference by Turing.jl?

 sample(model, NUTS(1000, 0.65), MCMCThreads(), 10000, 3, progress = true)

At the moment it shows progress after 1/3 sampling is done. I want it to report after every 1/10. Is this possible?

Hi @Sahil_Khan, this is a longstanding issue with Turing and the summary is that it’s generally not possible right now, see Progress reporting in parallel sampling · Issue #2264 · TuringLang/Turing.jl · GitHub and More useful logging when sampling multiple chains · Issue #82 · TuringLang/AbstractMCMC.jl · GitHub for more discussion.

What about saving chain internally or printing some information about likelihood during run?. So, one gets some information whats going on for long runs.

How can i do this?

Since quite a few people have clicked the link I posted above, I should add that the received wisdom of it being impossible was not fully accurate, and since about a year ago sampling with MCMCThreads() now gives much more informative progress bars, with some customisation options to boot. There are some examples with videos at Progress bars when sampling multiple chains - Pull Request #168 - TuringLang/AbstractMCMC.jl - GitHub.

There are also callbacks that one can use to log / visualise more information during runs, there are some docs here Callbacks · AbstractMCMC.