--- library_name: pytorch tags: - functional-pca - implicit-neural-representations - orthonormal-bases --- # Learning Orthonormal Bases for Function Spaces: pretrained FPCA models Trained checkpoints for the official implementation of [*Learning Orthonormal Bases for Function Spaces*](https://arxiv.org/abs/2605.19959) (NeurIPS 2026). Code: [github.com/HamidrezaKmK/Learning-ONBs](https://github.com/HamidrezaKmK/Learning-ONBs). Each subfolder is one functional-PCA experiment: a learned mean function, a dictionary with a learned orthogonal synthesis, and a learned isometry (an Eulerian flow) that turns the dictionary into principal functions for the data. | Subfolder | Data | Dictionary | |---|---|---| | `1d_fpca` | 1-D tent + sine processes | Fourier | | `1d_fpca_haar` | 1-D tent + sine processes | Haar wavelets | | `1d_fpca_voronoi` | 1-D tent + sine processes | Voronoi cells | | `dwsnets_mnist_eulerian` | MNIST SIRENs (DWSNets) | 2-D Fourier | | `implicit_zoo_cifar_eulerian` | CIFAR-10 SIRENs | 2-D Fourier, RGB | | `celeba_eulerian` | CelebA-HQ 64×64 | 2-D Fourier, RGB | Each holds `config.yaml` (the training config), `model.safetensors` (weights only) and `metadata.json` (training epoch and captured energy). ## Usage ```python # pip install from the GitHub repo, then: from infidictionary.pretrained import load_pretrained from infidictionary.domain_samplers import SquareSampler model = load_pretrained("Shengdebao/Learning-ONBs", subfolder="dwsnets_mnist_eulerian") xy = SquareSampler(stratified=True, add_noise=False).sample(28) # 28x28 grid on [0, 1]^2 basis = model.basis(xy, num_atoms=64) # (64, 784, 1) learned principal functions mean = model.mean(xy) # (784, 1) ``` The analysis notebooks in the GitHub repo download these automatically. ## Citation ```bibtex @inproceedings{kamkari2026learning, title={Learning Orthonormal Bases for Function Spaces}, author={Kamkari, Hamidreza and Nabizadeh, Mohammad Sina and Solomon, Justin}, booktitle={Advances in Neural Information Processing Systems (NeurIPS)}, year={2026}, eprint={2605.19959}, archivePrefix={arXiv}, primaryClass={cs.LG}, url={https://arxiv.org/abs/2605.19959} } ```