tsfast

tsfast

Description

A deep learning library for time series analysis and system identification built on top of PyTorch & fastai.

tsfast is an open-source deep learning package that focuses on system identification and time series analysis tasks. Built on the foundations of PyTorch and fastai, it provides efficient implementations of various deep learning models and utilities.

Installation

You can install the latest stable version from pip using:

pip install tsfast

For development installation:

git clone https://github.com/daniel-om-weber/tsfast
pip install -e tsfast/.

Key Features

  • Deep Learning Models: Implementation of various architectures including:

    • RNN-based models (RNN, LSTM, GRU)
    • CNN-based models
    • Residual Networks
    • Separate RNN implementations
  • System Identification: Specialized tools and models for system identification tasks

  • Data Processing:

    • Efficient data loading and preprocessing
    • Time series specific transforms
    • Scalar normalization utilities
  • Training Utilities:

    • Custom learners for different model types
    • Specialized callbacks
    • Weight clipping functionality
    • Gradient flow visualization

Quick Start

To use tsfast in your notebooks, import the package:

from tsfast.basics import *

Documentation

For detailed documentation, visit our documentation site.

Key documentation sections: - Core Functions - Data Processing - Models - Learner API - Hyperparameter Optimization

Requirements

  • Python ≥ 3.9
  • fastai
  • PyTorch
  • sysbench_loader
  • matplotlib
  • ray[tune] (for hyperparameter optimization)

Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

License

This project is licensed under the Apache 2.0 License.

Citation

If you use tsfast in your research, please cite:

@Misc{tsfast,
author = {Daniel O.M. Weber},
title = {tsfast - A deep learning library for time series analysis and system identification},
howpublished = {Github},
year = {2024},
url = {https://github.com/daniel-om-weber/tsfast}
}