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:
- the NeRF-Synthetic is available at Hugging Face - nerf_synthetic.
- The PI-Neuflow dataset is available at Hugging Face - PI-NeuFlow.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
137b3034f2200a2accf81c65a0cb20b02ea052255878de4bb1331a33a9dcf490
|
|
| MD5 |
6e2519c2414c75c930986f845a836837
|
|
| BLAKE2b-256 |
5c0374045d5f3c491f42333174ce36c6a382894dd397eb40cf192da022642b5c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abeb8f81dc3db17c01fa365832ed3a3e04712413fb9f3b759d225bb488c8db5a
|
|
| MD5 |
85c4fbbfe8709fe6e94965686a2d240b
|
|
| BLAKE2b-256 |
84fbe907211dd7ff7371b23bf64856f4e88a65a3cb0319e747c7a3c945b952b6
|