No project description provided
Project description
EQCCTPro: powerful seismic event detection toolkit
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.
Features
- Supports both CPU and GPU execution
- Configurable parallelism for optimized performance
- Automatic selection of best-use-case configurations
- Efficient handling of large-scale seismic data
- Includes tools for evaluating system performance
Installation
To install the necessary dependencies, create a conda environment using:
conda env create -f environment.yml
conda activate eqcctpro
Usage
Running EQCCTPro
To run EQCCTPro with a specified mSEED input directory and output directory:
from eqcctpro import EQCCTMSeedRunner
eqcct_runner = EQCCTMSeedRunner(
use_gpu=True,
intra_threads=1,
inter_threads=1,
cpu_id_list=[0,1,2,3,4],
input_dir='/path/to/mseed',
output_dir='/path/to/outputs',
log_filepath='/path/to/outputs/eqcctpro.log',
P_threshold=0.001,
S_threshold=0.02,
p_model_filepath='/path/to/model_p.h5',
s_model_filepath='/path/to/model_s.h5',
number_of_concurrent_predictions=5,
best_usecase_config=True,
csv_dir='/path/to/csv',
selected_gpus=[0],
set_vram_mb=24750,
specific_stations='AT01, BP01, DG05'
)
eqcct_runner.run_eqcctpro()
Evaluating System Performance
To evaluate the system’s GPU performance:
from eqcctpro import EvaluateSystem
eval_gpu = EvaluateSystem(
mode='gpu',
intra_threads=1,
inter_threads=1,
input_dir='/path/to/mseed',
output_dir='/path/to/outputs',
log_filepath='/path/to/outputs/eqcctpro.log',
csv_dir='/path/to/csv',
P_threshold=0.001,
S_threshold=0.02,
p_model_filepath='/path/to/model_p.h5',
s_model_filepath='/path/to/model_s.h5',
stations2use=2,
cpu_id_list=[0,1],
set_vram_mb=24750,
selected_gpus=[0]
)
eval_gpu.evaluate()
Finding Optimal CPU/GPU Configurations
To determine the best CPU or GPU configuration:
from eqcctpro import OptimalCPUConfigurationFinder, OptimalGPUConfigurationFinder
csv_filepath = '/path/to/csv'
cpu_finder = OptimalCPUConfigurationFinder(csv_filepath)
best_cpu_config = cpu_finder.find_best_overall_usecase()
print(best_cpu_config)
optimal_cpu_config = cpu_finder.find_optimal_for(cpu=3, station_count=2)
print(optimal_cpu_config)
gpu_finder = OptimalGPUConfigurationFinder(csv_filepath)
best_gpu_config = gpu_finder.find_best_overall_usecase()
print(best_gpu_config)
optimal_gpu_config = gpu_finder.find_optimal_for(num_cpus=1, gpu_list=[0], station_count=1)
print(optimal_gpu_config)
Configuration
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.
License
EQCCTPro is provided under an open-source license. See LICENSE for details.
Contact
For inquiries or issues, please contact [your email or organization link].
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file eqcctpro-0.4.tar.gz.
File metadata
- Download URL: eqcctpro-0.4.tar.gz
- Upload date:
- Size: 3.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d5043acdcbdc43842b19bd77d17bc92612edc989020ed6f66fc9aab007ca9ac
|
|
| MD5 |
67849e399b498e0512710389c9a9ff2d
|
|
| BLAKE2b-256 |
536b74b4bdd67cc45fa65bbd532e2db106ea87bc99c43b8cfee359b53d690b5f
|
File details
Details for the file eqcctpro-0.4-py3-none-any.whl.
File metadata
- Download URL: eqcctpro-0.4-py3-none-any.whl
- Upload date:
- Size: 3.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6c0eb00d41a1131d9f8b1ff921b1a80e381d40532e111919e341add5d3f4978
|
|
| MD5 |
47a2159cf9ac5d2be230915f6debd56b
|
|
| BLAKE2b-256 |
1320e8452b38ccb994b8cd681d920a3d8b527d833096edbfd48fe59cd01f11ce
|