File size: 5,801 Bytes
8c81eb3 |
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 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
---
license: mit
---
# Full-Volume Inference without Performance Degradation
### π Paper Title
**Memory-Efficient Full-Volume Inference for Large-Scale 3D Dense Prediction without Performance Degradation** in **Communications Engineering** (2025) by Jintao Li and Xinming Wu
This work introduces a scalable inference framework that enables **whole-volume 3D prediction without accuracy loss**, even on extremely large seismic datasets.
The approach restructures high-memory operators during inference only (no retraining required), allowing models to process volumes up to `1024Β³` directly on modern GPUs.
The method is particularly useful for seismic interpretation tasks such as fault detection, RGT estimation, implicit structural modeling, and geological feature segmentation.
Homepage: [https://github.com/JintaoLee-Roger/torchseis](https://github.com/JintaoLee-Roger/torchseis)
---
## π Key Features
β **Retraining-free**: works with existing pretrained models
β **Whole-volume inference**: no ghost boundaries or stitching artifacts
β **Memory-efficient**: reduces decoder/stem memory footprint
β **Faster runtime**: avoids slow CuDNN kernel fallback
β **Operator-level optimization**: convolution, interpolation, and normalization
---
## π Basic Usage
Below is an example using `FaultSeg3D` under the TorchSeis framework:
```python
import torch
from torchseis import models as zoo
# 1. Load model
model = zoo.FaultSeg3d()
# 2. Load pretrained weights
state = torch.load('faultseg3d-2020-70.pth', weights_only=True)
model.load_state_dict(state)
# 3. Convert to GPU
model = model.half().eval().cuda()
# 4. Prepare input volume
data = torch.from_numpy(f3d[np.newaxis, np.newaxis].copy()).half().cuda()
# 5. Full-volume inference (no tiling)
with torch.no_grad():
pred = model(data, rank=3).cpu().numpy()
```
> `rank=3` means that using strategy 4 in the paper.
---
## π§ Model Zoo Compatibility
The full-volume inference method is compatible with the following TorchSeis models, which are available in the [torchseis-efficiency-infer](https://huggingface.co/shallowclose/torchseis-efficiency-infer) on **Hugging Face Hub**. Besides, these models can also be accessed via **Baidu Netdisk**:
ιθΏη½ηεδΊ«ηζδ»ΆοΌtorchseis-efficiency-infer
ιΎζ₯: [https://pan.baidu.com/s/1ygUPYIO0S1AvsU4-IMz4pg?pwd=y7cn](https://pan.baidu.com/s/1ygUPYIO0S1AvsU4-IMz4pg?pwd=y7cn) ζεη : y7cn
| Model | Task | Source |
| ---------------- | ---------------------------------------------- | ---------------- |
| `FaultSeg3d` | Fault segmentation | [Wu, et, al., 2019, Geophysics](https://library.seg.org/doi/abs/10.1190/geo2018-0646.1) |
| `FaultSeg3dPlus` | Fault segmentation | [Li, et, al., 2024, Geophysics](https://library.seg.org/doi/abs/10.1190/geo2022-0778.1) |
| `FaultSSL` | Fault segmentation | [Dou, et, al., 2024, Geophysics](https://library.seg.org/doi/abs/10.1190/geo2023-0550.1) |
| `Bi21RGT3d` | Relative geological time (RGT) Estimation | [Bi, et, al., 2021, JGR-SE](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2021JB021882) |
| `DeepISMNet` | Implicit structural modeling | [Bi, et, al., 2022, GMD](https://gmd.copernicus.org/articles/15/6841/2022/) |
| `ChannelSeg3d` | Channel segmentation | [Gao, et, al., 2021, Geophysics](https://library.seg.org/doi/abs/10.1190/geo2020-0572.1) |
| `Wang25Channel` | Channel segmentation | [Wang, et, al., 2025, ESSD](https://essd.copernicus.org/articles/17/3447/2025) |
| `KarstSeg3d` | Paleokarst detection | [Wu, et, al., 2020, JGR-SE](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2020JB019685) |
| ~`GEM`~[^1] | ~Geological Everything Model~ | [Dou, et, al. 2025](https://arxiv.org/abs/2507.00419) |
| ~`SegFormer3D`~[^2] | ~3D medical segmentation (Transformer)~ | [Perera, et, al., 2025, CVPR](https://arxiv.org/abs/2404.10156) |
---
[^1]: **`GEM` Model Note:** The paper is currently under peer review. We will await the official release of the model weights by the authors before considering distribution.
[^2]: **`SegFormer3D` Model Note:** As the code variables were not changed, users are advised to use the original author's weights directly. We are uncertain about the rights to redistribute these weight files.
---
## π Results Summary
The performance evaluations, visual comparisons, and numerical errors reported in our Communications Engineering (2025) paper are fully reproducible.
All plotting scripts and evaluation utilities can be found under `scripts/infer25ce/` in the repository: [torchseisJintaoLee-Roger/torchseis](https://github.com/JintaoLee-Roger/torchseis).
This directory contains:
- **Fig. 3** β Runtime and memory usage comparisons across models
- **Fig. S1** β Runtime and memory usage comparisons across models
- **Table S1** β Numerical error statistics (full vs. chunked inference)
The raw files used to compose Figure 5 is on the zenodo: [https://doi.org/10.5281/zenodo.17810071](https://doi.org/10.5281/zenodo.17810071)
---
## π Citation
If this work or the inference strategy is used in your research, please cite:
```bibtex
@article{li2025infer,
title={Memory-Efficient Full-Volume Inference for Large-Scale 3D Dense Prediction without Performance Degradation},
author={Li, Jintao and Wu, Xinming},
journal={Communications Engineering},
year={2025}
}
```
---
For questions or contributions, please submit an issue or pull request via the main repository. |