Welcome to PyTorch-BSF!
Fit smooth manifolds with explicit geometry and numerical evidence.
PyTorch-BSF brings Bézier Simploid Fitting (BSF) to PyTorch. A Bézier simplex is a high-dimensional generalization of the Bézier curve: it can model an arbitrarily complex point cloud as a smooth parametric hyper-surface in any number of dimensions (see Bézier simplex fitting). Bézier simploids go further: they are tensor products of Bézier simplices defined on products of simplices such as prisms and cubes, and simploidal sets glue such cells along common faces. This makes them a natural tool for representing Pareto fronts in multi-objective optimization, interpolating scattered observations, and fitting geometric structures in high-dimensional spaces.
The project is on GitHub.
Note
BSF formerly stood for Bézier Simplex Fitting, which remains the special case where the parameter domain is a single simplex.
Practical guides include reproducible comparisons, parameter tuning and interpretation of numerical evidence for the unified API.
User guide
- What is Bézier simplex fitting?
- Installation
- Quickstart
- Migrating to the unified v0 API
- Advanced Topics
- Applications
- Frequently asked questions
- Do I need Conda, Lightning or MLflow?
- How do I predict?
- Does solver success imply identifiable coefficients?
- How do I choose a degree?
- Where did the old APIs go?
- What are the objects I need for an ordinary fit?
- Why does a one-column input produce a constant model?
- How do I choose between simplex, product and assembled spaces?
- Why can a successful model still be poor?
- What should I adjust when the fit oscillates?
- When should I normalize outputs?
- Are control points predicted values on a grid?
- How can I preserve a known endpoint exactly?
- Will splitting reduce my prediction error?
- Does active learning guarantee better accuracy each round?
- Should I switch to the sparse solver or a GPU?
- Why does optimization report failure after using every iteration?
- What happens after a numerical solve fails?
- How should I save a model and reproduce its figures?
- Can I compare before/after runs with different evaluation points?
- References
API reference