crimeacs commited on
Commit
a952bec
·
1 Parent(s): 59e39ed

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +97 -0
README.md CHANGED
@@ -1,3 +1,100 @@
1
  ---
2
  license: apache-2.0
 
 
 
 
 
3
  ---
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
  license: apache-2.0
3
+ metrics:
4
+ - mae
5
+ tags:
6
+ - seismic
7
+ - earthquake
8
  ---
9
+
10
+ # Model Card for PhaseHunter
11
+
12
+ <!-- Provide a quick summary of what the model is/does. -->
13
+
14
+ ## Model Details
15
+
16
+ ### Model Description
17
+
18
+ <!-- Provide a longer summary of what this model is. -->
19
+ PhaseHunter is a state-of-the-art deep learning model designed for the precise estimation and uncertainty quantification of seismic phase onset times. The tool is especially valuable in seismology, assisting in the accurate identification of P and S wave arrival times in seismic data, which is critical for earthquake detection and characterization.
20
+
21
+
22
+
23
+ - **Developed by:** Artemii Novoselov
24
+ - **Model type:** Deep Learning, Seismic Data Analysis
25
+ - **License:** Apache-2.0
26
+
27
+
28
+ ## Uses
29
+
30
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
31
+
32
+ PhaseHunter is primarily used in seismic data analysis for detecting the arrival times of P and S waves, which are crucial in earthquake studies. It is suited for both academic and industrial research settings where accurate and efficient seismic phase picking is required. The tool's capacity for uncertainty quantification adds a layer of reliability to the analysis.
33
+
34
+ ### Direct Use
35
+
36
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
37
+
38
+ PhaseHunter can be directly applied to raw seismic data to identify the precise onset times of seismic phases. This functionality is particularly beneficial for seismologists and researchers who are analyzing seismic events and require accurate phase picking.
39
+
40
+
41
+ ### Out-of-Scope Use
42
+
43
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
44
+
45
+ PhaseHunter is specifically designed for seismic data analysis and may not be suitable for other types of time-series data analysis or applications outside seismology.
46
+
47
+
48
+ ## Bias, Risks, and Limitations
49
+
50
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
51
+
52
+ The performance of PhaseHunter is dependent on the quality and characteristics of the input seismic data. As such, it may not perform optimally on low-quality or noisy data. Users should be aware of these limitations and consider preprocessing steps to enhance data quality where necessary.
53
+
54
+ ### Recommendations
55
+
56
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
57
+
58
+ Users are advised to familiarize themselves with the characteristics of seismic data and the specific requirements of PhaseHunter for optimal performance. It is also recommended to consult the accompanying documentation and literature for a deeper understanding of the tool's capabilities and limitations.
59
+
60
+ ## How to Get Started with the Model
61
+
62
+ PhaseHunter is designed to be straightforward to use, even for those new to seismic data processing. Here's a step-by-step guide:
63
+
64
+ 1. Load the Pre-trained Model:
65
+ First, import PhaseHunter
66
+ ```python
67
+ import torch
68
+ from phasehunter.model import PhaseHunter
69
+ ```
70
+
71
+ Then load the pre-trained PhaseHunter model from a checkpoint (if on Linux):
72
+
73
+ ```python
74
+ # Auto select device, note that PhaseHunter works best on GPU
75
+ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
76
+
77
+ model = PhaseHunter.load_from_checkpoint('ckpts/30s_STEAD_decay-epoch=196.ckpt')
78
+ model = model.eval().to(device)
79
+ ```
80
+
81
+ At this time, 2 pre-trained models are available:
82
+
83
+ * `ckpts/30s_STEAD_decay-epoch=196.ckpt` - 30s version of PhaseHunter trained on STEAD dataset for 200 epochs
84
+ * `ckpts/30s_ETHZ_decay-epoch=187.ckpt` - 30s version of PhaseHunter trained on ETHZ dataset for 200 epochs
85
+
86
+ 2. Download or use your own waveform data, e.g.:
87
+
88
+ ```python
89
+ from obspy import read
90
+ st = read('path_to_your_waveform_data')
91
+ predictions = model.process_continuous_waveform(st)
92
+ print(predictions)
93
+ ```
94
+
95
+ `process_continuous_waveform` works with 3 channel Obspy streams of any length
96
+
97
+ ## For a more comprehansive tutorial try PhaseHunter in Google Colab
98
+ <a target="_blank" href="https://colab.research.google.com/github/crimeacs/PhaseHunter/blob/main/notebooks/PhaseHunter_intro.ipynb">
99
+ <img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"/>
100
+ </a>