Skip to content

Abstract out inference procedures #788

@zenna

Description

@zenna

At the last JuliaCon we (@yebai, @willtebbutt) talked briefly about abstracting out inference procedures so that we can have a common interface for different libraries. DynamicHMC by @tpapp is a good example of this package.

I and a few others work on Omega.jl, Mostly we've been working on getting the foundations right, which are a little different to Turing and most other PPLs. But they're mostly stable now and I intended to start working on implementing a variety of inference procedures in Omega, but thought I would consult Turing people first to see if you wanted to avoid redoing work.

If we wanted to do this, there are a bunch of technical issues to resolve. DynamicHMC is easily abstracted out because it requires only a function which computes the gradient of the negative log density. I imagine it might be more difficult to do the same for other inference procedures which require more intricate access to and information about the model.

It may be too difficult or not worth while to separate out inference procedures, which is also fine.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions