Platform for running and training AI models for Seismology
TODO add short description of the purpose of the platform
Running AI models
On Episodes Platform
TODO write a simple guide
On user local machines or HPC clusters
The AI tools are available as an ordinary Python packages. We recommend for installation to use Anaconda or Mambaforge, but it should be possible to use any other Python installations or distributions.
Mambaforge installation
Mambaforge is a Python distribution based on Conda. This is a preferred way to run scripts and notebooks distributed on our Platform. It is possible to install and run on other python distributions, but we provide support only for Mambaforge/Anaconda.
The installation starts with downloading the Mambaforge binary from the official project site for your platform. Then follow the instructions in the official guide.
We prepared a Conda environment with all the AI tools installed. To create the environment please:
- Download the
epos-ai-tools.yml
from our repository. - If necessary activate the Mambaforge environment.
Run the installation
mamba env create -f epos-ai-tools.yml
Then to activate the environment it is necessary to run for each new shell session:
conda activate epos-ai-tools
To check if you have enabled the environment correctly you should see the name of the environment in the shell prompt.
Available Tools
The installation comes with the following applications:
- gpd_tool - an application for automatic detection of the first arrival time of the P and S waves based on Generalized Seismic Phase Detection with Deep Learning by Ross, Z. E., Meier, M.-A., Hauksson, E., and T. H. Heaton (2018)
- phasenet_tool - an application for automatic detection of the first arrival time of the P and S waves based on PhaseNet: a deep-neural-network-based seismic arrival-time picking method by Zhu, W., & Beroza, G. C. (2019)
and official packages such as:
- Seisbench - an open-source python toolbox for machine learning in seismology,
- ObsPy - an open-source project dedicated to provide a Python framework for processing seismological data,
- Jupyter Notebook and JupyterLab - a web services for interactive computing,
- IPython - a powerful interactive shell,
- PyTorch - an optimized tensor library for deep learning using GPUs and CPUs
Training AI models
Our Platform supports the user with training their own weights for predefined models and even to create their own models. In the first case this could help to improve the quality of the model by training in on data coming from a particular seismic networks (see e.g. Johnson et al. 2021).
To start with training we recommend to use the our HPC clusters which provide enough computing power and access to GPU. The prerequisites are following:
- Active account on PLGrid Portal. To create an account see the official guide available in English and Polish.
- Apply for an computing grant.
Acknowledgements
The development of the EPOS AI platform and its integration with the EPISODES Platform was partially funded by the EPOS-PL+ project (No POIR.04.02.00-00-C005/19-00), co-financed by the European Union from the funds of the European Regional Development Fund (ERDF).
<TODO: Można tu dodać też jakieś credits, jeśli potrzebujemy odnośniki do W&B albo innych rzeczy>