I’d like to implement Beta Process factor analysis in Pyro (or maybe NumPyro). When I previously implemented its related cousin the Dirichlet Process mixture model, I ran into multiple issues with common inference algorithms, both SVI and MCMC, (e.g. 1, 2) which led me to discover that that sampling discrete variables is difficult and that getting cluster assignments would be unreliable.

Looking forward at Beta Process factor analysis, what traps should I expect to run into? Will this even be doable?

Looking at this post on PyMC3, I’m concerned this might not be feasible at all.

Thanks in advance! I’m hoping to avoid accidentally sinking time into a futile endeavor, if possible