Skip to content

Releases: pymc-devs/pytensor

rel-2.25.1

10 Jul 07:51
Compare
Choose a tag to compare

What's Changed

Bugfixes 🐛

Full Changelog: rel-2.25.0...rel-2.25.1

rel-2.25.0

09 Jul 15:07
Compare
Choose a tag to compare

What's Changed

Major Changes 🛠

  • Replace str "output" by a dummy Op in the clients of the FunctionGraph by @ricardoV94 in #790

Bugfixes 🐛

Maintenance 🔧

Full Changelog: rel-2.24.2...rel-2.25.0

rel-2.24.2

08 Jul 12:12
Compare
Choose a tag to compare

What's Changed

New Features 🎉

Bugfixes 🐛

  • Fix bug in vectorize of random variables with empty size by @ricardoV94 in #886

Documentation 📖

Maintenance 🔧

New Contributors

Full Changelog: rel-2.24.1...rel-2.24.2

rel-2.24.1

04 Jul 10:11
Compare
Choose a tag to compare

✅ Now available on conda-forge after major outage conda-forge/status#181

What's Changed

New Features 🎉

Bugfixes 🐛

Full Changelog: rel-2.24.0...rel-2.24.1

rel-2.24.0

03 Jul 12:55
Compare
Choose a tag to compare

What's Changed

Major Changes 🛠

New Features 🎉

  • Implement basic Alloc Ops in PyTorch by @ricardoV94 in #836
  • Do not use Numba objmode for supported advanced indexing operations by @ricardoV94 in #805
  • Improve static output shapes of Reshape and AdvancedSubtensor1 by @ricardoV94 in #834
  • Add more specialized static output shape to Eye by @ricardoV94 in #841
  • Update tensor.where to allow for case with only condition by @tanish1729 in #844
  • Implement JAX dispatch for Argsort and add stable argument to sorting functions by @ricardoV94 in #848
  • Add rewrite to merge multiple SVD Ops with different settings by @HangenYuu in #769
  • Implemented JAX backend for Eigvalsh by @HangenYuu in #867
  • PyTorch Softmax Ops by @HAKSOAT in #846
  • Rewrite determinant of diagonal matrix as product of diagonal by @tanish1729 in #797

Bugfixes 🐛

  • Fix numba implementation of cholesky not setting off-diag entries to zero by @aseyboldt in #816
  • Replace RNG update in RV lift rewrites by @ricardoV94 in #870

Maintenance 🔧

New Contributors

Full Changelog: rel-2.23.0...rel-2.24.0

rel-2.23.0

06 Jun 13:00
4b6a444
Compare
Choose a tag to compare

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

rel-2.22.1

28 May 10:12
Compare
Choose a tag to compare

What's Changed

Bugfixes 🐛

  • Fix numba AdvancedIncSubtensor1 with broadcasted values by @ricardoV94 in #757
  • Allow fill_sink rewrite to accomodate changes in broadcastability by @ricardoV94 in #785

Maintenance 🔧

Full Changelog: rel-2.22.0...rel-2.22.1

rel-2.22.0

22 May 12:13
Compare
Choose a tag to compare

What's Changed

Major Changes 🛠

Bugfixes 🐛

  • Fix local_fill_sink rewrite for multiple output Elemwise Ops by @ricardoV94 in #773

Maintenance 🔧

  • Fix Choice and Permutation not respecting the RandomVariable contract by @ricardoV94 in #771
  • Inline static size inputs in JAX implementation of RandomVariables by @ricardoV94 in #774

Full Changelog: rel-2.21.0...rel-2.22.0

rel-2.21.0

13 May 20:18
Compare
Choose a tag to compare

What's Changed

Major Changes 🛠

  • Remove TopkOp by @mory91 in #686
  • Change behavior of helper set/inc to act on an indexed variable directly by @ricardoV94 in #730

New Features 🎉

Bugfixes 🐛

  • Ensure that gcc path is only added once to DLL search path by @maresb in #678
  • Only invoke config.cxx if non-empty by @mark-thm in #704
  • Fix broadcasting bug in vectorization of RandomVariables by @ricardoV94 in #738
  • Fix scan_checkpoints with sequences by @ricardoV94 in #754
  • Fix implementation of several RandomVariables in JAX backend by @ricardoV94 in #767

Documentation 📖

  • Update example in "Adding JAX and Numba support for Ops" by @HangenYuu in #687
  • Reconcile environment for development and docs building by @HangenYuu in #717

Maintenance 🔧

New Contributors

Full Changelog: rel-2.20.0...rel-2.21.0

rel-2.20.0

28 Mar 17:20
Compare
Choose a tag to compare

What's Changed

Major Changes 🛠

  • Allow defining an OpFromGraph from constant and shared inputs by @ricardoV94 in #676
  • Make Constant and Shared variables subclasses of the respective Variables by @ricardoV94 in #628
  • Drop Python 3.9 by @Armavica in #682

New Features 🎉

Bugfixes 🐛

  • Handle implicit broadcasting correctly in RandomVariable vectorization by @ricardoV94 in #664
  • Fix bug when broadcasting branches in local_useless_switch rewrite by @ricardoV94 in #681

Maintenance 🔧

New Contributors

Full Changelog: rel-2.19.0...rel-2.20.0