diff --git a/pymc3/backends/arviz.py b/pymc3/backends/arviz.py index c144083ddf..a02846c6e8 100644 --- a/pymc3/backends/arviz.py +++ b/pymc3/backends/arviz.py @@ -19,7 +19,7 @@ from aesara.graph.basic import Constant from aesara.tensor.sharedvar import SharedVariable -from aesara.tensor.subtensor import AdvancedIncSubtensor +from aesara.tensor.subtensor import AdvancedIncSubtensor, AdvancedIncSubtensor1 from arviz import InferenceData, concat, rcParams from arviz.data.base import CoordSpec, DimSpec from arviz.data.base import dict_to_dataset as _dict_to_dataset @@ -283,7 +283,7 @@ def log_likelihood_vals_point(self, point, var, log_like_fun): point = {i.name: point[i.name] for i in log_like_fun.f.maker.inputs if i.name in point} log_like_val = np.atleast_1d(log_like_fun(point)) - if isinstance(var.owner.op, AdvancedIncSubtensor): + if isinstance(var.owner.op, (AdvancedIncSubtensor, AdvancedIncSubtensor1)): try: obs_data = extract_obs_data(var.tag.observations) except TypeError: diff --git a/pymc3/tests/test_aesaraf.py b/pymc3/tests/test_aesaraf.py index 24b5978008..5b993bfa37 100644 --- a/pymc3/tests/test_aesaraf.py +++ b/pymc3/tests/test_aesaraf.py @@ -343,7 +343,7 @@ def test_extract_obs_data(): constant = at.as_tensor(data_m.filled()) z_at = at.set_subtensor(constant[mask.nonzero()], missing_values) - assert isinstance(z_at.owner.op, AdvancedIncSubtensor) + assert isinstance(z_at.owner.op, (AdvancedIncSubtensor, AdvancedIncSubtensor1)) res = extract_obs_data(z_at) @@ -360,7 +360,7 @@ def test_extract_obs_data(): constant = at.as_tensor(data_m.filled()) z_at = at.set_subtensor(constant[mask.nonzero()], missing_values) - assert isinstance(z_at.owner.op, AdvancedIncSubtensor1) + assert isinstance(z_at.owner.op, (AdvancedIncSubtensor, AdvancedIncSubtensor1)) res = extract_obs_data(z_at) diff --git a/pymc3/tests/test_idata_conversion.py b/pymc3/tests/test_idata_conversion.py index 8ba0be2e21..55ab81f9ba 100644 --- a/pymc3/tests/test_idata_conversion.py +++ b/pymc3/tests/test_idata_conversion.py @@ -5,7 +5,7 @@ import pandas as pd import pytest -from aesara.tensor.subtensor import AdvancedIncSubtensor +from aesara.tensor.subtensor import AdvancedIncSubtensor, AdvancedIncSubtensor1 from arviz import InferenceData from arviz.tests.helpers import check_multiple_attrs from numpy import ma @@ -327,7 +327,7 @@ def test_mv_missing_data_model(self): inference_data = pm.sample(100, chains=2, return_inferencedata=True) # make sure that data is really missing - assert isinstance(y.owner.op, AdvancedIncSubtensor) + assert isinstance(y.owner.op, (AdvancedIncSubtensor, AdvancedIncSubtensor1)) test_dict = { "posterior": ["mu", "chol_cov"],