What's Changed
In this major release we are switching our graph computation backend from Aesara to PyTensor, which is a fork of Aesara under PyMC governance.
Read the full announcement here: PyMC is Forking Aesara to PyTensor.
The switch itself should be rather seamless and you can probably just update your imports:
import aesara.tensor as at # old (pymc >=4,< 5)
import pytensor.tensor as pt # new (pymc >=5)
If you encounter problems updating please check the latest Discussions and don't hesitate to get in touch.
Major Changes 🛠
- ⚠ Switched the graph backend from Aesara to PyTensor
- Merged AePPL into a new
logprob
submodule. Dispatch methods can be found inlogprob.abstract
- ⚠ The log_likelihood, needed for
arviz.compare
is no longer computed by default. It can be added withidata = pm.compute_log_likelihood(idata)
or usingpm.sample(idata_kwargs=dict(log_likelihood=True))
by @ricardoV94 in #6374 - Changed
Minibatch
API by @ferrine in #6304 - Fix ordering transformation for batched dimensions, and deprecate in favor of
univariate_ordered
andmultivariate_ordered
by @TimOliverMaier in #6255 and @ricardoV94 in #6375
New Features & Bugfixes 🎉
- Support logp derivation in
DensityDist
whenrandom
function returns a PyTensor variable by @ricardoV94 in #6361 - Added alternative parametrization for
AsymmetricLaplace
by @aloctavodia in #6337
Docs & Maintenance 🔧
- Bugfixes to increase robustness against unnamed
dims
by @michaelosthege in #6339 - Updated
GOVERNANCE.md
by @canyon289 in #6358 - Fixed overriding user provided
mp_ctx
strings topm.sample()
on M1 MacOS by @digicosmos86 in #6363 - Simplify measurable transform rewrites by @ricardoV94 in #6370
- Fix measurable stack and join with interdependent inputs by @ricardoV94 in #6342
- Allow transforms to work with multiple-valued nodes by @ricardoV94 in #6341
- Fix transformed
Scan
values by @ricardoV94 in #6343 - Add issue templates by @ferrine in #6327
- Fail docs build on errors in core notebooks by @michaelosthege in #6324
- Curated ecosystem references by @michaelosthege in #6383
- Switched
run_mypy.py
from pass-listing to fail-listing by @michaelosthege in #6381 - Runing
pydocstyle
in pre-commit by @michaelosthege in #6382 - Removed
NoDistribution
from docs by @stestoll in #6316 - Fix transforms example by @ricardoV94 in #6333
New Contributors
- @digicosmos86 made their first contribution in #6363
Full Changelog: v4.4.0...v5.0.0