Skip to content

v0.1.8

Compare
Choose a tag to compare
@matt-graham matt-graham released this 08 Jul 17:00

Bug fixes

  • Fixed bug when sampling chains in parallel without multiprocess installed introduced in v0.1.6 release due to use of non-pickleable local function in default value for trace_funcs argument.
  • Corrected handling of zero and infinity edge cases by LogRepFloat class.
  • Fixed bug in constructing diagonal of *BlockDiagonalMatrix classes.
  • Fixed bug when using sample_chain method with display_progress=False.

Dependency changes and deprecations

  • Minimum numpy version changed to 1.17 to ensure new-style numpy.random.Generator RNGs are available with use of numpy.random.RandomState instances deprecated.

API changes

  • tqdm based progress bar implementation mici.progressbars.TqdmProgressBar removed as alternative to inbuilt progress bar class.
  • mici.utils.convert_to_arviz_inference_data helper function removed as traces dictionary can be directly used in most ArviZ API functions and/or explicitly converted to an ArviZ InferenceData container using the inbuilt convert functions.
  • Logic controlling staging of chain iterations in sampler sample_chains_with_adaptive_warm_up methods factored out to 'stager' classes in mici.stagers module. The sample_chains_with_adaptive_warm_up methods now accept a new keyword argument stager which replaces the previous windowed-adaptation specific n_init_fast_stage_iter, n_init_slow_window_iter, n_final_fast_stage_iter and slow_window_multiplier keywords, with these parameters now able to be instead set via the initializer for the mici.stagers.WindowedWarmUpStager class.
  • Memoizing decorator multi_cache_in_state, used to cache outputs of system functions with additionally auxiliary outputs, renamed to cache_in_state_with_aux.