Skip to content

Releases: liesel-devs/liesel

Liesel v0.3.2

05 Feb 14:00
e4e60c2
Compare
Choose a tag to compare

What's Changed

  • Adds edge to plot_vars if input is used in value while var has distribution by @wiep in #231
  • Allow transformation of weak vars by @jobrachem in #235
  • Update optim_flat by @jobrachem in #239
  • Implement Var.plot_vars and Model.plot_vars by @jobrachem in #230

Maintenance Changes

Full Changelog: v0.3.1...v0.3.2

Liesel v0.3.1

10 Dec 19:35
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.3.0...v0.3.1

Liesel v0.3.0

22 Oct 18:39
Compare
Choose a tag to compare

This is a big update!

Major changes

  • New constructors for lsl.Var: lsl.Var.new_param, lsl.Var.new_obs, lsl.Var.new_calc, lsl.Var.new_value by @jobrachem in #201
  • Easier access to and manipulation of node inputs via square-bracket syntax by @jobrachem in #202
  • Introducing lsl.Var.transform: Supersedes lsl.GraphBuilder.transform by @jobrachem in #174
  • gs.optim_flat: A function for applying stochastic gradient descent to a simple Liesel model by @jobrachem in #175
  • Rename lsl.Data -> lsl.Value by @jobrachem in #170
  • Add helper functions to define B-spline bases and penalty matrices by @GianmarcoCallegher and @jobrachem in #203

Minor changes

  • Enable progress bar for MCMC sampling in Jupyter notebooks by @jobrachem in #208
  • Warn about missing PyGraphviz installation when plotting a lsl.Model by @jobrachem in #209
  • Avoid hardcoded conversion to float32 in GraphBuilder by @jobrachem in #204
  • Update logging setup by @jobrachem in #187
  • Turn off update_on_init for special model nodes by @jobrachem in #186
  • Fixed unexpected behaviour in plot_vars when using an intermediate Calc by @GianmarcoCallegher in #168

Maintenance

Full Changelog: v0.2.9...v0.3.0

Liesel v0.2.9

04 Apr 19:00
Compare
Choose a tag to compare
  • 🚧 Pinned scipy version to <=1.12 (@jobrachem)
  • 🚧 Handeled error in liesel.model.model.transform for duplicated nodes (#167, @GianmarcoCallegher)
  • lsl.Calc nodes will now try to evaluate their function upon initialization. This can make it much easier to spot errors early. The behavior can be turned off by passing update_on_init=False. (#92, @jobrachem)

liesel v0.2.8

03 Dec 13:26
15e393e
Compare
Choose a tag to compare
  • ✨ Added NamedTupleInterface (#151, @wiep)

liesel v0.2.7

10 Nov 15:31
Compare
Choose a tag to compare
  • ✨ Large documentation updates! (#149, #146, #145, #143, #135, #134, @jobrachem; #144, #140, @GianmarcoCallegher)
  • ✨ The method gs.Summary.error_df() is now publicly available. (#137, @jobrachem)
  • ✨ The class liesel.goose.engine.SamplingResults is now exported via liesel.goose, which means it can be used as gs.SamplingResults. (@jobrachem)
  • ✨ Improved the efficiency of the liesel.distributions.mvn_degen.MultivariateNormalDegenerate.from_penalty constructor (#101, @GianmarcoCallegher)
  • ✨ Added alternative constructor .from_penalty_smooth to MultivariateNormalDegenerate (#133, @GianmarcoCallegher)
  • 🚧 Added observed=True to a pd.DataFrame.groupby() call in goose/summary_m.py to silence a warning due to a deprecation in pandas v2.1.0
  • 🚧 Renamed lsl.Param to lsl.param and lsl.Obs to lsl.obs to reflect the fact that those are functions, not classes. The old names are deprecated and scheduled for removal in v0.4.0. (#130, @jobrachem)
  • 🚧 Renamed/moved the following symbols. The old names are deprecated and scheduled for removal in v0.4.0. (#136, @jobrachem)
    • liesel.model.goose.GooseModel -> (renamed/moved) liesel.goose.interface.LieselInterface
    • liesel.goose.models.DictModel -> (renamed/moved) liesel.goose.interface.DictInterface
    • liesel.goose.models.DataClassModel -> (renamed/moved) liesel.goose.interface.DataclassInterface
  • 🚧 Some maintenance updates to stay up to date with dependencies (#147, #141, #102, @GianmarcoCallegher; #139, @wiep; #109, @jobrachem)

Edit: The version number was too high in __version__.py. I updated the release title to fit the version number. Now there is just no liesel v0.2.6 on pypi.

liesel v0.2.5

28 Sep 14:41
Compare
Choose a tag to compare

All commits since v0.2.4

liesel v0.2.4

18 Aug 13:20
b44a686
Compare
Choose a tag to compare

What's new?

  • 🚧 Removed all references to jax.numpy.DeviceArray to make Liesel compatible with Jax 0.4.14 (#73, @jobrachem)
  • ✨ Added a visual distinction for edges that represent a connection to a variable's distribution or value (#76, @GianmarcoCallegher)
  • ✨ Added ls.Model.simulate(), which provides a convenient way to draw random samples from a Liesel model using the specified priors. (#70, @hriebl)
  • ✨ Added liesel.model.goose.finite_discrete_gibbs_kernel, which helps you to automatically set up a gs.GibbsKernel for a discrete variable (#64 & #65, @jobrachem and @hriebl)
  • ✨ Added an intialization message to gs.Engine (#66, @GianmarcoCallegher)

All commits since v0.2.3

liesel v0.2.3

31 Mar 15:13
Compare
Choose a tag to compare

What's new?

All commits since v0.2.2

liesel 0.2.2

08 Mar 15:35
Compare
Choose a tag to compare

What's new?

All commits since 0.2.1