Skip to content

uber30/gruffset

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LOGO

GRUffset is a deep learning framework designed to detect offset events in 3-component GNSS time series data. It leverages a GRU-based architecture combined with an attention mechanism to accurately localize offsets.

In addition to the core model, the repository includes:

  • Tools for preprocessing and analyzing GNSS data, including offsets removal after detection;

  • Functions for generating realistic synthetic training data;

  • A simplified module containing wrap-ups of training and testing procedures;

  • Fine-tuning workflows using real data from IGS core stations;

  • Web-scraping scripts to fetch GNSS data directly from the Nevada Geodetic Laboratory;

GRUffset provides a complete pipeline from raw data to offset detection.

Project structure

This repository is organized as follows:

  • 📂 Model: model architecture and trained parameters;
  • 📂 asset: folder containing logo;
  • 📂 data: folder containing folders to store the datasets (instructions on how to download are provided) and data regarding best stations;
  • 📂 notebooks: set of jupyter notebooks to train and test the model on synthetic and real data;
  • 📂 scripts: set of python scripts used to web-scrape the data, sort and save them into json format;
  • 📂 utils: set of python scripts containing utility functions used in the notebooks, including wrap-ups of training and testing procedures;

Notebooks

The following notebooks are provided:

  • 📙 synthetic_data_modeling.ipynb: notebook consisting of functions to generate multicomponent synthetic GNSS time series along with the corresponding offsets;
  • 📙 synthetic_data_training.ipynb: notebook training and testing the model on synthetic data;
  • 📙 real_data_patchfinetuning.ipynb: notebook patching IGS core stations and fine-tuning the model on real data;
  • 📙 real_data_good_tests.ipynb: notebook testing the fine-tuned model on three clean data examples and removing the detected offsets from the time series;
  • 📙 real_data_random_tests.ipynb: notebook testing the fine-tuned model on random examples and removing the detected offsets from the time series;

Getting started 👾 🤖

To ensure reproducibility of the results, we suggest using the environment.yml file when creating an environment.

Simply run:

./install_env.sh

It will take some time, if at the end you see the word Done! on your terminal you are ready to go.

Remember to always activate the environment by typing:

conda activate gruffset

Disclaimer: All experiments have been carried on a Intel(R) Xeon(R) W-2245 CPU @ 3.90GHz equipped with a single NVIDIA Quadro RTX 4000 GPU. Different environment configurations may be required for different combinations of workstation and GPU.

Contact: For any feature requests or bug reports, please submit an issue in this GitHub repository with details or a minimal working example to replicate the bug. Suggestions for improvements are also welcome.

About

GRUffset: a deep learning framework for position offsets detection in multicomponent GNSS data. Works for any series-length.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages