Implementing Delayed Rejection Adaptive Metropolis (DRAM)

Hello everyone,

I am interested in implementing the Delayed Rejection Adaptive Metropolis (DRAM) algorithm in pyro.

I was wondering what is the best way to go about doing this. The algorithm is similar to Metropolis Hastings, except that there are some local and global changes to the proposal distribution. Are there any MH kernels that have been implemented in pyro that I can try and use as a starting point to implement this?

I found this one, but it uses numpyro.