SeisBench is an open-source Python toolbox for machine learning in seismology. It brings together the whole machine learning model lifecycle: datasets and benchmarks, models and training pipelines, and efficient implementations for deploying the models in production.
The Seismology Benchmark collection (SeisBench) is an open-source python toolbox for
machine learning in seismology. It provides a unified API for accessing seismic datasets and both training and applying machine learning algorithms to seismic data. SeisBench has been built to reduce the overhead when applying or developing machine learning techniques for seismological tasks.
To get started, try one of our example notebooks. For more detailed information on SeisBench check out the SeisBench documentation
The SeisBench data
module provides everything around data management.
This includes a common data format, tools to compile datasets in this format, and pre-compiled benchmark datasets that are hosted in the SeisBench repository.
Each dataset consists of two parts, the metadata and associated seismic waveforms. Waveforms are modeled as dataframes and are flexible in terms of their columns. Here is an example metadata for a dataset.
To each row in the metadata, there is an associated waveform. Here is an example three-component waveform trace.
Internally, waveforms are stored in hdf5-files. This allows managing large quantities of data while at the same time achieving high throughput rates for the training of deep learning models.
For further details, check the dataset basics notebook or the creating a dataset notebook .
The SeisBench model
module contains a wide variety of deep learning models for processing seismic waveforms, for example, for event detection, phase picking, denoising and depth estimation.
To efficiently train these models, SeisBench offers custom, modular training pipelines with the generate
module.
These convert the data from the datasets into the input format for each model, provide the correct label format and can also facilitate data augmentation.
Here's an example of a simple generator pipeline.
For more details, check out the notebook on generator pipelines . To learn how to train a deep learning model from scratch using SeisBench datasets and generator pipelines, try the training phasenet notebook .
SeisBench bridges the gap between deep learning developers and seismological practitioners by allowing easy deployment of SeisBench models. To this end, SeisBench comes with a large collection of pretrained models and with a unified interface for all models. This interface allows to directly apply the models to all common data formats of seismic data. Here is an example showing the waveforms of an earthquake in Chile together with the predictions from PhaseNet implemented in SeisBench.
This example notebook provides details on how to deploy trained SeisBench models.
SeisBench can also be integrated into larger event detection pipelines. The notebook on creating a seismicity catalog walks users through the steps of phase picking and association on the challenging 2014 Iquique earthquake sequence in Northern Chile. This workflow allows to compile highly complete earthquake catalogs as visualised below.
Woollam, J., Münchmeyer, J., Tilmann, F., Rietbrock, A., Lange, D., Bornstein, T., ... & Soto, H. (2022). SeisBench—A toolbox for machine learning in seismology. Seismological Research Letters, 93(3), 1695-1709. https://doi.org/10.1785/0220210324
Reference publication for software.
Münchmeyer, J., Woollam, J., Rietbrock, A., Tilmann, F., Lange, D., Bornstein, T., ... & Soto, H. (2022). Which picker fits my data? A quantitative evaluation of deep learning based seismic pickers. Journal of Geophysical Research: Solid Earth, 127(1), e2021JB023499.
https://doi.org/10.1029/2021JB023499
Example of in-depth bencharking study of deep learning-based picking routines using the SeisBench framework.
The initial version of SeisBench has been developed at GFZ Potsdam and KIT with funding from Helmholtz AI. The SeisBench repository is hosted by HIFIS - Helmholtz Federated IT Services.
Democratizing AI