Releases: pymc-devs/pytensor
rel-2.11.0
What's Changed
Major Changes 🛠
- Refactored RV
_print_name
to long names by @shreyas3156 in #244 - Rename
sgn
tosign
by @sudarsan2k5 in #228
New Features 🎉
- Fix Scan JAX dispatcher by @ricardoV94 in #232
- Optimize while scans when only last state is needed by @ricardoV94 in #216
- Allow string keys in
eval
utility by @Raj-Parekh24 in #242
Bugfixes 🐛
- Fix scan save memory rewrite bug by @ricardoV94 in #236
- Fix non-contiguous reshapes in numba backend by @aseyboldt in #255
get_scalar_constant_value
now raises for non-scalar inputs by @shreyas3156 in #248- Raise
NotImplementedError
when trying to convert MaskedArrays by @ricardoV94 in #260 - Fix bug in gradient of
set_subtensor
by @ricardoV94 in #267
Documentation 📖
- Fix a typo in Graph Rewriting Doc by @shreyas3156 in #261
Maintenance 🔧
- Fix numpy
DeprecationWarning
when converting integers to PyTensor Constants by @ricardoV94 in #238 - Add explicit support for Python 3.11 by @ricardoV94 in #198
- 🔄 From Aesara: 1337: Add basic overloads for Numba sparse types by @twiecki in #102
- Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3 by @dependabot in #257
New Contributors
- @shreyas3156 made their first contribution in #244
- @Raj-Parekh24 made their first contribution in #242
Full Changelog: rel-2.10.1...rel-2.11.0
rel-2.10.1
What's Changed
Bugfixes 🐛
- Fix spurious warning from FusionOptimizer by @ricardoV94 in #225
Full Changelog: rel-2.10.0...rel-2.10.1
rel-2.10.0
What's Changed
Major Changes 🛠
- Drop support for Python 3.7 by @ricardoV94 in #210
New Features 🎉
- Extend support of
RandomVariable
s in JAX backend by @ricardoV94 in #200 - Rewrite products of exponents as exponent of sum by @tamastokes in #186
- Propagate static shape in
MaxAndArgmax
by @covertg in #206 - Implement JAX dispatch for
Split
by @ricardoV94 in #209 - Fuse
Elemwise
graphs that have multiple outputs and clients by @ricardoV94 in #121
Bugfixes 🐛
- 🔄 From Aesara: 1345: Fix the JAX
Subtensor
andIncSubtensor
dispatcher by @ricardoV94 in #211 - Fix numba implementation of empty
DimShuffle
by @aseyboldt in #218
Maintenance 🔧
- Fix math typo in
sigmoid
by @SangamSwadiK in #202 - Bump pypa/cibuildwheel from 2.11.4 to 2.12.0 by @dependabot in #197
- Fix
stack
type hints by @covertg in #205 - Don't cancel tests in CI early by @aseyboldt in #147
- Add pyupgrade to pre-commit and apply it by @Armavica in #213
- Fix DeprecationWarning from
scipy.sparse.base
by @covertg in #214 - Upgrade pre-commit tools and apply black format by @Armavica in #217
New Contributors
- @SangamSwadiK made their first contribution in #202
- @dependabot made their first contribution in #197
- @covertg made their first contribution in #205
- @tamastokes made their first contribution in #186
Full Changelog: rel-2.9.1...rel-2.10.0
rel-2.9.1
ℹ️ Versions 2.8.12 and 2.9.0 did not get released on PyPI or conda-forge due to hiccups in our CI pipeline. The corresponding release notes were merged into the seconds below.
What's Changed
Major Changes 🛠
- [from 2.8.12] Allow passing static shape to tensor creation helpers by @ricardoV94 in #118
- The first and only positional argument to
tensor
is nowname
.dtype
andshape
are now keyword-only arguments in all tensor constructor helpers (tensor
,matrix
, ...)
- The first and only positional argument to
New Features 🎉
- Add
slogdet
for Numba and JAX by @mtsokol in #172 - [from 2.9.0] Compute static shape types in outputs of
Join
by @michaelosthege in #164 - [from 2.9.0] Add Ops for Gaussian Hypergeometric Function, Pochhammer Symbol, and Factorials by @ColtAllen in #90
- [from 2.8.12] 🔄 From Aesara: 1362: "Add
HalfNormalRV
JAX implementation" by @theorashid in #129
Bugfixes 🐛
- Handle invalid BroadcastTo shape in C backend by @ricardoV94 in #175
- [from 2.8.12] Fix bug in truncated_graph_inputs by @ricardoV94 in #113
- [from 2.8.12] Fix JAX dispatch for multi-output Composite by @ricardoV94 in #123
Maintenance 🔧
- Improve CI pinelines by @danhphan in #176
- Seed logsumexp benchmark tests by @ricardoV94 in #185
- Create README.md by @canyon289 in #190
- Fix release pipeline by @cerrussell in #183
- [from 2.9.0] Fix PyPI description and update GitHub Actions by @michaelosthege in #171
- [from 2.9.0] A more low level implementation of vectorize in numba by @aseyboldt in #92
- [from 2.8.12] Update Release Notes template by @ricardoV94 in #117
- [from 2.8.12] 🔄 From Aesara: 1345: "Splitting before using JAX key" by @AdrienCorenflos in #130
- [from 2.8.12] Make tests compatible with newer version of JAX by @ricardoV94 in #133
- [from 2.8.12] Make scan to be a cython extention by @ferrine in #77
- [from 2.8.12] Remove deprecated modules by @ferrine in #111
- [from 2.8.12] 🔄 From Aesara: #1347 and # 1365: " Add CI support for benchmarking" by @brandonwillard in #139
- [from 2.8.12] Added PyTensor logo SVG by @fonnesbeck in #142
- [from 2.8.12] Remove some inline arguments and make some njit functions global by @aseyboldt in #144
- [from 2.8.12] Fix logit sigmoid function typo by @guin0x in #157
New Contributors
- @danhphan made their first contribution in #176
- @mtsokol made their first contribution in #172
- @canyon289 made their first contribution in #190
- @cerrussell made their first contribution in #183
- @fonnesbeck made their first contribution in #142
- @guin0x made their first contribution in #157
- @ColtAllen made their first contribution in #90
Full Changelog: rel-2.8.11...rel-2.8.12
Full Changelog: rel-2.8.12...rel-2.9.0
Full Changelog: rel-2.9.0...rel-2.9.1
rel-2.9.0
What's Changed
New Features 🎉
- Compute static shape types in outputs of
Join
by @michaelosthege in #164 - Add Ops for Gaussian Hypergeometric Function, Pochhammer Symbol, and Factorials by @ColtAllen in #90
Maintenance 🔧
- Fix PyPI description and update GitHub Actions by @michaelosthege in #171
- A more low level implementation of vectorize in numba by @aseyboldt in #92
New Contributors
- @ColtAllen made their first contribution in #90
Full Changelog: rel-2.8.12...rel-2.9.0
rel-2.8.12
What's Changed
Major Changes 🛠
- Allow passing static shape to tensor creation helpers by @ricardoV94 in #118
- The first and only positional argument to
tensor
is nowname
.dtype
andshape
are now keyword-only arguments in all tensor constructor helpers (tensor
,matrix
, ...)
- The first and only positional argument to
New Features 🎉
- 🔄 From Aesara: 1362: "Add
HalfNormalRV
JAX implementation" by @theorashid in #129
Bugfixes 🐛
- Fix bug in truncated_graph_inputs by @ricardoV94 in #113
- Fix JAX dispatch for multi-output Composite by @ricardoV94 in #123
Maintenance 🔧
- Update Release Notes template by @ricardoV94 in #117
- 🔄 From Aesara: 1345: "Splitting before using JAX key" by @AdrienCorenflos in #130
- Make tests compatible with newer version of JAX by @ricardoV94 in #133
- Make scan to be a cython extention by @ferrine in #77
- Remove deprecated modules by @ferrine in #111
- 🔄 From Aesara: #1347 and # 1365: " Add CI support for benchmarking" by @brandonwillard in #139
- Added PyTensor logo SVG by @fonnesbeck in #142
- Remove some inline arguments and make some njit functions global by @aseyboldt in #144
- Fix logit sigmoid function typo by @guin0x in #157
New Contributors
- @fonnesbeck made their first contribution in #142
- @guin0x made their first contribution in #157
Full Changelog: rel-2.8.11...rel-2.8.12
rel-2.8.11
Changes in PyTensor
- Optimize Scan inner graph when compiling to Numba by @ricardoV94 in #28
- Some numba backend fixes by @aseyboldt in #46
- Misc RandomVariable improvements by @ricardoV94 in #79
- Fix bug in AdvancedSubtensor infer_shape by @ricardoV94 in #101
- Add script to downstream PRs. by @twiecki in #39
- Add plain issue template by @tjburch in #42
- Fix contributing broken link by @madt2709 in #45
- Some pylint and pyupgrade cleanups by @Armavica in #29
- Fix argument name in is_in_ancestors by @sudarsan2k5 in #67
- Stop using deprecated generated_jit by @aseyboldt in #69
- Add dict type to check_deterministic by @ferrine in #75
- Add script to upstream PRs. by @twiecki in #68
- Add boundschecks in numba backend by @aseyboldt in #94
- Implement graph replace utility by @ferrine in #66
- Typing fixes by @michaelosthege in #104
- Remove unused files, update contributing guide and PR template by @michaelosthege in #105
- Improve numba DimShuffle compile time by @aseyboldt in #95
Changes in Aesara that were incorporated in PyTensor
- Add solve_discrete_lyapunov and solve_continuous_lyapunov by @jessegrabowski in #33
- Remove CholeskyGrad Op 1302 by @sudarsan2k5 in #36
- Replace time.time with time.perf_counter by @redbopo in #34
- Harmonize softplus implementations by @ricardoV94 in #35
- Refactor SharedVariable and its interfaces by @brandonwillard in #37
- Remove redundant graph_inputs usage in OpFromGraph by @brandonwillard in #38
- Add a fusion rewrite for CAReduces with Elemwise inputs by @brandonwillard in #40
- Add type hint None to specify_shape by @sudarsan2k5 in #82
- Add basic support for SciPy CSC and CSR sparse types in Numba by @brandonwillard in #96
- Fix the JAX RandomVariable dispatcher by @rlouf in #103
- Add JAX implementation for LogNormalRV by @juanitorduz in #106
New Contributors
- @larryshamalama made their first contribution in #27
- @ricardoV94 made their first contribution in #28
- @twiecki made their first contribution in #33
- @tjburch made their first contribution in #42
- @madt2709 made their first contribution in #45
- @Armavica made their first contribution in #29
- @sudarsan2k5 made their first contribution in #67
- @aseyboldt made their first contribution in #69
Full Changelog: rel-2.8.10...rel-2.8.11
rel-2.8.10
What changed since forking from aesara-devs/aesara@5aa17801
- The project was renamed to PyTensor by @pymc-devs.
- Updates to the license file, governance structure, code of conduct and readme by @pymc-devs, @ricardoV94, @twiecki, @michaelosthege, @OriolAbril.
- Addition of new issue templates by @ferrine in #8
- Switched to PyMC documentation theme by @OriolAbril in #18
- Updated the pre-commit to
mypy
v0.991 by @michaelosthege in d88f3f9
Changes since Aesara 2.8.9
The last Aesara release before we forked was 2.8.9 and these were the contributions to aesara-devs/aesara that happened before we forked:
- Updated
time.clock()
totime.perf_counter()
in documentation under tutorial/conditions by @ntmkhanh in aesara-devs/aesara#1293 - Add
kwargs
toaesara.graph.basic.clone_get_equiv
by @brandonwillard in aesara-devs/aesara#1296 - Replace some uses of
TensorType.broadcastable
withTensorType.shape
by @brandonwillard in aesara-devs/aesara#1297 - Make
as_symbolic
work with sparse matrices by @brandonwillard in aesara-devs/aesara#1298 - Update codecov-action version by @brandonwillard in aesara-devs/aesara#1300
- Add name argument to clone methods via kwargs by @wd60622 in aesara-devs/aesara#1282