Week 2 into GSoC¶
Following up the work done in week 1, I started exploring surrounding packages of PyMC4 i.e. TFP, ArviZ and PyMC3 to gain better insights how things need to be integrated. On the way, I opened a few issues and PRs fixing docstrings.
- ArviZ Issue #1232 regarding rendering of notebooks.
- PyMC4 Issue #283 regarding Transformations. I am still wondering whether the transformations are missing or automatically handled.
- TFP PR #965 that fixes
tfb.Chain
docstrings.
Work done this week¶
Figuring out the solutions over the review of the PR #280, I have -
- Added
sample
method for sampling from posterior distribution. - Fixed return type from
fit
function to includeApproximation
as well. - Updated variational quickstart notebook incorporating both of the changes above.
It took me a bit longer to look out for good variable names and to make quick-start notebook similar to PyMC3's Variational API notebook. But the time was worth it.
Experiments¶
Most of the time this week, I spent experimenting on ideas building on top of week 1's work. I polished out my experiments and created two gists.
Gist 1 - Source¶
Comparison between MeanField ADVI in TFP, PyMC3 and PyMC4. It was fun doing this.
Gist 2 - Source¶
Experimenting with ArviZ. I started learning from how trace from tfp.mcmc.sample_chain
gets converted to ArviZ InferenceData. Following the same, I soon ran into shape issues while integrating it into sample
method. I plan to resolve it in week 3.
Tasks for week 3¶
- Tests about convergence checks
- Add convergence criteria example in quick start notebook
- Include samples for untransformed variables as well
- Handle shape issues with ArviZ while sampling
- More user friendly optimizers
I am thankful to my mentor for his constant guidance and pymc-devs for being such a supportive community.
Thank you for reading!
With , Sayam