Skip to content

Bump pymc from 4.0.0b6 to 4.0.0 #32

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jun 12, 2022

Bumps pymc from 4.0.0b6 to 4.0.0.

Release notes

Sourced from pymc's releases.

PyMC 4.0.0

If you want a description of the highlights of this release, check out the release announcement on our new website. Feel free to read it, print it out, and give it to people on the street -- because everybody has to know PyMC 4.0 is officially out 🍾

Do not miss 🚨

  • ⚠️ The project was renamed to "PyMC". Now the library is installed as "pip install pymc" and imported like import pymc as pm. See this migration guide for more details.
  • ⚠️ Theano-PyMC has been replaced with Aesara, so all external references to theano and tt need to be replaced with aesara and at, respectively (see 4471).
  • ⚠️ Support for JAX and JAX samplers, also allows sampling on GPUs. This benchmark shows speed-ups of up to 11x.
  • ⚠️ The GLM submodule was removed, please use Bambi instead.
  • ⚠️ PyMC now requires SciPy version >= 1.4.1 (see #4857).

v3 features not yet working in v4 ⏳

⚠️ We plan to get these working again, but at this point their inner workings have not been refactored.

  • MvNormalRandomWalk, MvStudentTRandomWalk, GARCH11 and EulerMaruyama distributions (see #4642)
  • Nested Mixture distributions (see #5533)
  • pm.sample_posterior_predictive_w (see #4807)
  • Partially observed Multivariate distributions (see #5260)

New features 🥳

  • Distributions:

    • Univariate censored distributions are now available via pm.Censored. #5169

    • The CAR distribution has been added to allow for use of conditional autoregressions which often are used in spatial and network models.

    • Added a logcdf implementation for the Kumaraswamy distribution (see #4706).

    • The OrderedMultinomial distribution has been added for use on ordinal data which are aggregated by trial, like multinomial observations, whereas OrderedLogistic only accepts ordinal data in a disaggregated format, like categorical observations (see #4773).

    • The Polya-Gamma distribution has been added (see #4531). To make use of this distribution, the polyagamma>=1.3.1 library must be installed and available in the user's environment.

    • pm.DensityDist can now accept an optional logcdf keyword argument to pass in a function to compute the cummulative density function of the distribution (see 5026).

    • pm.DensityDist can now accept an optional moment keyword argument to pass in a function to compute the moment of the distribution (see 5026).

    • Added an alternative parametrization, logit_p to pm.Binomial and pm.Categorical distributions (see 5637).

  • Model dimensions:

    • The dimensionality of model variables can now be parametrized through either of shape or dims (see #4696):
      • With shape the length of dimensions must be given numerically or as scalar Aesara Variables. Numeric entries in shape restrict the model variable to the exact length and re-sizing is no longer possible.
      • dims keeps model variables re-sizeable (for example through pm.Data) and leads to well defined coordinates in InferenceData objects.
      • An Ellipsis (...) in the last position of shape or dims can be used as short-hand notation for implied dimensions.
    • New features for pm.Data containers:
      • With pm.Data(..., mutable=False), or by using pm.ConstantData() one can now create TensorConstant data variables. These can be more performant and compatible in situations where a variable doesn't need to be changed via pm.set_data(). See #5295. If you do need to change the variable, use pm.Data(..., mutable=True), or pm.MutableData().
      • New named dimensions can be introduced to the model via pm.Data(..., dims=...). For mutable data variables (see above) the lengths of these dimensions are symbolic, so they can be re-sized via pm.set_data().
      • pm.Data now passes additional kwargs to aesara.shared/at.as_tensor. #5098.
    • The length of dims in the model is now tracked symbolically through Model.dim_lengths (see #4625).
  • Sampling:

    • ⚠️ Random seeding behavior changed (see #5787)!
      • Sampling results will differ from those of v3 when passing the same random_seed as before. They will be consistent across subsequent v4 releases unless mentioned otherwise.
      • Sampling functions no longer respect user-specified global seeding! Always pass random_seed to ensure reproducible behavior.
      • random_seed now accepts RandomState and Generators besides integers.
    • A small change to the mass matrix tuning methods jitter+adapt_diag (the default) and adapt_diag improves performance early on during tuning for some models. #5004

... (truncated)

Changelog

Sourced from pymc's changelog.

PyMC 4.0.0

If you want a description of the highlights of this release, check out the release announcement on our new website. Feel free to read it, print it out, and give it to people on the street -- because everybody has to know PyMC 4.0 is officially out 🍾

Do not miss 🚨

  • ⚠️ The project was renamed to "PyMC". Now the library is installed as "pip install pymc" and imported like import pymc as pm. See this migration guide for more details.
  • ⚠️ Theano-PyMC has been replaced with Aesara, so all external references to theano and tt need to be replaced with aesara and at, respectively (see 4471).
  • ⚠️ Support for JAX and JAX samplers, also allows sampling on GPUs. This benchmark shows speed-ups of up to 11x.
  • ⚠️ Random seeding behavior changed (see #5787)!
    • Sampling results will differ from those of v3 when passing the same random_seed as before. They will be consistent across subsequent v4 releases unless mentioned otherwise.
    • Sampling functions no longer respect user-specified global seeding! Always pass random_seed to ensure reproducible behavior.
    • random_seed now accepts RandomState and Generators besides integers.
  • ⚠️ The GLM submodule was removed, please use Bambi instead.
  • ⚠️ PyMC now requires SciPy version >= 1.4.1 (see #4857).

v3 features not yet working in v4 ⏳

⚠️ We plan to get these working again, but at this point their inner workings have not been refactored.

  • MvNormalRandomWalk, MvStudentTRandomWalk, GARCH11 and EulerMaruyama distributions (see #4642)
  • Nested Mixture distributions (see #5533)
  • pm.sample_posterior_predictive_w (see #4807)
  • Partially observed Multivariate distributions (see #5260)

New features 🥳

  • Distributions:

    • Univariate censored distributions are now available via pm.Censored. #5169

    • The CAR distribution has been added to allow for use of conditional autoregressions which often are used in spatial and network models.

    • Added a logcdf implementation for the Kumaraswamy distribution (see #4706).

    • The OrderedMultinomial distribution has been added for use on ordinal data which are aggregated by trial, like multinomial observations, whereas OrderedLogistic only accepts ordinal data in a disaggregated format, like categorical observations (see #4773).

    • The Polya-Gamma distribution has been added (see #4531). To make use of this distribution, the polyagamma>=1.3.1 library must be installed and available in the user's environment.

    • pm.DensityDist can now accept an optional logcdf keyword argument to pass in a function to compute the cummulative density function of the distribution (see 5026).

    • pm.DensityDist can now accept an optional moment keyword argument to pass in a function to compute the moment of the distribution (see 5026).

    • Added an alternative parametrization, logit_p to pm.Binomial and pm.Categorical distributions (see 5637).

  • Model dimensions:

    • The dimensionality of model variables can now be parametrized through either of shape or dims (see #4696):
      • With shape the length of dimensions must be given numerically or as scalar Aesara Variables. Numeric entries in shape restrict the model variable to the exact length and re-sizing is no longer possible.
      • dims keeps model variables re-sizeable (for example through pm.Data) and leads to well defined coordinates in InferenceData objects.
      • An Ellipsis (...) in the last position of shape or dims can be used as short-hand notation for implied dimensions.
    • New features for pm.Data containers:
      • With pm.Data(..., mutable=False), or by using pm.ConstantData() one can now create TensorConstant data variables. These can be more performant and compatible in situations where a variable doesn't need to be changed via pm.set_data(). See #5295. If you do need to change the variable, use pm.Data(..., mutable=True), or pm.MutableData().
      • New named dimensions can be introduced to the model via pm.Data(..., dims=...). For mutable data variables (see above) the lengths of these dimensions are symbolic, so they can be re-sized via pm.set_data().
      • pm.Data now passes additional kwargs to aesara.shared/at.as_tensor. #5098.
    • The length of dims in the model is now tracked symbolically through Model.dim_lengths (see #4625).

... (truncated)

Commits
  • 4e6527c Bump version to 4.0.0 🎉
  • e663f46 Remove developer guide. Needs to be updated eventually.
  • 938604c Add temporary fix for pretty representation of SymbolicDistributions
  • 57c6a8f Move printing-related tests to their own test module
  • c758d0d Restructure Release Notes (#5832)
  • 0d38abf Move BMCP to top of book list
  • 5da32ed Add comment to set_data condition where the length comes from a shape[i] ...
  • 70b0c49 Automatically resize independently mutable dims via set_data
  • 2120593 Warn about resizing MutableData dims that are not symbolically linked
  • a74592a Add Model.set_dim method for safer dims resizing
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [pymc](https://github.com/pymc-devs/pymc) from 4.0.0b6 to 4.0.0.
- [Release notes](https://github.com/pymc-devs/pymc/releases)
- [Changelog](https://github.com/pymc-devs/pymc/blob/main/RELEASE-NOTES.md)
- [Commits](pymc-devs/pymc@v4.0.0b6...v4.0.0)

---
updated-dependencies:
- dependency-name: pymc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Jun 12, 2022
@michaelosthege
Copy link
Member

4.0.0 is incompatible because of pymc-devs/pymc#5882

@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Jun 12, 2022

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@michaelosthege michaelosthege deleted the dependabot/pip/pymc-4.0.0 branch June 12, 2022 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file python Pull requests that update Python code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant