a deep learning experimentation framework for seismic data.
Created to fullful of research practicum for Masters in Artificial Intelligence @ Northwestern University. Advised by Suzan van der Lee.
The main goal of this project is to explore a project structure that allowed for rapid experimentation, with hyperparameter reporting for use by seismology researchers.
The codebase includes a reproduction and generalization of the paper Automating the Detection of Dynamically Triggered Earthquakes via a Deep Metric Learning Algorithm. The goal was to extend the research the research to dynamically triggered tremors. In addition, explored new experiments using the dataset introduced Generalized Seismic Phase Detection with Deep Learning and unsupervised deep clustering with data from SEIS, a seismic instrument deployed as part of the InSight Mars lander, in an attempt to automate Martian seismic event classification.
Developing a baseline phase detection experiment using work and data from the paper Generalized Seismic Phase Detection with Deep Learning. • Experimented with unsupervised deep clustering with data from SEIS, a seismic instrument deployed as part of the InSight Mars lander, in an attempt to automate Martian seismic event classification.
experiments/
- the directory that contains code specific to a experiment utilizing seisml components.
- This includes, model training code, inference and hyperparameter configuration
playground/
- A place for experiments in progress, example code, data exploration, etc.
seisml
- The root directory for the framework (python package)
core
- contains universal components
transforms
- model after transforms in
torchvision
, used for preprocessing steps before feeding data into a model
- model after transforms in
datasets
- build in Pytorch datasets for use in experiments
metrics
- calculations modeling
networks
- custom Pytorch models
utility
- universal helper methods
tests
- Pytest unit tests for seiml code. These test run in continuous integration and utilize limited resources
tests-non-ci
- Pytest test that are more specific to experiement debugging. Not intended for continuous integration because of the amount of resources used.
environment.yml
- conda environment file for CI and use
- clone the repository and
cd
to root - create a new Anaconda environment
conda create env -f environment.yml
- run a experiments following the
README.md
found in the specific experiment directory.
The inspiration and starting codebase for this model is from the Seismological Research Letters paper Automating the Detection of Dynamically Triggered Earthquakes via a Deep Metric Learning Algorithm (original codebase).
- Steps to reproducing this paper can be found here.