HyperNOs Documentation
Introduction
HyperNOs is a Python project focused on the implementation of completely automatic, distributed and parallel neural operators hyperparameter optimization. The project aims to provide a framework for training neural operator models using Pytorch and Ray Tune for hyperparameter tuning. The library is designed to be highly flexible, making it easy to use with any kind of model and dataset. In the context of Neural Operators, where architecture design is still an active area of research, performing extensive hyperparameter optimization is crucial to obtain state-of-the-art results.
For a more detailed explanation of the library and its capabilities, please refer to our article: HyperNOs: Automated and Parallel Library for Neural Operators Research.
Supported Libraries
HyperNOs allows users to easily integrate and use models from popular neural-operator libraries or custom models. Is also very flexible and can be used with many different datasets.
I already implemented some examples of usage with the following popular libraries:
- NeuralOperator: Implement neural operator architectures like FNO, SFNO, TFNO, UNO, UQNO, GINO, FNOGNO, LocalNO, RNO, CODANO, OTNO.
- DeepXDE: Implement operator learning models like DeepONet, MIONet, POD-DeepONet, POD-MIONet.
You can find examples of how to use these models in the hypernos/examples directory with two dedicated subdirectories: deepxde_lib and neuralop_lib. There are implemented examples both for training a given architecture and for hyperparameter optimization routines.
Visualization website
The project also includes a visualization website: (https://hypernos.streamlit.app) that allows users to visualize the results obtained with HyperNOs library.
Installation
To set up the HyperNOs project, follow these steps:
-
Clone the repository:
git clone --depth=1 https://github.com/MaxGhi8/HyperNOs.git cd HyperNOs
-
Install the required dependencies. It is recommended to create a virtual environment before installing the dependencies; I personally use
pyenv(but others, likeuv, are fine) and Python version3.12.7for this purpose:pyenv install 3.12.7 pyenv virtualenv 3.12.7 hypernos pyenv activate hypernos
Install in editable mode
pip install -e .
Installing the package makes it available as `hypernos` across your system and sets up the `hypernos-run` command. > [!WARNING] > For PyTorch, more attention may be needed during installation. We highly recommend following the [official documentation](https://pytorch.org/get-started/locally/) to install the correct version for your system (e.g., matching your CUDA version). -
Download the dataset using the
download_data.shscript:./download_data.sh
-
Download pre-trained models (optional):
git clone --depth=1 https://github.com/MaxGhi8/tests
The previous repository contains the Tensorboard support for every model, the information about the training and the architecture's hyperparameters chosen. Then you can download running the following script and select the model that you want to download:
./download_trained_model.sh
Usage
After installation, you can run the provided examples in the neural_operators/examples directory.
Interactive Tutorials
We provide interactive Jupyter Notebooks in the notebook/ directory to help you get started:
- Training Tutorial: Learn how to train a Neural Operator.
- Ray Tune Tutorial: Learn how to tune hyperparameters of a Neural Operator.
Basic Training
To train a model (e.g., FNO) on a single machine, simply run the corresponding python script:
cd neural_operators/examples/
python train_fno.py
Python API
You can now import HyperNOs directly in your own scripts:
import torch
from hypernos.examples.train_fno import train_fno
# Run a training session
train_fno("poisson", "best", "L2")
Hyperparameter Optimization with Ray Tune
You can use Ray Tune to optimize hyperparameters.
Local Machine
To run Ray Tune on your local machine, first start a Ray head node:
ray start --head
Then run the Ray script:
cd neural_operators/examples/
python ray_fno.py
Cluster (Slurm)
For running on a cluster using Slurm, refer to SLURM_USAGE.md for instructions on using template.slurm.
Citation
If you use our library please consider citing our paper:
@misc{ghiotto2025hypernosautomatedparallellibrary,
title={HyperNOs: Automated and Parallel Library for Neural Operators Research},
author={Massimiliano Ghiotto},
year={2025},
eprint={2503.18087},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2503.18087},
}
Metadata
Release files for hypernos 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hypernos-0.1.3.tar.gz | 38.2 kB | With provenance | Details for hypernos-0.1.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| hypernos-0.1.3-py3-none-any.whl | Python 3 | none | any | Details for hypernos-0.1.3-py3-none-any.whl |
Total release size: 75.7 kB
Release files / hypernos-0.1.3.tar.gz
| Download URL | hypernos-0.1.3.tar.gz |
|---|---|
| Size | 38.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c252679f72663226564f45f82974ada48ccdd36b3f0fdf66d941e7c080c893fb
|
|
BLAKE2b-256 checksum How to use checksums |
1bee2e808e50954366dc08f3838a75a92701d308083296a7de44380d0df72609
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 26, 2026.
Transparency logRelease files / hypernos-0.1.3-py3-none-any.whl
| Download URL | hypernos-0.1.3-py3-none-any.whl |
|---|---|
| Size | 37.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b80f253d577cfe69e67ba8a94ec69ecae4fcbdecd5c69bcd95d4d592619892e0
|
|
BLAKE2b-256 checksum How to use checksums |
e445e06e5aceed1782e19530b378ced164fb1a23a8daa72499225ab28ac2ccfc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 26, 2026.
Transparency logSecurity for hypernos 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for hypernos-0.1.3.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 26, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.