Skip to main content

The pytorch implementation of the paper 'EPINF: Efficient Physics Informed Fluid Flow Reconstruction With Spatial and Temporal Priors'

Project description

EPINF-NeuFlow

The pytorch implementation of the paper "EPINF: Efficient Physics Informed Neural Reconstruction of Diverse Fluid Dynamics from Sparse Observations"

This repo is also a pypi package NeuFlow that can be installed via pip:

python -m pip install neuflow

Environment Setup

System Requirements

  • System
    • Windows 11 (Fully Tested)
    • Ubuntu 24.04.2 (Fully Tested)
  • Python: 3.13
  • PyTorch: 2.7.1 + CUDA 12.8

Pip Packages

python -m pip install --upgrade pip setuptools wheel
python -m pip install torch torchvision --index-url https://download.pytorch.org/whl/cu128
python -m pip install lightning lightning[extra] dearpygui tyro matplotlib av huggingface_hub wandb opencv-python phiflow

set TCNN_CUDA_ARCHITECTURES=86
python -m pip install git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch

python -m pip install ./cuda_extensions/freqencoder ./cuda_extensions/gridencoder ./cuda_extensions/raymarching ./cuda_extensions/shencoder

For Windows user, open X64 Native Tools Command Prompt for VS 2022 then activate your python venv if any, and set TCNN_CUDA_ARCHITECTURES to your GPU architecture.

GPU H100 40X0 30X0 A100 20X0 TITAN V / V100 10X0 / TITAN Xp 9X0 K80
CUDA arch 90 89 86 80 75 70 61 52 37

Optional Packages

triton-windows - Activate torch.compile for Windows

python -m pip install -U "triton-windows<3.3"

Wandb Logger

To use the Wandb logger, you need to set up your Wandb account and login. You can do this by running the following command:

wandb login

Datasets

We provide two datasets for training and testing the model:

ALL datasets are downloaded AUTOMATICALLY when running the training script.

Training

NGP Model

python -O app.py ngp --dataset.dataset=chair --epochs=500 --gpu_id=0
python -O app.py ngp --dataset.dataset=drums --epochs=500 --gpu_id=0
python -O app.py ngp --dataset.dataset=ficus --epochs=500 --gpu_id=0
python -O app.py ngp --dataset.dataset=hotdog --epochs=500 --gpu_id=0
python -O app.py ngp --dataset.dataset=lego --epochs=500 --gpu_id=0
python -O app.py ngp --dataset.dataset=materials --epochs=500 --gpu_id=0
python -O app.py ngp --dataset.dataset=mic --epochs=500 --gpu_id=0
python -O app.py ngp --dataset.dataset=ship --epochs=500 --gpu_id=0

EPINF Model

python -O app.py epinf --dataset.dataset=sphere --epochs=500 --gpu_id=0
python -O app.py epinf --dataset.dataset=game --epochs=500 --gpu_id=0
python -O app.py epinf --dataset.dataset=torch2 --epochs=500 --gpu_id=0
python -O app.py epinf --dataset.dataset=fireplace --epochs=500 --gpu_id=0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neuflow-0.1.4.tar.gz (38.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

neuflow-0.1.4-py3-none-any.whl (52.5 kB view details)

Uploaded Python 3

File details

Details for the file neuflow-0.1.4.tar.gz.

File metadata

  • Download URL: neuflow-0.1.4.tar.gz
  • Upload date:
  • Size: 38.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for neuflow-0.1.4.tar.gz
Algorithm Hash digest
SHA256 137b3034f2200a2accf81c65a0cb20b02ea052255878de4bb1331a33a9dcf490
MD5 6e2519c2414c75c930986f845a836837
BLAKE2b-256 5c0374045d5f3c491f42333174ce36c6a382894dd397eb40cf192da022642b5c

See more details on using hashes here.

File details

Details for the file neuflow-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: neuflow-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 52.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for neuflow-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 abeb8f81dc3db17c01fa365832ed3a3e04712413fb9f3b759d225bb488c8db5a
MD5 85c4fbbfe8709fe6e94965686a2d240b
BLAKE2b-256 84fbe907211dd7ff7371b23bf64856f4e88a65a3cb0319e747c7a3c945b952b6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page