Open
Description
I have never used VI before, so I don't know if it's expected to fail so easily:
import pymc as pm
with pm.Model():
x = pm.Normal("x")
# increasing the distance between prior and posterior makes no difference for VI
# e.g., sigma=1e-3 or observed=100
y = pm.Normal("y", x, sigma=0.5, observed=10)
nuts = pm.sample()
vi = pm.fit()
print((
nuts.posterior["x"].mean().values,
vi.sample().posterior["x"].mean().values
)) # (array(8.01670159), array(3.11480314))