Releases: sixseven42/seismic-benchmark-code
Release list
seismic-benchmark-code
Release Highlights
This release focuses on evaluation reliability, visualization consistency, and training reproducibility across all four seismic restoration tasks:
- Interpolation
- Paired interpolation
- Coherent noise attenuation
- Residual coherent noise attenuation
1. Unified Visualization Scaling
All training and inference visualizations now use a shared symmetric color scale by default.
Previously, residual panels used independent adaptive scaling, which visually exaggerated small residual amplitudes and made direct comparison difficult. This release introduces:
- Global
vmin/vmaxsupport in visualization utilities - Shared scaling across input / prediction / target / residual panels
- Run-level fixed color scaling during inference
- Optional fallback to adaptive per-panel scaling (
share_scale=False)
Improvements
- Residual amplitudes are now physically comparable to reconstructed signals
- Figures from different shots within the same inference run are visually consistent
- Training and inference outputs are easier to interpret and analyze quantitatively
2. Shot-Level (FFID-Based) Dataset Splitting
A new shot-level train/validation/test splitting pipeline has been added to eliminate data leakage caused by patch-level random splitting.
The new workflow:
- Splits data by unique FFID (shot number)
- Applies deterministic sequential partitioning before patch extraction
- Patchifies each subset independently
- Supports distributed training and optional test-shot export
This feature is integrated into all four training pipelines and ensures:
- No overlap between train/val/test patches from the same shot gather
- Reproducible and deterministic dataset partitions
- More reliable validation and benchmark evaluation
Backward compatibility is preserved: existing configurations without shot_split continue using the legacy random patch split.
3. Automatic Best-Validation Checkpoint Saving
Training now automatically maintains a best.pt checkpoint corresponding to the lowest validation loss observed during training.
New functionality includes:
- Validation-aware checkpoint tracking
- Automatic overwrite when validation performance improves
- Preservation of model, optimizer, scheduler, and epoch states
This is now enabled in all four training scripts while keeping periodic epoch checkpoints unchanged.
Benefits
- Easier model selection after long training runs
- Safer recovery of optimal parameters
- Simplified downstream inference and evaluation workflows
while maintaining backward compatibility with existing training and inference configurations.