Skip to content
Dominick99Public

About

MLOps Pipeline

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

pde-mlops

An educational MLOps project for physics-informed neural operators. The first prototype uses experimental particle image velocimetry (PIV) measurements of a cylinder wake.

The project is intentionally being built in small vertical slices. The current slice downloads the source dataset reproducibly and inspects its structure. We also have a notebook that trains a graph neural operator on the AirfRANS dataset, scaffolded for Databricks and MLflow (see below).

Dataset

The prototype uses the Shang--Tu Particle image velocimetry (PIV) data of flow past a cylinder dataset:

  • source: https://doi.org/10.5281/zenodo.20765567
  • acquisition: planar PIV in a recirculating water channel
  • conditions: cylinder Reynolds number 413, sampled at 20 Hz
  • fields: u, v, x, and y
  • download size: approximately 1.1 GB

The original data is not committed to Git. Its URL and published MD5 checksum are recorded in configs/prototype.yaml.

Getting started

This project uses uv to manage Python, the local virtual environment, and locked dependencies. After installing uv, run:

uv sync

The committed .python-version selects Python 3.12, while uv.lock records the exact dependency resolution. You do not need to activate .venv; use uv run to execute commands in the managed environment.

Download the dataset (this transfers approximately 1.1 GB):

uv run python scripts/download_data.py --config configs/prototype.yaml

Inspect the downloaded MATLAB file and write a machine-readable report:

uv run python scripts/inspect_data.py --config configs/prototype.yaml

Run the fast tests:

uv run pytest

Current scope

The repository covers data provenance, checksum verification, structural inspection, and an initial AirfRANS training notebook scaffold. Full training validation, physics losses, containers, and deployment remain future work.

AirfRANS graph neural operator notebook

notebooks/airfrans_gno_databricks.ipynb trains a graph neural operator on the AirfRANS dataset using PyTorch, Databricks, and MLflow. It includes a radius graph integral model, simulation-level training/validation split, train-only normalization, a training loop, metrics, and best-checkpoint logging.

This is scaffolding and has not been run end to end. Import the notebook into Databricks, attach a PyTorch-capable ML runtime, install airfrans, and stage the extracted dataset in a Unity Catalog Volume. Set the data_root and experiment widgets before running. The notebook documents the expected data layout, permissions, remaining work, and optional local execution. Its training dependencies are separate from the existing uv environment and lockfile.

AirfRANS is a separate airfoil simulation dataset from the cylinder-wake PIV prototype above. The notebook does not download data automatically.

About

MLOps Pipeline

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages