File size: 2,349 Bytes
556e1af
 
 
 
 
 
 
 
 
 
56a1802
556e1af
 
56a1802
556e1af
2ce449d
 
 
 
56a1802
 
 
 
 
 
d105891
5162df9
d105891
238403e
3bdfc06
 
 
 
 
 
83d0971
 
3bdfc06
 
 
 
 
238403e
3bdfc06
 
 
83d0971
238403e
3bdfc06
 
 
 
5162df9
 
238403e
 
5162df9
 
 
 
83d0971
 
5162df9
 
 
238403e
5162df9
 
 
 
 
d6f6beb
 
 
 
 
 
5162df9
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
---
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 |