Hello,
I am trying to reproce the example ( Hierarchical modeling with the LKJ prior in PyMC – Tomi Capretto ) and getting the error message. I am suspecting these errors due to the version change.
When I run:
with pm.Model(coords=coords) as model_independent:
Common effects
β0 = pm.Normal(“β0”, mu=y_mean, sigma=50)
β1 = pm.Normal(“β1”, mu=0, sigma=10)
# Group-specific effects
# Intercept
σ_u0 = pm.HalfNormal("σ_u0", sigma=50)
u0 = pm.Normal("u0", mu=0, sigma=σ_u0, dims="subject")
# Slope
σ_u1 = pm.HalfNormal("σ_u1", sigma=10)
u1 = pm.Normal("u1", mu=0, sigma=σ_u1, dims="subject")
# Construct intercept and slope
intercept = pm.Deterministic("intercept", β0 + u0[subjects_idx])
slope = pm.Deterministic("slope", (β1 + u1[subjects_idx]) * days)
# Conditional mean
μ = pm.Deterministic("μ", intercept + slope)
# Residual standard deviation
σ = pm.HalfStudentT("σ", nu=4, sigma=50)
# Response
y = pm.Normal("y", mu=μ, sigma=σ, observed=data["Reaction"])
pm.model_to_graphviz(model_independent)
I get the following errors:
ERROR (pytensor.graph.rewriting.basic): Rewrite failure due to: random_make_inplace
ERROR (pytensor.graph.rewriting.basic): node: t_rv{"(),(),()->()"}(*0-<RandomGeneratorType>, *1-<NoneTypeT>, *2-<Scalar(int8, shape=())>, 0.0, *3-<Scalar(int8, shape=())>)
ERROR (pytensor.graph.rewriting.basic): TRACEBACK:
ERROR (pytensor.graph.rewriting.basic): Traceback (most recent call last):
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/graph/rewriting/basic.py", line 1920, in process_node
replacements = node_rewriter.transform(
fgraph, node, enforce_tracks=enforce_tracks
)
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/graph/rewriting/basic.py", line 993, in transform
return self.fn(fgraph, node)
~~~~~~~^^^^^^^^^^^^^^
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/random/rewriting/basic.py", line 54, in random_make_inplace
new_outputs = new_op.make_node(*node.inputs).outputs
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/random/op.py", line 368, in make_node
size = normalize_size_param(size)
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/random/utils.py", line 190, in normalize_size_param
shape = cast(as_tensor_variable(shape, ndim=1, dtype="int64"), "int64")
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/__init__.py", line 50, in as_tensor_variable
return _as_tensor_variable(x, name, ndim, **kwargs)
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/functools.py", line 934, in wrapper
return dispatch(args[0].__class__)(*args, **kw)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/basic.py", line 113, in _as_tensor_Variable
raise TypeError(
f"Tensor type field must be a TensorType; found {type(x.type)}."
)
TypeError: Tensor type field must be a TensorType; found <class 'pytensor.tensor.type_other.NoneTypeT'>.
ERROR (pytensor.graph.rewriting.basic): Rewrite failure due to: random_make_inplace
ERROR (pytensor.graph.rewriting.basic): node: t_rv{"(),(),()->()"}(*0-<RandomGeneratorType>, *1-<NoneTypeT>, *2-<Scalar(int8, shape=())>, 0.0, *3-<Scalar(int8, shape=())>)
ERROR (pytensor.graph.rewriting.basic): TRACEBACK:
ERROR (pytensor.graph.rewriting.basic): Traceback (most recent call last):
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/graph/rewriting/basic.py", line 1920, in process_node
replacements = node_rewriter.transform(
fgraph, node, enforce_tracks=enforce_tracks
)
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/graph/rewriting/basic.py", line 993, in transform
return self.fn(fgraph, node)
~~~~~~~^^^^^^^^^^^^^^
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/random/rewriting/basic.py", line 54, in random_make_inplace
new_outputs = new_op.make_node(*node.inputs).outputs
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/random/op.py", line 368, in make_node
size = normalize_size_param(size)
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/random/utils.py", line 190, in normalize_size_param
shape = cast(as_tensor_variable(shape, ndim=1, dtype="int64"), "int64")
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/__init__.py", line 50, in as_tensor_variable
return _as_tensor_variable(x, name, ndim, **kwargs)
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/functools.py", line 934, in wrapper
return dispatch(args[0].__class__)(*args, **kw)
~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
File "/home/naser/anaconda3/envs/pymc_env/lib/python3.13/site-packages/pytensor/tensor/basic.py", line 113, in _as_tensor_Variable
raise TypeError(
f"Tensor type field must be a TensorType; found {type(x.type)}."
)
TypeError: Tensor type field must be a TensorType; found <class 'pytensor.tensor.type_other.NoneTypeT'>.