How turbotage/polynode works
PolyNODE is a PyTorch research library for neural ODE autoencoders on variable-dimensional M-polyfolds, with reconstruction experiments and latent-space flow classification. Users run sphere or spiral reconstruction training, then evaluate learned flows; classification training can load a reconstruction model and learn class-directed latent dynamics, which can also be evaluated. Shared layers provide synthetic geometry, vector fields/ODE integration, and losses. The README documents capabilities beyond the sampled excerpts; arrows for those branches are limited to documented workflows and visible module responsibilities.
Main entry points: experiment_spiral.py Spiral Training · experiment_sphere.py Sphere Training · model_lib.py ODE Flow Model · reconstruction Reconstruction Runs
Components 18
Reconstruction
- Spiral Training
polynode/reconstruction/experiment_spiral.py - Sphere Training
polynode/reconstruction/experiment_sphere.py - Spiral Evaluation
polynode/reconstruction/evaluate_spiral.py - Sphere Evaluation
polynode/reconstruction/evaluate_sphere.py - Reconstruction Runs
saves/reconstruction
Model Core
- Synthetic Geometry
polynode/data_lib.py - Training Losses
polynode/loss_lib.py - Polyfold Fields
polynode/model_lib.py - ODE Flow Model
polynode/model_lib.py
Classification
- Spiral Classifier
polynode/classification/classification_spiral.py - Classifier Setup
polynode/classification/classification_spiral_lib.py - Classification Fields
polynode/classification/classification_lib.py - Classifier Evaluation
polynode/classification/classification_evaluate.py - Classification Runs
saves/classification
Evaluation & Plots
- Live & Static Plots
polynode/plotly_plot.py - Experiment Utilities
polynode/util_lib.py
Other components
- Researcher
- torchdiffeq
Connections 36
- Researcher → Spiral Training: runs
- Researcher → Sphere Training: runs
- Researcher → Spiral Evaluation: evaluates
- Researcher → Sphere Evaluation: evaluates
- Researcher → Spiral Classifier: runs
- Researcher → Classifier Evaluation: evaluates
- Spiral Training → Synthetic Geometry: samples data
- Sphere Training → Synthetic Geometry: samples data
- Spiral Training → Polyfold Fields: configures field
- Sphere Training → Polyfold Fields: configures field
- Spiral Training → ODE Flow Model: integrates
- Sphere Training → ODE Flow Model: integrates
- Spiral Training → Training Losses: computes loss
- Sphere Training → Training Losses: computes loss
- ODE Flow Model → Polyfold Fields: evaluates field
- ODE Flow Model → torchdiffeq: integrates with
- Spiral Training → Reconstruction Runs: saves run
- Sphere Training → Reconstruction Runs: saves run
- Spiral Evaluation → Reconstruction Runs: loads model
- Sphere Evaluation → Reconstruction Runs: loads model
- Spiral Evaluation → ODE Flow Model: evaluates flow
- Sphere Evaluation → ODE Flow Model: evaluates flow
- Spiral Evaluation → Synthetic Geometry: regenerates data
- Sphere Evaluation → Synthetic Geometry: regenerates data
- Spiral Classifier → Classifier Setup: sets up
- Classifier Setup → Reconstruction Runs: loads encoder
- Spiral Classifier → Classification Fields: trains dynamics
- Spiral Classifier → Classification Runs: saves run
- Classifier Setup → Live & Static Plots: starts dashboard
- Classifier Evaluation → Classification Runs: loads model
- Classifier Evaluation → Reconstruction Runs: loads encoder
- Classifier Evaluation → Live & Static Plots: plots trajectories
- Spiral Training → Experiment Utilities: reports experiment
- Sphere Training → Experiment Utilities: reports experiment
- Spiral Evaluation → Experiment Utilities: plots metrics
- Sphere Evaluation → Experiment Utilities: plots metrics