The dims argument is not respected when a random variable is created with parameters that broadcast to the desired output dimensions:
coords = {
"dim1": pd.RangeIndex(10),
"dim2": pd.RangeIndex(7)
}
with pm.Model(coords=coords) as model:
mu = np.zeros((10, 1))
x = pm.Normal("x", mu=mu, dims=("dim1", "dim2"))
y = pm.Normal("y", mu=mu, dims=("dim1", "dim2"), shape=(10, 7))
x.eval().shape
# Returns (10, 1), when it should be (10, 7)
y.eval().shape
# Correctly returns (10, 7)
- PyMC/PyMC3 Version: latest release 4.1.3
- Aesara/Theano Version:
- Python Version:
- Operating system:
- How did you install PyMC/PyMC3: conda