rel-2.23.0
What's Changed
Major Changes 🛠
- Add support for random Generators in Numba backend by @ricardoV94 in #69. This PR introduces multiple (long delayed) breaking changes regarding
RandomVariable
s:- Number of default inputs is reduced from 3 (rng, size, dtype) to 2 (rng, size). Other than changes in the signature, any code that relied on positional indexing to split these parameters from the distribution parameters like
dist_params = x.owner.inputs[3:]
must be updated. A helperRandomVariable
methoddist_params
can be used instead likedist_params = x.owner.op.dist_params(x.owner)
- A distinct
RandomVariable
Op
must now be created for each distinctdtype
. Comparisons that don't care about this distinction that used to look likex.owner.op == normal
should be replaced byisinstance(x.owner.op, NormalRV)
- Support for legacy RandomState variables removed. Rng variables must now be of
RandomGenerator
type.randint
, which only worked withRandomState
rngs was removed. Useintegers
instead. size=None
is no longer internally converted tosize=()
.size=()
now behaves differently thansize=None
(just like Numpy)- Definition of
ndims_params
andndim_supp
is deprecated in favor of a numpy-like gufunc signature such as(),(p)->(p)
forMultinomialRV
.ndims_params
andndim_supp
are now derived from the signature, and available only as properties of initializedRandomVariable
Op
s. - Explicit
expand_dims
are now introduced for parameters that are being broadcasted internally by theRandomVariable
Op
, likeElemwise
andBlockwise
do.
- Number of default inputs is reduced from 3 (rng, size, dtype) to 2 (rng, size). Other than changes in the signature, any code that relied on positional indexing to split these parameters from the distribution parameters like
Bugfixes 🐛
- Fix gradient of
OpFromGraph
with disconnected/related outputs by @ricardoV94 in #723 - Fix bug in
slogdet
and expose it inlinalg
module by @theorashid in #807
Maintenance 🔧
- Do not reject PatternNodeRewriter due unrelated multiple clients by @ricardoV94 in #789
- Do not emmit confusing warning from FusionOptimizer by default by @ricardoV94 in #794
- Harmonize Scan rewrite and tag names by @ricardoV94 in #793
- Add types to functions in printing.py by @Armavica in #804
New Contributors
- @theorashid made their first contribution in #807
Full Changelog: rel-2.22.1...rel-2.23.0