Getting Started
Minerva is a framework that provides tools and libraries for developing machine learning models, particularly for seismic and time-series processing, as well as self-supervised learning tasks. It also includes utilities for conducting reproducible experiments.
Built on top of PyTorch and PyTorch Lightning, Minerva is designed to be modular and extensible, allowing users to integrate and extend its functionalities with ease.
Once installed, Minerva functions like any other Python package. You can import its modules and classes as follows:
import minerva
Examples and Tutorials Notebooks
Check out some getting started notebooks that provide a step-by-step guide on how to use Minerva for different tasks at tutorials page
Core Modules
Minerva consists of several specialized modules, each supporting different aspects of model development:
Module |
Description |
---|---|
|
Tools for analyzing and visualizing model performance. |
|
Callbacks for monitoring and logging training progress (built on PyTorch Lightning). |
|
Readers, datasets, and data modules. |
|
Training and evaluation engines for pipelines and models. |
|
Collection of loss functions. |
|
Predefined models and architectures for supervised and self-supervised learning. For more details, check the minerva.models README.md. |
|
Custom optimizers and learning rate schedulers. |
|
Utilities for training and evaluating models in a reproducible manner. |
|
Custom data samplers to enable advanced sampling strategies during data loading. |
|
Data transformations and augmentations. |
|
General utility functions and helper classes. |
Minerva Design
Minerva is designed to be modular and extensible, allowing users to integrate and extend its functionalities with ease. Checkout the Minerva design to understand how Minerva is structured and how to extend it.
Also, minerva provides a powerful experimental framework that allows you to run experiments in a reproducible manner. The experimental framework is built on top of PyTorch Lightning and provides a set of tools to manage experiments, organize and log results, and evaluate model. You may refer to the Minerva experimental framework to understand how to use it.