-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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
WIP: V4 update test framework for distributions random method #4580
WIP: V4 update test framework for distributions random method #4580
Commits on Apr 3, 2021
-
Initial refactoring for RandomVariable use in Model, step methods, an…
…d basic dists These changes can be summarized as follows: - `Model` objects now track fully functional Theano graphs that represent all relationships between random and "deterministic" variables. These graphs are called these "sample-space" graphs. `Model.unobserved_RVs`, `Model.basic_RVs`, `Model.free_RVs`, and `Model.observed_RVs` contain these graphs (i.e. `TensorVariable`s), which are generated by `RandomVariable` `Op`s. - For each random variable, there is now a corresponding "measure-space" variable (i.e. a `TensorVariable` that corresponds to said variable in a log-likelihood graph). These variables are available as `rv_var.tag.value_var`, for each random variable `rv_var`, or via `Model.vars`. - Log-likelihood (i.e. measure-space) graphs are now created for individual random variables by way of the generic functions `logpt`, `logcdf`, `logp_nojac`, and `logpt_sum` in `pymc3.distributions`. - Numerous uses of concrete shape information stemming from `Model` objects (e.g. `Model.size`) have been removed/refactored. - Use of `FreeRV`, `ObservedRV`, `MultiObservedRV`, and `TransformedRV` has been deprecated. The information previously stored in these classes is now tracked using `TensorVariable.tag`, and log-likelihoods are generated using the aforementioned `log*` generic functions.
Configuration menu - View commit details
-
Copy full SHA for b283649 - Browse repository at this point
Copy the full SHA b283649View commit details -
Remove shape dependencies from DictToArrayBijection
This commit changes `DictToArrayBijection` so that it returns a `RaveledVars` datatype that contains the original raveled and concatenated vector along with the information needed to revert it back to dictionay/variables form. Simply put, the variables-to-single-vector mapping steps have been pushed away from the model object and its symbolic terms and closer to the (sampling) processes that produce and work with `ndarray` values for said terms. In doing so, we can operate under fewer unnecessarily strong assumptions (e.g. that the shapes of each term are static and equal to the initial test points), and let the sampling processes that require vector-only steps deal with any changes in the mappings.
Configuration menu - View commit details
-
Copy full SHA for 02e25aa - Browse repository at this point
Copy the full SHA 02e25aaView commit details -
Remove newly deprecated classes and functions
Classes and functions removed: - PyMC3Variable - ObservedRV - FreeRV - MultiObservedRV - TransformedRV - ArrayOrdering - VarMap - DataMap - _DrawValuesContext - _DrawValuesContextBlocker - is_fast_drawable - _compile_theano_function - vectorize_theano_function - get_vectorize_signature - _draw_value - draw_values - generate_samples - fast_sample_posterior_predictive Modules removed: - pymc3.distributions.posterior_predictive - pymc3.tests.test_random
Configuration menu - View commit details
-
Copy full SHA for d160316 - Browse repository at this point
Copy the full SHA d160316View commit details -
Configuration menu - View commit details
-
Copy full SHA for b5065dc - Browse repository at this point
Copy the full SHA b5065dcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2596a75 - Browse repository at this point
Copy the full SHA 2596a75View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8bd4733 - Browse repository at this point
Copy the full SHA 8bd4733View commit details -
Configuration menu - View commit details
-
Copy full SHA for b7b2963 - Browse repository at this point
Copy the full SHA b7b2963View commit details -
Configuration menu - View commit details
-
Copy full SHA for f1b4da9 - Browse repository at this point
Copy the full SHA f1b4da9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 207fc06 - Browse repository at this point
Copy the full SHA 207fc06View commit details -
Configuration menu - View commit details
-
Copy full SHA for 08da3cc - Browse repository at this point
Copy the full SHA 08da3ccView commit details -
Configuration menu - View commit details
-
Copy full SHA for af6ffac - Browse repository at this point
Copy the full SHA af6ffacView commit details -
Configuration menu - View commit details
-
Copy full SHA for 121c517 - Browse repository at this point
Copy the full SHA 121c517View commit details -
Configuration menu - View commit details
-
Copy full SHA for a5b1690 - Browse repository at this point
Copy the full SHA a5b1690View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d4a8b4 - Browse repository at this point
Copy the full SHA 3d4a8b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 63c2688 - Browse repository at this point
Copy the full SHA 63c2688View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5bb71d9 - Browse repository at this point
Copy the full SHA 5bb71d9View commit details -
Add non_sequences to uses of Scan Op
This make `aesara.graph.basic.clone_replace` work correctly when `Scan`s are included in a graph.
Configuration menu - View commit details
-
Copy full SHA for 319dc2e - Browse repository at this point
Copy the full SHA 319dc2eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1fde7e3 - Browse repository at this point
Copy the full SHA 1fde7e3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1588645 - Browse repository at this point
Copy the full SHA 1588645View commit details -
Configuration menu - View commit details
-
Copy full SHA for 801c61a - Browse repository at this point
Copy the full SHA 801c61aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8bcbe59 - Browse repository at this point
Copy the full SHA 8bcbe59View commit details -
Configuration menu - View commit details
-
Copy full SHA for 886e3f8 - Browse repository at this point
Copy the full SHA 886e3f8View commit details -
Configuration menu - View commit details
-
Copy full SHA for ea324a3 - Browse repository at this point
Copy the full SHA ea324a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ace182 - Browse repository at this point
Copy the full SHA 9ace182View commit details -
Configuration menu - View commit details
-
Copy full SHA for 134c90e - Browse repository at this point
Copy the full SHA 134c90eView commit details -
Configuration menu - View commit details
-
Copy full SHA for fcd277c - Browse repository at this point
Copy the full SHA fcd277cView commit details -
Configuration menu - View commit details
-
Copy full SHA for e829c19 - Browse repository at this point
Copy the full SHA e829c19View commit details -
Configuration menu - View commit details
-
Copy full SHA for c937600 - Browse repository at this point
Copy the full SHA c937600View commit details -
Configuration menu - View commit details
-
Copy full SHA for 60a90be - Browse repository at this point
Copy the full SHA 60a90beView commit details -
Configuration menu - View commit details
-
Copy full SHA for 931c494 - Browse repository at this point
Copy the full SHA 931c494View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7bfcebf - Browse repository at this point
Copy the full SHA 7bfcebfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 90ed8e1 - Browse repository at this point
Copy the full SHA 90ed8e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for ab31fc8 - Browse repository at this point
Copy the full SHA ab31fc8View commit details -
Configuration menu - View commit details
-
Copy full SHA for a3ad9d1 - Browse repository at this point
Copy the full SHA a3ad9d1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15a29b2 - Browse repository at this point
Copy the full SHA 15a29b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for a5d8609 - Browse repository at this point
Copy the full SHA a5d8609View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3885d65 - Browse repository at this point
Copy the full SHA 3885d65View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2d16aa5 - Browse repository at this point
Copy the full SHA 2d16aa5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4231ee2 - Browse repository at this point
Copy the full SHA 4231ee2View commit details -
Configuration menu - View commit details
-
Copy full SHA for ab41e0d - Browse repository at this point
Copy the full SHA ab41e0dView commit details -
Update tests following distributions refactoring
The distributions refactoring moves the random variable sampling to aesara. This relies on numpy and scipy random variables implementation. So, now the only thing we care about testing is that the parametrization on the PyMC side is sendible given the one on the Aesara side (effectively the numpy/scipy one) More details can be found on issue pymc-devs#4554 pymc-devs#4554
Configuration menu - View commit details
-
Copy full SHA for c6f2f31 - Browse repository at this point
Copy the full SHA c6f2f31View commit details -
Change tests for more refactored distributions.
More details on commit id 0773620b6f599423315035b97ef082ad32d98fd4
Configuration menu - View commit details
-
Copy full SHA for 199451d - Browse repository at this point
Copy the full SHA 199451dView commit details -
Change tests for refactored distributions
More details on commit id 0773620b6f599423315035b97ef082ad32d98fd4 comment.
Configuration menu - View commit details
-
Copy full SHA for a312231 - Browse repository at this point
Copy the full SHA a312231View commit details -
Remove tests for random variable samples shape and size
Most of the random variable logic has been moved to aesara, as well as most of the relative tests. More details can be found on issue pymc-devs#4554
Configuration menu - View commit details
-
Copy full SHA for 5008194 - Browse repository at this point
Copy the full SHA 5008194View commit details