Make predictions with the particles of SVGD



In pymc3, how can I make predictions by averaging the particles (models) if I use Stein variational gradient descent for Bayesian neural nets?

In the tutorial, I found the code for GMM:

approx =, jitter=1.))
trace = approx.sample(10000)

And I also wonder what distribution the second line is sampling. I am confused because unlike ADVI, “approx” in SVGD should return a set of particles instead of a distribution.