architectures
Overview
The architectures subpackage provides a framework for defining, training, and retraining various neural network architectures tailored for biosignal processing. The package supports:
✔ Training from scratch and retraining with configurable hyperparameters.
✔ Model checkpointing & hyperparameter optimization via grid search with PyTorch Lightning.
✔ Integration with TensorBoard for visualization of training metrics.
Package Structure
- Architecture Class and related functions
- Definition of
Architectureclass, which is extended by all neural network models in the package. - Utility functions for checkpoint management, hyperparameter extraction, training and retraining, and testing.
- Definition of
- Biosignals Architectures
- Implements neural network architectures designed for biosignal processing tasks, including GRU-based models (e.g.,
GRUseq2seq,GRUEncoderDecoder) and Transformer-based models (Transformerseq2seq). These architectures are optimized for sequence modeling tasks such as signal denoising or timeseries classification.
- Implements neural network architectures designed for biosignal processing tasks, including GRU-based models (e.g.,
- Training and Deployment Workflow in NeuralLib
- Provides high-level functions for training and retraining models dynamically based on user-defined parameters.
upload_to_hugging: enables uploading trained models to Hugging Face for production.post_process_fn: contains post-processing utilities for handling predictions.
Hands on
Check Tutorials:
-
Tutorial #1: Train, retrain, and test a biosignals model.
Key methods:
train_from_scratch(),retrain()andtest_on_test_set() -
Tutorial #2: Hyperparameter optimization using grid search. Key methods:
run_grid_search,get_hparams_from_checkpoints,test_on_single_signal - Tutorial #3: Convert a trained model into a production-ready model.
Key method:
upload_production_model()
Best Practices
- Directory Management:
- Ensure checkpoint directories are accessible and writable.
- Dataset formatting:
- Ensure datasets are structured correctly: input (path_x) and output (path_y) each with ‘train’, ‘test’, and ‘val’ subfolders.
- (optional) Add the dataset directory to config.file
- biosignal datasets should be in .npy files: each signal in a separate file.
- Logging:
- Enable TensorBoard logging for detailed monitoring of training progress.