Skip to content

A pytorch framework for building deep learning models with seismic data

Notifications You must be signed in to change notification settings

blainerothrock/seisml

Repository files navigation

SeisML

Test codecov

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.

Active Experiments

Supported Models

Datasets

Repo Structure

  • 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
    • 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

Installation

  • 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.

Inspiration

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.

About

A pytorch framework for building deep learning models with seismic data

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published