saii-cldm-synthetic / README.md
mally-2000's picture
Make SAII-CLDM the default pipeline
238403e verified
---
library_name: diffusers
pipeline_tag: image-to-image
tags:
- seismic-inversion
- impedance-inversion
- diffusion
- ddpm
- cldm
- overthrust
- synthetic-data
---
# SAII-CLDM Synthetic Weights
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/GeoAI-INV/SAII-CLDM/blob/main/SAII_CLDM_Colab_Demo.ipynb)
> **Quick Start**: Click the badge above to run directly in Google Colab (no setup required).
Pretrained synthetic-data model weights for SAII-CLDM in Diffusers format. This
repository corresponds to the synthetic-data experiments in the paper. The
field-data model was trained separately and is not included here.
Full project code: [GeoAI-INV/SAII-CLDM](https://github.com/GeoAI-INV/SAII-CLDM)
Paper: [arXiv:2506.13529](https://arxiv.org/html/2506.13529v1)
## Load From Hugging Face
Default pipeline: SAII-CLDM.
```python
import torch
from diffusers import DiffusionPipeline
pipe = DiffusionPipeline.from_pretrained(
"mally-2000/saii-cldm-synthetic",
custom_pipeline="mally-2000/saii-cldm-synthetic",
torch_dtype=torch.float32,
trust_remote_code=True,
).to("cuda")
```
SAII-LDDPM is also provided as a baseline:
```python
pipe = DiffusionPipeline.from_pretrained(
"mally-2000/saii-cldm-synthetic",
custom_pipeline="pipeline_lddpm",
torch_dtype=torch.float32,
trust_remote_code=True,
).to("cuda")
```
The inference algorithms are implemented in `codes/pipeline.py`. The root
`pipeline.py`, `pipeline_cldm.py`, and `pipeline_lddpm.py` files are thin entry
points used by Diffusers remote loading.
## Run The Bundled Demo
```bash
git clone https://huggingface.co/mally-2000/saii-cldm-synthetic
cd saii-cldm-synthetic
pip install -r requirements.txt
python infer.py CLDM # SAII-CLDM
python infer.py # SAII-LDDPM baseline
```
`infer.py` uses the bundled Overthrust sample and writes outputs under
`outputs/infer_LDDPM/` or `outputs/infer_CLDM/`.
Add `--eval` to run the full bundled Overthrust evaluation:
```bash
python infer.py CLDM --eval
```
## Overthrust Results
Impedance-domain metrics on the bundled Overthrust setting:
| Method | Steps | PSNR | SSIM | PCC | RRE |
|---|---:|---:|---:|---:|---:|
| SAII-LDDPM | 1000 | 33.4413 | 0.9554 | 0.9957 | 0.0324 |
| SAII-CLDM | 30 | 33.1312 | 0.9494 | 0.9950 | 0.0342 |