eqcctpro 0.3__py3-none-any.whl → 0.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of eqcctpro might be problematic. Click here for more details.
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
|
+
Name: eqcctpro
|
|
3
|
+
Version: 0.4
|
|
4
|
+
Description-Content-Type: text/markdown
|
|
5
|
+
Requires-Dist: numpy==1.26.4
|
|
6
|
+
Requires-Dist: pandas==2.2.3
|
|
7
|
+
Requires-Dist: matplotlib==3.10.0
|
|
8
|
+
Requires-Dist: obspy==1.4.1
|
|
9
|
+
Requires-Dist: progress==1.6
|
|
10
|
+
Requires-Dist: psutil==6.1.1
|
|
11
|
+
Requires-Dist: ray==2.42.1
|
|
12
|
+
Requires-Dist: schedule==1.2.2
|
|
13
|
+
Requires-Dist: sdnotify==0.3.2
|
|
14
|
+
Requires-Dist: tensorflow==2.15.1
|
|
15
|
+
Requires-Dist: tensorflow-estimator==2.15.0
|
|
16
|
+
Requires-Dist: tensorflow-io-gcs-filesystem==0.37.1
|
|
17
|
+
Requires-Dist: tensorboard==2.15.2
|
|
18
|
+
Requires-Dist: tensorboard-data-server==0.7.2
|
|
19
|
+
Requires-Dist: silence-tensorflow==1.2.3
|
|
20
|
+
Requires-Dist: scipy==1.15.1
|
|
21
|
+
Requires-Dist: protobuf==4.25.6
|
|
22
|
+
Requires-Dist: grpcio==1.70.0
|
|
23
|
+
Requires-Dist: absl-py==2.1.0
|
|
24
|
+
Requires-Dist: h5py==3.12.1
|
|
25
|
+
Requires-Dist: pynvml==12.0.0
|
|
26
|
+
Dynamic: description
|
|
27
|
+
Dynamic: description-content-type
|
|
28
|
+
Dynamic: requires-dist
|
|
29
|
+
|
|
30
|
+
# EQCCTPro: powerful seismic event detection toolkit
|
|
31
|
+
|
|
32
|
+
EQCCTPro is a machine-learning based seismic event detection and processing framework designed for efficient execution on CPU and GPU architectures. It leverages machine learning models to analyze mSEED seismic data files and optimize computational resources based on the system's configuration.
|
|
33
|
+
|
|
34
|
+
## Features
|
|
35
|
+
- Supports both CPU and GPU execution
|
|
36
|
+
- Configurable parallelism for optimized performance
|
|
37
|
+
- Automatic selection of best-use-case configurations
|
|
38
|
+
- Efficient handling of large-scale seismic data
|
|
39
|
+
- Includes tools for evaluating system performance
|
|
40
|
+
|
|
41
|
+
## Installation
|
|
42
|
+
To install the necessary dependencies, create a conda environment using:
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
conda env create -f environment.yml
|
|
46
|
+
conda activate eqcctpro
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Usage
|
|
50
|
+
|
|
51
|
+
### Running EQCCTPro
|
|
52
|
+
To run EQCCTPro with a specified mSEED input directory and output directory:
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
from eqcctpro import EQCCTMSeedRunner
|
|
56
|
+
|
|
57
|
+
eqcct_runner = EQCCTMSeedRunner(
|
|
58
|
+
use_gpu=True,
|
|
59
|
+
intra_threads=1,
|
|
60
|
+
inter_threads=1,
|
|
61
|
+
cpu_id_list=[0,1,2,3,4],
|
|
62
|
+
input_dir='/path/to/mseed',
|
|
63
|
+
output_dir='/path/to/outputs',
|
|
64
|
+
log_filepath='/path/to/outputs/eqcctpro.log',
|
|
65
|
+
P_threshold=0.001,
|
|
66
|
+
S_threshold=0.02,
|
|
67
|
+
p_model_filepath='/path/to/model_p.h5',
|
|
68
|
+
s_model_filepath='/path/to/model_s.h5',
|
|
69
|
+
number_of_concurrent_predictions=5,
|
|
70
|
+
best_usecase_config=True,
|
|
71
|
+
csv_dir='/path/to/csv',
|
|
72
|
+
selected_gpus=[0],
|
|
73
|
+
set_vram_mb=24750,
|
|
74
|
+
specific_stations='AT01, BP01, DG05'
|
|
75
|
+
)
|
|
76
|
+
eqcct_runner.run_eqcctpro()
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Evaluating System Performance
|
|
80
|
+
To evaluate the system’s GPU performance:
|
|
81
|
+
|
|
82
|
+
```python
|
|
83
|
+
from eqcctpro import EvaluateSystem
|
|
84
|
+
|
|
85
|
+
eval_gpu = EvaluateSystem(
|
|
86
|
+
mode='gpu',
|
|
87
|
+
intra_threads=1,
|
|
88
|
+
inter_threads=1,
|
|
89
|
+
input_dir='/path/to/mseed',
|
|
90
|
+
output_dir='/path/to/outputs',
|
|
91
|
+
log_filepath='/path/to/outputs/eqcctpro.log',
|
|
92
|
+
csv_dir='/path/to/csv',
|
|
93
|
+
P_threshold=0.001,
|
|
94
|
+
S_threshold=0.02,
|
|
95
|
+
p_model_filepath='/path/to/model_p.h5',
|
|
96
|
+
s_model_filepath='/path/to/model_s.h5',
|
|
97
|
+
stations2use=2,
|
|
98
|
+
cpu_id_list=[0,1],
|
|
99
|
+
set_vram_mb=24750,
|
|
100
|
+
selected_gpus=[0]
|
|
101
|
+
)
|
|
102
|
+
eval_gpu.evaluate()
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Finding Optimal CPU/GPU Configurations
|
|
106
|
+
To determine the best CPU or GPU configuration:
|
|
107
|
+
|
|
108
|
+
```python
|
|
109
|
+
from eqcctpro import OptimalCPUConfigurationFinder, OptimalGPUConfigurationFinder
|
|
110
|
+
|
|
111
|
+
csv_filepath = '/path/to/csv'
|
|
112
|
+
|
|
113
|
+
cpu_finder = OptimalCPUConfigurationFinder(csv_filepath)
|
|
114
|
+
best_cpu_config = cpu_finder.find_best_overall_usecase()
|
|
115
|
+
print(best_cpu_config)
|
|
116
|
+
|
|
117
|
+
optimal_cpu_config = cpu_finder.find_optimal_for(cpu=3, station_count=2)
|
|
118
|
+
print(optimal_cpu_config)
|
|
119
|
+
|
|
120
|
+
gpu_finder = OptimalGPUConfigurationFinder(csv_filepath)
|
|
121
|
+
best_gpu_config = gpu_finder.find_best_overall_usecase()
|
|
122
|
+
print(best_gpu_config)
|
|
123
|
+
|
|
124
|
+
optimal_gpu_config = gpu_finder.find_optimal_for(num_cpus=1, gpu_list=[0], station_count=1)
|
|
125
|
+
print(optimal_gpu_config)
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Configuration
|
|
129
|
+
The `environment.yml` file specifies the dependencies required to run EQCCTPro. Ensure you have the correct versions installed by using the provided conda environment setup.
|
|
130
|
+
|
|
131
|
+
## License
|
|
132
|
+
EQCCTPro is provided under an open-source license. See LICENSE for details.
|
|
133
|
+
|
|
134
|
+
## Contact
|
|
135
|
+
For inquiries or issues, please contact [your email or organization link].
|
|
136
|
+
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
eqcctpro/__init__.py,sha256=JK27ZrLxVDNHsdorp7UAislI8haH23rZhnEivVM7hgA,141
|
|
2
|
+
eqcctpro/eqcctpro.py,sha256=Kh7F6CYtVdpbEtgdwu-Fnm8A9DotcWryyZ9gVHHlk1w,2699
|
|
3
|
+
eqcctpro-0.4.dist-info/METADATA,sha256=IigNNSIWSDErTybS28D8y86c2AvBtcwJCLy3D8s0EAA,4073
|
|
4
|
+
eqcctpro-0.4.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
5
|
+
eqcctpro-0.4.dist-info/top_level.txt,sha256=u0cu2JdF7Z0ob7y4XdUCLoSGp_xOudAYz-fbsQ-B1yY,9
|
|
6
|
+
eqcctpro-0.4.dist-info/RECORD,,
|
eqcctpro-0.3.dist-info/METADATA
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.2
|
|
2
|
-
Name: eqcctpro
|
|
3
|
-
Version: 0.3
|
|
4
|
-
Requires-Dist: numpy==1.26.4
|
|
5
|
-
Requires-Dist: pandas==2.2.3
|
|
6
|
-
Requires-Dist: matplotlib==3.10.0
|
|
7
|
-
Requires-Dist: obspy==1.4.1
|
|
8
|
-
Requires-Dist: progress==1.6
|
|
9
|
-
Requires-Dist: psutil==6.1.1
|
|
10
|
-
Requires-Dist: ray==2.42.1
|
|
11
|
-
Requires-Dist: schedule==1.2.2
|
|
12
|
-
Requires-Dist: sdnotify==0.3.2
|
|
13
|
-
Requires-Dist: tensorflow==2.15.1
|
|
14
|
-
Requires-Dist: tensorflow-estimator==2.15.0
|
|
15
|
-
Requires-Dist: tensorflow-io-gcs-filesystem==0.37.1
|
|
16
|
-
Requires-Dist: tensorboard==2.15.2
|
|
17
|
-
Requires-Dist: tensorboard-data-server==0.7.2
|
|
18
|
-
Requires-Dist: silence-tensorflow==1.2.3
|
|
19
|
-
Requires-Dist: scipy==1.15.1
|
|
20
|
-
Requires-Dist: protobuf==4.25.6
|
|
21
|
-
Requires-Dist: grpcio==1.70.0
|
|
22
|
-
Requires-Dist: absl-py==2.1.0
|
|
23
|
-
Requires-Dist: h5py==3.12.1
|
|
24
|
-
Requires-Dist: pynvml==12.0.0
|
|
25
|
-
Dynamic: requires-dist
|
eqcctpro-0.3.dist-info/RECORD
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
eqcctpro/__init__.py,sha256=JK27ZrLxVDNHsdorp7UAislI8haH23rZhnEivVM7hgA,141
|
|
2
|
-
eqcctpro/eqcctpro.py,sha256=Kh7F6CYtVdpbEtgdwu-Fnm8A9DotcWryyZ9gVHHlk1w,2699
|
|
3
|
-
eqcctpro-0.3.dist-info/METADATA,sha256=GVHmz2X3YXPjJarsUmXYCAAJSooVek30eHUbyA0Wpt4,771
|
|
4
|
-
eqcctpro-0.3.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
|
5
|
-
eqcctpro-0.3.dist-info/top_level.txt,sha256=u0cu2JdF7Z0ob7y4XdUCLoSGp_xOudAYz-fbsQ-B1yY,9
|
|
6
|
-
eqcctpro-0.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|