Releases: pymc-devs/pytensor
Releases · pymc-devs/pytensor
rel-2.22.1
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 🔧
- Make
ifelse
accesible from root by @Dhruvanshu-Joshi in #777
Full Changelog: rel-2.22.0...rel-2.22.1
rel-2.22.0
What's Changed
Major Changes 🛠
- Remove
list_of_nodes
in favour ofapplys_between
by @Dhruvanshu-Joshi in #776
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
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 🎉
- Add
matrix_transpose
and.mT
helpers by @Dhruvanshu-Joshi in #702 - Add rewrite to lift linear algebra through certain linalg ops by @jessegrabowski in #622
- Implement gradient for SVD by @jessegrabowski in #614
- Add helper
explicit_graph_inputs
by @Dhruvanshu-Joshi in #712 - Allow squeezing of specific non-broadcastable axis by @Dhruvanshu-Joshi in #713
- Implement
ufunc_outer
likeadd.outer
for binaryElemwise
operations by @Dhruvanshu-Joshi in #745 - Vectorize some cases of join and advanced subtensor by @ricardoV94 in #744
- Implement numpy-like Rayleigh distribution by @Dhruvanshu-Joshi in #750
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 🔧
- Pin Numpy version to <2 by @maresb in #692
- Use add_dll_directory as a context manager by @maresb in #708
- Add support for negative axis in
specify_broadcastable
by @Dhruvanshu-Joshi in #710 - Add name kwarg to Op.call by @HarshvirSandhu in #693
- Avoid dimshuffle if expand_dims has empty axis by @HangenYuu in #724
- Remove deprecated bin module by @maresb in #726
- Improve variable debugging methods by @ricardoV94 in #729
- Make
local_pow_to_nested_squaring
rewrite more permissive by @ricardoV94 in #742 - Change github link in documentation header by @lucianopaz in #747
- Remove restrictive broadcastability check in
local_blockwise_alloc
by @ricardoV94 in #751 - Support int-like shapes in
pt.full
by @wd60622 in #759 - Enable no-cpython-wrapper in numba where possible by @aseyboldt in #765
New Contributors
- @mory91 made their first contribution in #686
- @HangenYuu made their first contribution in #687
- @Dhruvanshu-Joshi made their first contribution in #702
- @mark-thm made their first contribution in #704
Full Changelog: rel-2.20.0...rel-2.21.0
rel-2.20.0
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 🎉
- Allow more dynamic shape scans to be compiled by @ricardoV94 in #647
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 🔧
- Fix PyPy by eliminating deprecated library detection code by @maresb in #662
- prevent
log10
L_op
from upcasting by @tvwenger in #668 - Suppress caching warning when compiling Numba functions by @ricardoV94 in #674
- Remove numba-scipy dependency by @ricardoV94 in #675
- Rewriting the kron function using JAX implementation by @tanish1729 in #684
New Contributors
- @tanish1729 made their first contribution in #684
Full Changelog: rel-2.19.0...rel-2.20.0
rel-2.19.0
What's Changed
Major Changes 🛠
- Support Python 3.12 by @maresb in #488
- Deprecate ScalarSharedVariable by @ricardoV94 in #629
New Features 🎉
- Implement numba overload for POTRF, LAPACK cholesky routine by @jessegrabowski in #578
- Refactor
nlinalg.norm
to matchnp.linalg.norm
signature and functionaly by @jessegrabowski in #588 - Add inf special cases in C implementation of gamma related functions by @amyoshino in #634
- Implement
tensor.special.logit
helper by @HarshvirSandhu in #645 - Add JAX support for SortOp by @HarshvirSandhu in #657
Bugfixes 🐛
- Fix tensordot implementation by @lucianopaz in #607
- Do not change global config flag in printing test by @ricardoV94 in #602
- Replace usage of
sys.stdout.encoding
withsys.getdefaultencoding()
by @t-kalinowski in #617 - Prevent
local_sum_make_vector
from introducing forbiddenfloat64
by @tvwenger in #659
Documentation 📖
- Remove emphasis of being a fork by @twiecki in #592
- Add background section of fork history by @twiecki in #594
Maintenance 🔧
- Loosen versioneer version requirement from exact to min version by @carlsmedstad in #593
New Contributors
- @juanitorduz made their first contribution in #586
- @pre-commit-ci made their first contribution in #612
- @t-kalinowski made their first contribution in #617
- @HarshvirSandhu made their first contribution in #645
Full Changelog: rel-2.18.6...rel-2.19.0
rel-2.18.6
What's Changed
New Features 🎉
- Vectorize softmax and argmax nodes by @ricardoV94 in #571
- Add
linalg.block_diag
and sparse equivalent by @jessegrabowski in #576
Bugfixes 🐛
- Remove incorrect
solve
usage inpsd_solve_with_chol
rewrite by @jessegrabowski in #575 - Fix
vectorize_graph
bug when replacements were provided for only some outputs of a node by @ricardoV94 in #570 - Don't store
fortran
objects inScipyGer
tag by @lucianopaz in #574 - Fix bug in storage_input alignment of the JAX backend by @ricardoV94 in #587
Full Changelog: rel-2.18.5...rel-2.18.6
rel-2.18.5
What's Changed
New Features 🎉
- Add rewrite for matmul when only one of the inputs has batched dimensions by @ricardoV94 in #558
- Implement betaincinv and gammainc[c]inv functions by @amyoshino in #502
Bugfixes 🐛
- Fix bug where ShapeFeature would create circular shape graph by @ricardoV94 in #566
Documentation 📖
New Contributors
Full Changelog: rel-2.18.4...rel-2.18.5
rel-2.18.4
What's Changed
New Features 🎉
- Implement
vectorize_node
forCheckAndRaise
Op
by @ricardoV94 in #553
Bugfixes 🐛
- Do not generate C code for BatchedDot when BLAS flags are missing by @ricardoV94 in #550
Maintenance 🔧
New Contributors
Full Changelog: rel-2.18.3...rel-2.18.4
rel-2.18.3
What's Changed
New Features 🎉
- Add Exponentially scaled modified Bessel Op by @dehorsley in #543
Bugfixes 🐛
- Fix bugs in shape inference by @ricardoV94 in #546
Documentation 📖
- Update aliases to reflect package name by @jessegrabowski in #547
Full Changelog: rel-2.18.2...rel-2.18.3
rel-2.18.2
What's Changed
New Features 🎉
- Extend sum of mul rewrite for multiple axis by @ricardoV94 in #484
- Blockwise improvements by @ricardoV94 in #532
Maintenance 🔧
- Include C cache preloading in profile output by @ricardoV94 in #522
- Faster vectorize by walking sorted nodes by @ricardoV94 in #520
- Faster
infer_static_shape
by @ricardoV94 in #521 - Add _logger.debug statements to cmodule default blas ldflags by @lucianopaz in #528
Full Changelog: rel-2.18.1...rel-2.18.2