This is a draft for a proper overhaul of Bijectors.jl
Goals with this PR are:
[ ] Remove the annoying dimensionality by being explict about when we're working with a collection of inputs vs. single input.
Also removes the restriction that input and output of bijectors should be the same size, type, etc.
[ ] Allow more than just bijectors (differentiable bijections with differentiable inverses).
Releated issues: #58
[ ] Resolve some simpler but outstanding issues:
41
159
[ ] We have a lot of hacks in this package to make AD work across the board. Some of these vanish due to (1), but I'm also taking this opportunity to try to check what we actually need and what we can get rid of due to improvements upstream.
[ ] Add support for mutating methods, e.g. transform!, logabsdetjac!.
[ ] Add a bunch of sane default implementations, e.g. mutating versions, batched versions, etc.
Also, this is likely to result end up including a lot of changes, so we might end up splitting this into multiple PRs once it becomes more than a draft. But for now it's all here.
This is a draft for a proper overhaul of Bijectors.jl
Goals with this PR are:
41
159
transform!
,logabsdetjac!
.Also, this is likely to result end up including a lot of changes, so we might end up splitting this into multiple PRs once it becomes more than a draft. But for now it's all here.