Hi all,
I’m receiving the following error when using sample_prior_predictive on a particular model:
Traceback (most recent call last):
File "prior_pred.py", line 50, in <module>
sample()
File "prior_pred.py", line 22, in sample
random_seed=conf.prior_pred_seed
File "/home/damien/venv/scene_illum/lib/python2.7/site-packages/pymc3/sampling.py", line 1316, in sample_prior_predictive
values = draw_values([model[name] for name in names], size=samples)
File "/home/damien/venv/scene_illum/lib/python2.7/site-packages/pymc3/distributions/distribution.py", line 321, in draw_values
evaluated[param_idx] = _draw_value(param, point=point, givens=givens.values(), size=size)
File "/home/damien/venv/scene_illum/lib/python2.7/site-packages/pymc3/distributions/distribution.py", line 414, in _draw_value
if size and values and not all(var.dshape == val.shape for var, val in zip(variables, values)):
File "/home/damien/venv/scene_illum/lib/python2.7/site-packages/pymc3/distributions/distribution.py", line 414, in <genexpr>
if size and values and not all(var.dshape == val.shape for var, val in zip(variables, values)):
AttributeError: 'TensorVariable' object has no attribute 'dshape'
The problem seems to be that there are items in variables that are of type TensorVariable, which do not have the dshape attribute. Often this isn’t a problem because the all stops as soon as it receives a False and the TensorVariable items don’t get tested - but in the particular instance that is causing the error, the first item in variables is a TensorVariable.
I haven’t been able to pin it down to create a minimal working example - let me know if it would be helpful to see the complete (rather unwieldy) model.
Thanks!