gaurav-arya / StochasticAD.jl

Research package for automatic differentiation of programs containing discrete randomness.
MIT License
195 stars 15 forks source link

Add more general rand-based interface to allow users to specify custom couplings, etc. #111

Closed gaurav-arya closed 6 months ago

gaurav-arya commented 7 months ago

Right now, the coupling for e.g. Categorical variables is fixed at the inversion method, instead of allowing more general forms. It would be nice to allow the user more freedom here, but with the simple rand interface we can't do this because the interface is fixed. It would be nice to have a lower-level interface (e.g. randst) which users that want to specify custom strategies for that random choice can use; then the default rand can just call out to randst with some default choices.