Skip to content
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

Replace slow dist_math::incomplete_beta with aesara op #4519

Closed
wants to merge 222 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
222 commits
Select commit Hold shift + click to select a range
3398c04
Temporarily disable CI tests
brandonwillard Jan 29, 2021
191a18d
Rename Model.ndim to Model.size
brandonwillard Jan 29, 2021
c911934
Initial refactoring for RandomVariable use in Model, step methods, an…
brandonwillard Jan 25, 2021
5d16410
Update competence methods to work with RandomVariables
brandonwillard Feb 1, 2021
afecc0e
Remove shape dependencies from DictToArrayBijection
brandonwillard Jan 29, 2021
502a23e
Implement naive RandomVariable-based posterior predictive sampling
brandonwillard Feb 3, 2021
91404bd
Remove newly deprecated classes and functions
brandonwillard Feb 4, 2021
10d5451
Removed redundant bound in Wald distribution
fonnesbeck Feb 5, 2021
7f301d5
Refactor tests for compatibility with logp dispatch and RandomVariables
brandonwillard Feb 13, 2021
f1b94f7
Apply easy fixes to get tests to pass or xfail
michaelosthege Mar 8, 2021
3fa9b9f
Allow ignoring tests files, but print a warning about it
michaelosthege Mar 8, 2021
fbb5cfc
Make XPASSing tests fail, so we'll know when something is fixed
michaelosthege Mar 8, 2021
adbc43b
Ignore tests that are completely broken, but run the others
michaelosthege Mar 8, 2021
d6fdcc9
Strip observed in prior predictive
ricardoV94 Mar 10, 2021
cf74284
Fix values in `test_ignores_observed`
ricardoV94 Mar 10, 2021
05dbcf3
Add fallback for missing value_var in BaseTrace
brandonwillard Mar 11, 2021
40af2df
Use name from Variable.name in pymc3.util.get_var_name
brandonwillard Mar 11, 2021
346c005
Reinstate log-likelihood transforms
brandonwillard Mar 9, 2021
665144b
Remove remaining v3 sampling code
brandonwillard Mar 14, 2021
d3c3b81
Change logp_transform argument to the entire random variable
brandonwillard Mar 15, 2021
816b5f3
Remove logpt transformed option
brandonwillard Mar 15, 2021
1f59a9c
Implement transform for Dirichlet
brandonwillard Mar 15, 2021
42ab275
Always use the value var to initially build the log-likelihood
brandonwillard Mar 15, 2021
1c18f65
Register GammaRV to PositiveContinuous class
brandonwillard Mar 15, 2021
b74054d
Add an option for negative support assertions in Normal and Gamma cla…
brandonwillard Mar 15, 2021
ed375f2
Make logp testing work with transformed values
brandonwillard Mar 15, 2021
a49c06d
Disable asserts during logp invalid range tests
brandonwillard Mar 15, 2021
b5f1861
Update xfails in pymc3.tests.test_distributions
brandonwillard Mar 15, 2021
4de530f
Fix Categorical logp implementation
brandonwillard Mar 15, 2021
55cbd54
Use the value var's values directly in logpt
brandonwillard Mar 15, 2021
46d154b
Do not assume values are Applys in pymc3.tests.test_distributions
brandonwillard Mar 15, 2021
3dd34f0
Refactored distributions in pymc.distributions.continuous
kc611 Mar 15, 2021
58a3eb1
Simplify the new Distribution interface and convert a few more
brandonwillard Mar 16, 2021
7e22952
Use xfail mark in pymc3.tests.test_distributions_timeseries
brandonwillard Mar 16, 2021
39f1310
Create class after setting the class dictionary
brandonwillard Mar 16, 2021
94ec5db
Make transform objects stateless
brandonwillard Mar 17, 2021
3aeafc4
Add tests for two important open logpt and Model issues
brandonwillard Mar 18, 2021
08d972d
Add non_sequences to uses of Scan Op
brandonwillard Mar 20, 2021
9be7326
Replace Observed Op with tag.observations
brandonwillard Mar 20, 2021
6029bf8
Add missing imports to pymc3.step_methods.gibbs
brandonwillard Mar 20, 2021
738dfae
Comment out unused moments
brandonwillard Mar 20, 2021
0232261
Make logpt work correctly for nested models and transforms
brandonwillard Mar 21, 2021
2393260
Disable use of Arviz in pymc3.tests.test_data_container
brandonwillard Mar 22, 2021
5ea78bf
Set model seed correctly in pymc3.tests.test_ndarray_backend
brandonwillard Mar 22, 2021
a09c1fb
Prevent Model from turning on test value computations
brandonwillard Mar 23, 2021
286d670
Make Metropolis, Slice, PGBART, MetropolisMLDA use point values
brandonwillard Mar 23, 2021
e0b6746
Re-enable disabled tests
brandonwillard Mar 23, 2021
88bc930
Use value vars to determine steps
brandonwillard Mar 23, 2021
83077b7
Use size instead of shape in pymc3.tests.sampler_fixtures
brandonwillard Mar 23, 2021
52704a4
Set model-level RandomVariable seeds during sampling
brandonwillard Mar 23, 2021
7d9eca8
Check shapes by evaluating graph with start values
brandonwillard Mar 24, 2021
7c452a3
Fix logpt so that transforms are always applied, when enabled
brandonwillard Mar 24, 2021
23b43df
Set default transform for Dirichlet
brandonwillard Mar 24, 2021
0bcbe09
Normalize Multinomial argument
brandonwillard Mar 24, 2021
5ec5a2c
Use no_transform_object in Distribution.__new__
brandonwillard Mar 24, 2021
92ce8e8
Fix Interval.jacobian_det
brandonwillard Mar 24, 2021
ed9a9a3
Fix Stickbreaking scalar condition
brandonwillard Mar 24, 2021
4c51ba0
Make Model.test_point generation transform existing RV test value
brandonwillard Mar 24, 2021
36b2fd7
Add transformed value variables to Model.named_vars
brandonwillard Mar 24, 2021
9ab0f36
Remove DeterministicWrapper from Deterministic
brandonwillard Mar 24, 2021
6b840a4
Make sure sample_posterior_predictive doesn't use trace values for sa…
brandonwillard Mar 24, 2021
d1623f6
Set seed after loading trace in TestSaveLoad
brandonwillard Mar 24, 2021
a53e078
Make v4 compatibility changes to pymc3.tests.test_sampling
brandonwillard Mar 24, 2021
7e07b3d
Make pymc3.tests.test_transforms work with None RV variables
brandonwillard Mar 24, 2021
4ef2e71
Make find_MAP work with RaveledVars
brandonwillard Mar 24, 2021
9e78a6a
Make sure start values are NumPy arrays
brandonwillard Mar 24, 2021
5c17a51
Raise NotImplementedError in Group.__init__
brandonwillard Mar 24, 2021
c695b00
Add type hints to astep methods
brandonwillard Mar 24, 2021
1118940
Use untransformed samples and xfail Arviz tests in BaseSampler
brandonwillard Mar 24, 2021
25f36d7
Make sure forward transformed input is a TensorVariable in TestMatche…
brandonwillard Mar 24, 2021
fcd5ffb
Adjust flaky last-digit numerical requirements in TestMatchesScipy
brandonwillard Mar 24, 2021
f240ed0
Fix MvNormal quaddist_matrix parameter order
brandonwillard Mar 25, 2021
fe6f2c2
Enable MvNormal tests in test_distributions
brandonwillard Mar 25, 2021
fae3522
Factor out parameter pre-processing in TestMatchesScipy
brandonwillard Mar 25, 2021
0c71803
Apply recent xfail updates from master branch
brandonwillard Mar 25, 2021
b4da020
Prevent dtype conversion in Aesara during testing to avoid a bug
brandonwillard Mar 25, 2021
5ff3964
Fix NegativeBinomial parameterization and enable its tests
brandonwillard Mar 25, 2021
51205db
Prevent SciPy error by using float64 point in test_dirichlet_with_bat…
brandonwillard Mar 25, 2021
f0f1369
Create extract_obs_data function
brandonwillard Mar 26, 2021
2306428
Do not use shared variables as inputs during prior/posterior sampling
brandonwillard Mar 26, 2021
3ea8381
Port InferenceData conversion code
OriolAbril Feb 26, 2021
0f47252
Disable dims, default_dims, and index_origin options until arviz > v0…
brandonwillard Mar 25, 2021
5555027
Re-enable Arviz tests in pymc3.tests.test_sampling
brandonwillard Mar 26, 2021
fefdd5b
add workaround for data groups until next arviz release
OriolAbril Mar 26, 2021
983daec
activate arviz compat tests
OriolAbril Mar 26, 2021
05d9dc5
Remove redundant coords test
brandonwillard Mar 26, 2021
74b969a
Re-enable Arviz parts of sampler fixtures
brandonwillard Mar 26, 2021
4e5016f
Fix shape logic in test_distributions_random and skip tests covered b…
ricardoV94 Mar 17, 2021
69480b6
Re-enable test_distributions_random
ricardoV94 Mar 17, 2021
545f391
Fix HalfCauchy/HalfCauchyRV parameterization
ricardoV94 Mar 16, 2021
81c5743
Fix HalfNormal/HalfNormalRV parameterization
ricardoV94 Mar 17, 2021
432b122
Refactor Beta to use custom rng_fn clipped_beta_rv
ricardoV94 Mar 17, 2021
8597a9c
Re-enable v4 xfails in pymc3.distributions.dist_math
brandonwillard Mar 27, 2021
dea5ae1
Remove deprecated default values tests
brandonwillard Mar 27, 2021
4ab6d95
Re-enable pymc3.tests.test_modelcontext
brandonwillard Mar 27, 2021
95afa92
Remove Model.size
brandonwillard Mar 27, 2021
a37bed1
Always set model.default_rng in pymc3.sampling.sample
brandonwillard Mar 27, 2021
932b979
Change shape to size in pymc3.tests.test_step
brandonwillard Mar 27, 2021
1f6ee44
Mark brittle TestStepMethods.test_sample_exact test as xfail
brandonwillard Mar 27, 2021
fa93b9e
Remove incorrect size for multivariate distributions in pymc3.tests.m…
brandonwillard Mar 27, 2021
2efe537
Change shape to size in pymc3.tests.test_aesaraf
brandonwillard Mar 27, 2021
64b3fc1
Make minor v4 updates to test_car_logp
brandonwillard Mar 27, 2021
011d663
Re-enable more sampler-based tests and selectively xfail others
brandonwillard Mar 27, 2021
61519ec
Fix extra_vars in call to ValueGradFunction from Model
brandonwillard Mar 27, 2021
6a5f32f
Re-enable some tests in pymc3.tests.test_model
brandonwillard Mar 27, 2021
77564c4
Update xfail reason in pymc3.tests.test_examples
brandonwillard Mar 27, 2021
5f265ed
Set a seed for a flaky pymc3.tests.test_sampling test
brandonwillard Mar 27, 2021
0dc82fc
Rename Model.vars to Model.value_vars
brandonwillard Mar 27, 2021
5ffd370
Reintroduce the old Model.vars with a deprecation warning
brandonwillard Mar 27, 2021
c4f1fd1
Add value/rv variable maps to Model
brandonwillard Mar 27, 2021
4564531
Change no_transform_object sentinel to UNSET in pymc3.util
brandonwillard Mar 27, 2021
77d3ba7
Move logp code into pymc3.distributions.logp and graph functions into…
brandonwillard Mar 27, 2021
c3e32f7
Remove build_named_node_tree and its helper functions
brandonwillard Mar 27, 2021
4a4855a
Move treelist and treedict to pymc3.util
brandonwillard Mar 27, 2021
924ed9e
Remove pymc3.model._walk_up_rv
brandonwillard Mar 27, 2021
9264996
Remove pymc3.model.as_iterargs
brandonwillard Mar 27, 2021
3a7bbed
Move pymc3.model.all_continuous to pymc3.sampling
brandonwillard Mar 27, 2021
40f3f95
Move pymc3.model.pandas_to_array to pymc3.aesaraf
brandonwillard Mar 27, 2021
7d1fe95
Rename pymc3.tests.test_model_utils to test_glm_utils
brandonwillard Mar 27, 2021
9830060
Rename pymc3.tests.test_models_linear to test_glm_linear
brandonwillard Mar 27, 2021
6c8551c
Add xfail to pymc3.tests.test_variational_inference
brandonwillard Mar 27, 2021
4c2a3f6
Remove remaining uses of Distribution.default
brandonwillard Mar 27, 2021
b40785b
Remove Distribution.get_test_val and Distribution.getattr_value
brandonwillard Mar 28, 2021
2c5c324
Rename Model.test_point to Model.initial_point
brandonwillard Mar 28, 2021
b1a6bd7
Rename Model.check_test_point to Model.point_logps
brandonwillard Mar 28, 2021
84f1248
Make pymc3.util.update_start_vals and check_start_vals Model methods
brandonwillard Mar 28, 2021
90d165d
Re-enable pymc3.tests.test_util
brandonwillard Mar 28, 2021
5a0f45e
Fix issue with single variable input to BlockedStep
brandonwillard Mar 28, 2021
2540f6c
Make GradientSharedStep a subclass of ArrayStepShared
brandonwillard Mar 28, 2021
a67b396
Make initial_replacements argument in rvs_to_value_vars optional
brandonwillard Mar 28, 2021
65b9f97
Rename rv_ancestors to walk_model and add tests
brandonwillard Mar 28, 2021
8ec7ba2
Merge and improve apply_transforms and rvs_to_value_vars
brandonwillard Mar 29, 2021
79741af
Fix a NumPy non-tuple indexing deprecation warning in test_aesaraf
brandonwillard Mar 29, 2021
1002d5e
Convert and transform potentials in the log-likelihood
brandonwillard Mar 29, 2021
7559c66
Finish refactoring BlockedStep.competence implementations
brandonwillard Mar 29, 2021
ea074fe
Fix RaveledVars and size-related issues in Metropolis and MLDA samplers
brandonwillard Mar 29, 2021
e02466f
Seed flaky TestSamplePPC.test_deterministic_of_observed_modified_inte…
brandonwillard Mar 29, 2021
c9fa127
Re-enable step method tests in pymc3.tests.test_step
brandonwillard Mar 29, 2021
28351a6
Add a test module for pymc3.distributions.logp
brandonwillard Mar 29, 2021
fd9f663
Implement log-likelihoods for *IncSubtensor* Ops
brandonwillard Mar 30, 2021
330db23
Remove unnecessary module pymc3.tests.test_model_helpers
brandonwillard Mar 30, 2021
fb21db8
Use the Subtensor-ed result as the observed random variable
brandonwillard Mar 30, 2021
36db815
Update Arviz conversion for new missing values approach
brandonwillard Mar 30, 2021
f19d942
Allow empty RaveledVars results in DictToArrayBijection.map
brandonwillard Mar 30, 2021
c6f3942
Update tests for new missing values approach
brandonwillard Mar 30, 2021
de8ee52
Allow dict of value vars in logp signatures and implement Subtensor logp
brandonwillard Apr 1, 2021
be61219
Converted Gumbel distribution to v4
fonnesbeck Mar 30, 2021
f1b3219
Ran pre-commit scripts
fonnesbeck Mar 30, 2021
1285ac7
Fix exponential and gamma logp / random link (#4576)
ricardoV94 Apr 4, 2021
e5c42b4
Converted Pareto distribution to v4
fonnesbeck Mar 31, 2021
116cdf3
Compute the size of scalars for size expansions in pymc3.aesaraf.chan…
michaelosthege Apr 7, 2021
13d5cb9
Fixed grammar typos: "a aesara" to "an Aesara" (take 3) (#4624)
larryshamalama Apr 8, 2021
dc8f532
Fix sequential backend (#4584)
ckrapu Apr 10, 2021
0a51adf
Remove nonexistent attribute from __all__ list (#4627)
michaelosthege Apr 11, 2021
b542efb
Add missing values as unobserved random variables and estimate them d…
brandonwillard Apr 5, 2021
ab03ed0
Add a starting point option to DictToArrayBijection.rmap
brandonwillard Apr 6, 2021
f3fe8ba
Make sure shared variables have correct broadcasting in ValueGradFunc…
brandonwillard Apr 6, 2021
d650afd
Fix RaveledVars usage in BinaryGibbsMetropolis.astep
brandonwillard Apr 6, 2021
a54cb12
Use ABC abstract methods in step method interface
brandonwillard Apr 6, 2021
effda84
Format find_MAP docstring
brandonwillard Apr 6, 2021
2c07286
Enable Arviz tests
brandonwillard Apr 7, 2021
cf1aded
Use optimized graph for JAX conversion
brandonwillard Apr 13, 2021
7adf05d
Refactor DiscreteWeibull (#4615)
ricardoV94 Apr 15, 2021
c098195
Add unobserved_value_vars property to Model
ricardoV94 Apr 16, 2021
45cb4eb
Add auto_deterministics list to Model
ricardoV94 Apr 16, 2021
94213ca
Allow unnamed (None) dims and undefined (None) coord values
michaelosthege Apr 18, 2021
ed29203
Allow parametrization through either shape, dims or size
michaelosthege Apr 18, 2021
c99f15c
Automatically add SpecifyShape Op when full-length shape is given
michaelosthege Apr 19, 2021
e9f2e96
Fix missing fstrings
ricardoV94 Apr 21, 2021
2e7d042
remove obsolete multiplication with 1.0 in get_sigma_tau
Spaak Apr 22, 2021
3785931
fixup stacklevel
MarcoGorelli Apr 24, 2021
7af5b46
V4 update test framework for distributions random method (#4608)
matteo-pallini Apr 26, 2021
3a02dcc
Fixing np.bool Depreciation warnings: 3 files (#4673)
larryshamalama May 3, 2021
ad26d25
Remove GLM submodule in v4 (#4682)
farhanreynaldo May 11, 2021
2c372ef
Refactor several distributions (#4640)
ricardoV94 May 11, 2021
de74ff6
Update dependency to aesara 2.0.8, and necessary fixes
ricardoV94 May 12, 2021
04e1271
Create a NumPyro sampler Op for better JAX backend integration
brandonwillard Apr 15, 2021
5bf669e
Fix Uniform logp regression from #4541
ricardoV94 Apr 13, 2021
8a54990
Refactor DiscreteUniform
ricardoV94 May 3, 2021
8aa7672
Refactor Constant
ricardoV94 May 3, 2021
b4cceed
Refactor OrderedLogistic
ricardoV94 May 3, 2021
8711633
Refactor OrderedProbit
ricardoV94 May 6, 2021
fcb1128
Add missing discrete distributions to API rst
ricardoV94 May 6, 2021
0d21a7b
Refactor ZeroInflatedPoisson
ricardoV94 May 6, 2021
7e8d112
Refactor ZeroInflatedBinomial
ricardoV94 May 6, 2021
48e0d98
Refactor ZeroInflatedNegativeBinomial
ricardoV94 May 6, 2021
6ac841c
Update several test xfails
ricardoV94 May 6, 2021
71a3ef2
Use _logp and _logcdf dispatcher in ZeroInflated* methods
ricardoV94 May 13, 2021
faed5f1
Fix `check_logcdf` test regression
ricardoV94 May 13, 2021
791a1c4
refactor pareto and laplace (#4691)
farhanreynaldo May 14, 2021
3469d23
Refactor Student T Distribution (#4694)
themrzmaster May 14, 2021
366ff1b
Revert "Automatically add SpecifyShape Op when full-length shape is g…
brandonwillard May 13, 2021
5bdfdde
Revert "Allow parametrization through either shape, dims or size"
brandonwillard May 13, 2021
fb8d38b
Fix BinaryMetropolis astep
ricardoV94 May 14, 2021
4d0a421
Fix _check_start_shape
ricardoV94 May 14, 2021
f671b7d
Update failing tests
ricardoV94 May 14, 2021
54c39bb
Remove duplicate pandas_to_array call in Model.register_rv
brandonwillard May 15, 2021
08f5847
Make sure new size values are int64
brandonwillard May 15, 2021
0226047
Fix mistaken use of change_rv_size with new_size None
brandonwillard May 15, 2021
9ab831d
Edit misleading comment to be more accurate
michaelosthege May 15, 2021
1a2da3d
refactor Moyal distribution (#4704)
farhanreynaldo May 16, 2021
d848b9c
refactor kumaraswamy (#4706)
farhanreynaldo May 17, 2021
a68f571
Refactor Rice and Skew Normal distribution (#4705)
farhanreynaldo May 17, 2021
79245ce
Refactor LogitNormal (#4703)
themrzmaster May 17, 2021
c2b840f
let pandas_to_array take pandas Index
MarcoGorelli May 24, 2021
0b8bed3
Update Aesara requirement to 2.0.9
brandonwillard May 25, 2021
b06c928
Use aesara.tensor.atleast_1d in pymc3.aesaraf.change_rv_size
brandonwillard May 25, 2021
0970af0
Add testval to flaky test (#4707)
ricardoV94 May 25, 2021
d95827f
Refactor Flat and HalfFlat distributions (#4723)
ricardoV94 May 30, 2021
7e88fa5
Remove unnecessary gammaln and psi from pymc3.distributions.special
brandonwillard Jun 1, 2021
c08c149
Incrementally update the RNG state in Model
brandonwillard May 28, 2021
26e5235
Convert RandomVariables to in-place during graph optimization
brandonwillard May 31, 2021
313e007
Introduce Model.initial_values and deprecate testval in favor of initval
brandonwillard Jun 1, 2021
ad9b919
Replace uses of testval with initval
brandonwillard Jun 1, 2021
8c821dc
Replace custom incomplete_beta function with scipy betainc and respec…
ricardoV94 May 12, 2021
72e609d
Add tests for gradient of betainc
ricardoV94 Mar 9, 2021
05c53af
Speedup check_logcdf test
ricardoV94 Jun 3, 2021
46785cc
Speedup check_selfconsistency_discrete_logcdf test
ricardoV94 Jun 3, 2021
347193e
Revert reduced test n_samples due to speed issues
ricardoV94 Jun 2, 2021
c5206f4
Float32 xfail on Beta and StudentT logcdf tests
ricardoV94 Jun 3, 2021
86fd042
Add workaround for HyperGeometric logcdf failure
ricardoV94 Jun 4, 2021
7149781
Remove `gammainc(c)` safeguards in `logcdf` methods of `Gamma` and `I…
ricardoV94 Jun 4, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 55 additions & 29 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,52 +12,78 @@ jobs:
os: [ubuntu-18.04]
floatx: [float32, float64]
test-subset:
# Tests are split into multiple jobs to accelerate the CI.
# The first job (starting in the next block) shouldn't run any tests, but
# just ignores tests because that don't work at all, or run in other jobs.'
# Any test that was not ignored runs in the first job.
# A pre-commit hook (scripts/check_all_tests_are_covered.py) enforces that
# test run just once.

# Because YAML doesn't allow comments in the blocks below, here they are..
# 1st block: These tests are temporarily disabled, because they are _very_ broken
# 2nd block: The JAX tests run through their own workflow: jaxtests.yml
# 3nd & 4rd: These tests are covered by other matrix jobs
# 5th block: These tests PASS without a single XFAIL
# 6th block: These have some XFAILs
- |
--ignore=pymc3/tests/test_dist_math.py
--ignore=pymc3/tests/test_distribution_defaults.py
--ignore=pymc3/tests/test_distributions.py
--ignore=pymc3/tests/test_distributions_random.py
--ignore=pymc3/tests/test_distributions_timeseries.py
--ignore=pymc3/tests/test_examples.py
--ignore=pymc3/tests/test_gp.py
--ignore=pymc3/tests/test_missing.py
--ignore=pymc3/tests/test_mixture.py
--ignore=pymc3/tests/test_ode.py
--ignore=pymc3/tests/test_model_graph.py
--ignore=pymc3/tests/test_modelcontext.py
--ignore=pymc3/tests/test_parallel_sampling.py
--ignore=pymc3/tests/test_posteriors.py
--ignore=pymc3/tests/test_quadpotential.py
--ignore=pymc3/tests/test_profile.py
--ignore=pymc3/tests/test_random.py
--ignore=pymc3/tests/test_sampling.py
--ignore=pymc3/tests/test_sampling_jax.py
--ignore=pymc3/tests/test_shape_handling.py
--ignore=pymc3/tests/test_shared.py
--ignore=pymc3/tests/test_smc.py
--ignore=pymc3/tests/test_starting.py
--ignore=pymc3/tests/test_step.py
--ignore=pymc3/tests/test_updates.py
--ignore=pymc3/tests/test_tracetab.py
--ignore=pymc3/tests/test_tuning.py
--ignore=pymc3/tests/test_types.py
--ignore=pymc3/tests/test_variational_inference.py
--ignore=pymc3/tests/test_sampling_jax.py
--ignore=pymc3/tests/test_dist_math.py
--ignore=pymc3/tests/test_minibatches.py
--ignore=pymc3/tests/test_pickling.py
--ignore=pymc3/tests/test_plots.py
--ignore=pymc3/tests/test_special_functions.py
--ignore=pymc3/tests/test_updates.py
--ignore=pymc3/tests/test_examples.py
--ignore=pymc3/tests/test_gp.py
--ignore=pymc3/tests/test_model.py
--ignore=pymc3/tests/test_model_func.py
--ignore=pymc3/tests/test_ode.py
--ignore=pymc3/tests/test_posdef_sym.py
--ignore=pymc3/tests/test_quadpotential.py
--ignore=pymc3/tests/test_shape_handling.py
--ignore=pymc3/tests/test_distributions.py
--ignore=pymc3/tests/test_distributions_random.py
--ignore=pymc3/tests/test_idata_conversion.py

- |
pymc3/tests/test_modelcontext.py
pymc3/tests/test_dist_math.py
pymc3/tests/test_distribution_defaults.py
pymc3/tests/test_distributions_random.py
pymc3/tests/test_parallel_sampling.py
pymc3/tests/test_random.py
pymc3/tests/test_shared.py
pymc3/tests/test_smc.py
pymc3/tests/test_minibatches.py
pymc3/tests/test_pickling.py
pymc3/tests/test_plots.py
pymc3/tests/test_special_functions.py
pymc3/tests/test_updates.py

- |
pymc3/tests/test_idata_conversion.py
pymc3/tests/test_distributions.py
pymc3/tests/test_distributions_random.py
pymc3/tests/test_examples.py
pymc3/tests/test_mixture.py
pymc3/tests/test_gp.py
pymc3/tests/test_model.py
pymc3/tests/test_model_func.py
pymc3/tests/test_ode.py
pymc3/tests/test_posteriors.py
pymc3/tests/test_posdef_sym.py
pymc3/tests/test_quadpotential.py
- |
pymc3/tests/test_distributions_timeseries.py
pymc3/tests/test_shape_handling.py
pymc3/tests/test_step.py
pymc3/tests/test_updates.py
pymc3/tests/test_variational_inference.py
- |
pymc3/tests/test_distributions.py
pymc3/tests/test_gp.py
pymc3/tests/test_sampling.py

fail-fast: false
runs-on: ${{ matrix.os }}
env:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:

jobs:
pytest:
if: false
strategy:
matrix:
os: [windows-latest]
Expand Down
6 changes: 6 additions & 0 deletions RELEASE-NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,21 @@
### Breaking Changes
- ⚠ Theano-PyMC has been replaced with Aesara, so all external references to `theano`, `tt`, and `pymc3.theanof` need to be replaced with `aesara`, `at`, and `pymc3.aesaraf` (see [4471](https://github.com/pymc-devs/pymc3/pull/4471)).
- ArviZ `plots` and `stats` *wrappers* were removed. The functions are now just available by their original names (see [#4549](https://github.com/pymc-devs/pymc3/pull/4471) and `3.11.2` release notes).
- The GLM submodule has been removed, please use [Bambi](https://bambinos.github.io/bambi/) instead.
- The `Distribution` keyword argument `testval` has been deprecated in favor of `initval`.
- The `incomplete_beta` function in `pymc3.distributions.dist_math` was replaced by an equivalent faster vectorized `betainc` Aesara `Op` (see [4519](https://github.com/pymc-devs/pymc3/pull/4519)).
- ...

### New Features
- The `CAR` distribution has been added to allow for use of conditional autoregressions which often are used in spatial and network models.
- Add `logcdf` method to Kumaraswamy distribution (see [#4706](https://github.com/pymc-devs/pymc3/pull/4706)).
- ...

### Maintenance
- Remove float128 dtype support (see [#4514](https://github.com/pymc-devs/pymc3/pull/4514)).
- Logp method of `Uniform` and `DiscreteUniform` no longer depends on `pymc3.distributions.dist_math.bound` for proper evaluation (see [#4541](https://github.com/pymc-devs/pymc3/pull/4541)).
- `Model.RV_dims` and `Model.coords` are now read-only properties. To modify the `coords` dictionary use `Model.add_coord`. Also `dims` or coordinate values that are `None` will be auto-completed (see [#4625](https://github.com/pymc-devs/pymc3/pull/4625)).
- The length of `dims` in the model is now tracked symbolically through `Model.dim_lengths` (see [#4625](https://github.com/pymc-devs/pymc3/pull/4625)).
- ...

## PyMC3 3.11.2 (14 March 2021)
Expand Down
2 changes: 1 addition & 1 deletion docs/source/Gaussian_Processes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ other type of random variable. The first argument is the name of the random
variable representing the function we are placing the prior over.
The second argument is the inputs to the function that the prior is over,
:code:`X`. The inputs are usually known and present in the data, but they can
also be PyMC3 random variables. If the inputs are a Aesara tensor or a
also be PyMC3 random variables. If the inputs are an Aesara tensor or a
PyMC3 random variable, the :code:`shape` needs to be given.

Usually at this point, inference is performed on the model. The
Expand Down
13 changes: 4 additions & 9 deletions docs/source/Probability_Distributions.rst
Original file line number Diff line number Diff line change
Expand Up @@ -117,20 +117,15 @@ For example, the gamma distribution is positive-valued. If we define one for a m
with pm.Model() as model:
g = pm.Gamma('g', 1, 1)

We notice a modified variable inside the model ``vars`` attribute, which holds the free variables in the model.
We notice a modified variable inside the model ``value_vars`` attribute. These variables represent the values of each random variable in the model's log-likelihood.

::

>>> model.vars
>>> model.value_vars
[g_log__]

As the name suggests, the variable ``g`` has been log-transformed, and this is the space over which sampling takes place.
As the name suggests, the variable ``g`` has been log-transformed, and this is the space over which posterior sampling takes place.

The original variable is simply treated as a deterministic variable, since the value of the transformed variable is simply back-transformed when a sample is drawn in order to recover the original variable. Hence, ``g`` resides in the ``model.deterministics`` list.

::

>>> model.deterministics
[g]
The value of the transformed variable is simply back-transformed when a sample is drawn in order to recover the original variable.

By default, auto-transformed variables are ignored when summarizing and plotting model output.
6 changes: 3 additions & 3 deletions docs/source/PyMC3_and_Aesara.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ What is Aesara

Aesara is a package that allows us to define functions involving array
operations and linear algebra. When we define a PyMC3 model, we implicitly
build up a Aesara function from the space of our parameters to
build up an Aesara function from the space of our parameters to
their posterior probability density up to a constant factor. We then use
symbolic manipulations of this function to also get access to its gradient.

Expand Down Expand Up @@ -159,7 +159,7 @@ where with the normal likelihood :math:`N(x|μ,σ^2)`

To build that function we need to keep track of two things: The parameter
space (the *free variables*) and the logp function. For each free variable
we generate a Aesara variable. And for each variable (observed or otherwise)
we generate an Aesara variable. And for each variable (observed or otherwise)
we add a term to the global logp. In the background something similar to
this is happening::

Expand All @@ -177,7 +177,7 @@ So calling `pm.Normal()` modifies the model: It changes the logp function
of the model. If the `observed` keyword isn't set it also creates a new
free variable. In contrast, `pm.Normal.dist()` doesn't care about the model,
it just creates an object that represents the normal distribution. Calling
`logp` on this object creates a Aesara variable for the logp probability
`logp` on this object creates an Aesara variable for the logp probability
or log probability density of the distribution, but again without changing
the model in any way.

Expand Down
2 changes: 2 additions & 0 deletions docs/source/api/distributions/discrete.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@ Discrete
ZeroInflatedNegativeBinomial
DiscreteUniform
Geometric
HyperGeometric
Categorical
DiscreteWeibull
Constant
OrderedLogistic
OrderedProbit

.. automodule:: pymc3.distributions.discrete
:members:
6 changes: 0 additions & 6 deletions docs/source/api/distributions/utilities.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@ Distribution utility classes and functions
DensityDist
TensorType

draw_values
generate_samples


.. autoclass:: Distribution
.. autoclass:: Discrete
Expand All @@ -23,6 +20,3 @@ Distribution utility classes and functions
.. autoclass:: DensityDist
:members:
.. autofunction:: TensorType

.. autofunction:: draw_values
.. autofunction:: generate_samples
6 changes: 4 additions & 2 deletions docs/source/api/glm.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,7 @@ Generalized Linear Models

.. currentmodule:: pymc3.glm.linear

.. automodule:: pymc3.glm.linear
:members:
Generalized Linear Models are delegated to the
`Bambi <https://bambinos.github.io/bambi>`_.
library, a high-level Bayesian model-building
interface built on top of the PyMC3.
2 changes: 1 addition & 1 deletion docs/source/api/math.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Math

This submodule contains various mathematical functions. Most of them are imported directly
from aesara.tensor (see there for more details). Doing any kind of math with PyMC3 random
variables, or defining custom likelihoods or priors requires you to use these aesara
variables, or defining custom likelihoods or priors requires you to use these Aesara
expressions rather than NumPy or Python code.

.. currentmodule:: pymc3.math
Expand Down
17 changes: 0 additions & 17 deletions docs/source/api/variables.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,5 @@ Random Variables
The normal PyMC3 programmer will typically not need to interact with these classes, except possibly when debugging. Otherwise they are primarily of interest to developers.


.. autoclass:: PyMC3Variable
:members:


.. autoclass:: ValueGradFunction
:members:


.. autoclass:: FreeRV
:members:

.. autoclass:: ObservedRV
:members:

.. autoclass:: MultiObservedRV
:members:

.. autoclass:: TransformedRV
:members:
Loading