API Reference¶
Reference documentation for the FlowPDE modules.
The central separation: flow vs. objective¶
This is the most important structural fact about the library.
NeuralODEFlowis the continuous-time dynamics: it owns the model, sampling by ODE integration, and exact log-likelihood.- Objectives are how you train that flow.
Both objectives wrap the same flow. Training logic does not belong on the flow, and dynamics do not belong on an objective.
flow = NeuralODEFlow(model, target_key="target", condition_key="input")
objective = FlowMatchingObjective(flow, path="linear", time_sampler="uniform")
trainer = Trainer(objective, optimizer, ...)
Modules¶
| Module | Description |
|---|---|
| Core | Abstract bases: BaseFlow, BaseSolver, BaseConditioner |
| Flows | NeuralODEFlow and its pluggable components |
| Objectives | Flow matching and maximum likelihood |
| Models | Velocity-field backbones: MLP, UNet, ConvNet, ResNet |
| Solvers | ODE integration for inference |
| Trainers | Trainer, EMA, FlowEvaluator, reflow |
| Datasets | Exponax PDE data generation and normalization |
| Utils | Error metrics, uncertainty-quantification metrics, and general utilities |