Closed
Description
Please provide a minimal, self-contained, and reproducible example.
with pm.Model() as m:
x = pm.Normal('x', 0, 1)
y = pm.Normal('y', x, 1, observed=[1])
z = pm.Potential('z', x)
trace = pm.sample_smc()
Please provide the full traceback.
Complete error traceback
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/tensor/basic.py in _as_tensor_Sequence(x, name, ndim, dtype, **kwargs)
158 try:
--> 159 x = type(x)(extract_constants(i) for i in x)
160 except TypeError:
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/tensor/basic.py in <genexpr>(.0)
158 try:
--> 159 x = type(x)(extract_constants(i) for i in x)
160 except TypeError:
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/tensor/basic.py in extract_constants(i)
153 else:
--> 154 raise TypeError
155 else:
TypeError:
During handling of the above exception, another exception occurred:
TypeError Traceback (most recent call last)
<ipython-input-191-2a0c62da4e6c> in <module>
3 y = pm.Normal('y', x, 1, observed=[1])
4 z = pm.Potential('z', x)
----> 5 trace = pm.sample_smc()
~/Documents/Projects/pymc3/pymc3/smc/sample_smc.py in sample_smc(draws, kernel, n_steps, start, tune_steps, p_acc_rate, threshold, save_sim_data, save_log_pseudolikelihood, model, random_seed, parallel, chains, cores)
203 results = []
204 for i in range(chains):
--> 205 results.append(sample_smc_int(*params, random_seed[i], i, _log))
206
207 (
~/Documents/Projects/pymc3/pymc3/smc/sample_smc.py in sample_smc_int(draws, kernel, n_steps, start, tune_steps, p_acc_rate, threshold, save_sim_data, save_log_pseudolikelihood, model, random_seed, chain, _log)
265 nsteps = []
266 smc.initialize_population()
--> 267 smc.setup_kernel()
268 smc.initialize_logp()
269
~/Documents/Projects/pymc3/pymc3/smc/smc.py in setup_kernel(self)
143 self.likelihood_logp_func = logp_forw(
144 initial_values, [self.model.datalogpt], self.variables, shared
--> 145 )
146
147 def initialize_logp(self):
~/Documents/Projects/pymc3/pymc3/model.py in datalogpt(self)
809
810 factors += [at.sum(factor) for factor in potentials]
--> 811 return at.sum(factors)
812
813 @property
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/tensor/math.py in sum(input, axis, dtype, keepdims, acc_dtype)
2469 """
2470
-> 2471 out = Sum(axis=axis, dtype=dtype, acc_dtype=acc_dtype)(input)
2472
2473 if keepdims:
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/graph/op.py in __call__(self, *inputs, **kwargs)
269 """
270 return_list = kwargs.pop("return_list", False)
--> 271 node = self.make_node(*inputs, **kwargs)
272
273 if config.compute_test_value != "off":
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/tensor/elemwise.py in make_node(self, input)
1759 # we can infer what dtype should be, and create a node from an Op
1760 # of the appropriate dtype.
-> 1761 input = aesara.tensor.basic.as_tensor_variable(input)
1762 dtype = self._output_dtype(input.dtype)
1763 acc_dtype = self._acc_dtype(input.dtype)
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/tensor/__init__.py in as_tensor_variable(x, name, ndim, **kwargs)
39
40 """
---> 41 return _as_tensor_variable(x, name, ndim, **kwargs)
42
43
/usr/lib/python3.8/functools.py in wrapper(*args, **kw)
873 '1 positional argument')
874
--> 875 return dispatch(args[0].__class__)(*args, **kw)
876
877 funcname = getattr(func, '__name__', 'singledispatch function')
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/tensor/basic.py in _as_tensor_Sequence(x, name, ndim, dtype, **kwargs)
171 # couldn't get an underlying non-symbolic sequence of objects and we to
172 # symbolically join terms.
--> 173 return stack(x)
174
175 return constant(x, name=name, ndim=ndim, dtype=dtype)
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/tensor/basic.py in stack(*tensors, **kwargs)
2715 dtype = aes.upcast(*[i.dtype for i in tensors])
2716 return aesara.tensor.basic_opt.MakeVector(dtype)(*tensors)
-> 2717 return join(axis, *[shape_padaxis(t, axis) for t in tensors])
2718
2719
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/tensor/basic.py in join(axis, *tensors_list)
2561 return tensors_list[0]
2562 else:
-> 2563 return join_(axis, *tensors_list)
2564
2565
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/graph/op.py in __call__(self, *inputs, **kwargs)
269 """
270 return_list = kwargs.pop("return_list", False)
--> 271 node = self.make_node(*inputs, **kwargs)
272
273 if config.compute_test_value != "off":
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/tensor/basic.py in make_node(self, *axis_and_tensors)
2282 return tensor(dtype=out_dtype, broadcastable=bcastable)
2283
-> 2284 return self._make_node_internal(
2285 axis, tens, as_tensor_variable_args, output_maker
2286 )
~/Documents/Projects/pymc3-venv/lib/python3.8/site-packages/aesara/tensor/basic.py in _make_node_internal(self, axis, tens, as_tensor_variable_args, output_maker)
2352 [x.ndim == len(bcastable) for x in as_tensor_variable_args[1:]]
2353 ):
-> 2354 raise TypeError(
2355 "Join() can only join tensors with the same " "number of dimensions."
2356 )
TypeError: Join() can only join tensors with the same number of dimensions.
Please provide any additional information below.
Versions and main components
- PyMC3 Version:
- Aesara/Theano Version:
- Python Version:
- Operating system:
- How did you install PyMC3: (conda/pip)