Logging in b3

Unlike in BEAST, b3 has no unified logger object. Instead it uses a callback interface to implement both runtime helpers and loggers. This enables users to write quick, one-off loggers which can perform arbitrary computation.

While it's easy to write custom loggers (see the callbacks guide), b3 provides 3 loggers out of the box which should be sufficient for the majority of use cases.

PrintLogger

PrintLogger is a mostly stylistic logger which prints key features of the run (posterior, prior, likelihood, and execution speed). It only accepts the required every parameter which determines how often it'll print the step information.

PrintLogger(every=10_000)