Releases: liesel-devs/liesel
Releases · liesel-devs/liesel
Liesel v0.3.2
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
- Update distreg.py by @jobrachem in #225
- Weaken jax version pin to <0.5.0, closes #214 by @jobrachem in #232
- unpin jax by @wiep in #238
- Fix test warnings by @jobrachem in #233
Full Changelog: v0.3.1...v0.3.2
Liesel v0.3.1
What's Changed
- Update linear regression tutorial and readme by @jobrachem in #226
- Add some informative error messages (closes #222, #219) by @jobrachem in #224
- Transform Variables Without Distributions (closes #216) by @jobrachem in #223
- Fixes issue with custom log prob in liesel models by @wiep in #228
Full Changelog: v0.3.0...v0.3.1
Liesel v0.3.0
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
: Supersedeslsl.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
- Remove filter warnings from pyproject by @GianmarcoCallegher in #190
- Fix tutorials by @jobrachem in #191
- Update docs base URL handling by @jobrachem in #197
- Unpin scipy by @jobrachem in #198
- Update graph plots in docs by @jobrachem in #200
Full Changelog: v0.2.9...v0.3.0
Liesel v0.2.9
- 🚧 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 passingupdate_on_init=False
. (#92, @jobrachem)
liesel v0.2.8
liesel v0.2.7
- ✨ 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 vialiesel.goose
, which means it can be used asgs.SamplingResults
. (@jobrachem) - ✨ Improved the efficiency of the
liesel.distributions.mvn_degen.MultivariateNormalDegenerate.from_penalty
constructor (#101, @GianmarcoCallegher) - ✨ Added alternative constructor
.from_penalty_smooth
toMultivariateNormalDegenerate
(#133, @GianmarcoCallegher) - 🚧 Added
observed=True
to apd.DataFrame.groupby()
call ingoose/summary_m.py
to silence a warning due to a deprecation in pandas v2.1.0 - 🚧 Renamed
lsl.Param
tolsl.param
andlsl.Obs
tolsl.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
- 🚧 Updated for compatibility with Blackjax 1.0.0 (#100, @wiep & @hriebl)
- 🚧 Updated for compatibility with the latest mypy update (#97, @wiep & @hriebl)
- ✨ Added functionality for easy setup and customization of initial value jittering (#72, @GianmarcoCallegher & @hriebl)
- ✨ Improved error messages in
lsl.Calc.update()
(#84, @jobrachem) - 🚧 Fixed a bug in
gs.plot_param()
(#81, @viktoriussuwandi) - 🚧 Fixed an error in the tutorial on linear regression (#85, @jobrachem)
- 🚧 Fixed the display of the plot title in
gs.plot_scatter()
(#98, @hriebl)
liesel v0.2.4
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 ags.GibbsKernel
for a discrete variable (#64 & #65, @jobrachem and @hriebl) - ✨ Added an intialization message to
gs.Engine
(#66, @GianmarcoCallegher)
liesel v0.2.3
What's new?
- 📖 Improved documentation (#47, #48, @jobrachem, @hriebl)
- ✨ Added convert_dtype to graph builder (#50, @hriebl)
- ✨ New overview page for tutorials (#62, @jobrachem)
- ✨ New tutorial on advanced group usage (#63, @jobrachem)
- ✨ Added a method to convert sampling results to arviz's inference data (#49, @wiep)
- 🚧 Changes
__repr__
for multiple classes inliesel.model
(#57, @wiep)
liesel 0.2.2
What's new?
- 🚚 The tutorials have been updated to v.0.2.2 and are now part of the documentation (@jobrachem, @wiep, @hriebl, @GianmarcoCallegher)
- ✨ Added new tutorial showcasing the interface to PyMC (@GianmarcoCallegher)
- ✨ Added node / variable groups (#28, @jobrachem)
- ✨ Sampling from the
MultivariateNormalDegenerate
is now possible (#34, @jobrachem) - 🚧 Fixed undefined behaviour in the distreg module (#20, @hriebl)
- 🚧 The distreg module will now use variables names as position keys (#22, @hriebl)