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
RandomVariables:- 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 helperRandomVariablemethoddist_paramscan be used instead likedist_params = x.owner.op.dist_params(x.owner) - A distinct
RandomVariableOpmust now be created for each distinctdtype. Comparisons that don't care about this distinction that used to look likex.owner.op == normalshould be replaced byisinstance(x.owner.op, NormalRV) - Support for legacy RandomState variables removed. Rng variables must now be of
RandomGeneratortype.randint, which only worked withRandomStaterngs was removed. Useintegersinstead. size=Noneis no longer internally converted tosize=().size=()now behaves differently thansize=None(just like Numpy)- Definition of
ndims_paramsandndim_suppis deprecated in favor of a numpy-like gufunc signature such as(),(p)->(p)forMultinomialRV.ndims_paramsandndim_suppare now derived from the signature, and available only as properties of initializedRandomVariableOps. - Explicit
expand_dimsare now introduced for parameters that are being broadcasted internally by theRandomVariableOp, likeElemwiseandBlockwisedo.
- 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
OpFromGraphwith disconnected/related outputs by @ricardoV94 in #723 - Fix bug in
slogdetand expose it inlinalgmodule 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