Hi,
(1) I don’t see anything wrong per se
(2) In my experience, KLqp has trouble with the inv-gamma distribution, though I don’t know why. My guess is that the gamma function is somehow tough to differentiate.
If it suits your purposes, use the log-normal distribution in the variational model, see link below.
(3) Instead of calling run, you can initialize, and run updates yourself: see notebook
Hope that helps