You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've made a small package for embedding FEniCS PDE solvers in Theano. https://github.com/IvanYashchuk/fenics-pymc3
The current API is just one function create_fenics_theano_op which turns a normal Python function, which expects FEniCS inputs and outputs a solution to the problem, into a differentiable Theano Op that can be directly used in a PyMC3 model.
This function can be used as a decorator (with @create_fenics_theano_op syntax) as well. @junpenglao suggested that it could of interest to port it here. What do other people think about this?
I'm not well familiar with the code structure here, what would be a good place for this FEniCS integration functionality?
Also if we get to the point of having FEniCS support here, we should also make it work with Firedrake, which has more or less the same Python interface as FEniCS, but a different backend.
The text was updated successfully, but these errors were encountered:
Those Ops are too specialized for addition into core Theano.
I don't know enough about FEniCS, but—from a cursory investigation—the only relevant additions that could be included here might involve bridging explicit FEniCS graph objects and operators with existing and/or new Ops in Theano.
In other words, it might be worth considering FEniCS as a compilation target like we're doing with JAX here. Unfortunately, I can't say whether or not that's possible or even worthwhile.
I've made a small package for embedding FEniCS PDE solvers in Theano.
https://github.com/IvanYashchuk/fenics-pymc3
The current API is just one function
create_fenics_theano_op
which turns a normal Python function, which expects FEniCS inputs and outputs a solution to the problem, into a differentiable Theano Op that can be directly used in a PyMC3 model.This function can be used as a decorator (with
@create_fenics_theano_op
syntax) as well.@junpenglao suggested that it could of interest to port it here. What do other people think about this?
I'm not well familiar with the code structure here, what would be a good place for this FEniCS integration functionality?
Also if we get to the point of having FEniCS support here, we should also make it work with Firedrake, which has more or less the same Python interface as FEniCS, but a different backend.
The text was updated successfully, but these errors were encountered: