Skip to content

rel-2.23.0

Latest
Compare
Choose a tag to compare
@ricardoV94 ricardoV94 released this 06 Jun 13:00
· 36 commits to main since this release
4b6a444

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 helper RandomVariable method dist_params can be used instead like dist_params = x.owner.op.dist_params(x.owner)
    • A distinct RandomVariable Op must now be created for each distinct dtype. Comparisons that don't care about this distinction that used to look like x.owner.op == normal should be replaced by isinstance(x.owner.op, NormalRV)
    • Support for legacy RandomState variables removed. Rng variables must now be of RandomGenerator type. randint, which only worked with RandomState rngs was removed. Use integers instead.
    • size=None is no longer internally converted to size=(). size=() now behaves differently than size=None (just like Numpy)
    • Definition of ndims_params and ndim_supp is deprecated in favor of a numpy-like gufunc signature such as (),(p)->(p) for MultinomialRV.ndims_params and ndim_supp are now derived from the signature, and available only as properties of initialized RandomVariable Ops.
    • Explicit expand_dims are now introduced for parameters that are being broadcasted internally by the RandomVariable Op, like Elemwise and Blockwise do.

Bugfixes 馃悰

  • Fix gradient of OpFromGraph with disconnected/related outputs by @ricardoV94 in #723
  • Fix bug in slogdet and expose it in linalg 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

Full Changelog: rel-2.22.1...rel-2.23.0