https://github.com/daniel-om-weber/tsfast

https://github.com/daniel-om-weber/tsfast

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation

Repository

Basic Info
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 1
  • Open Issues: 3
  • Releases: 0
Created about 6 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License

README.md

tsfast logo

TSFast

PyPI
version License: Apache
2.0 Docs
Status Python
Versions

Description

tsfast is an open-source deep learning library for time series analysis and system identification tasks. Built on PyTorch & fastai, it offers efficient deep learning models and utilities.

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.

Key Features

  • Specialized Data Handling for Time Series:
    • Employs SequenceBlock (built on fastai.TransformBlock) for robust sequence data processing pipelines.
    • Includes a range of transforms tailored for sequences, such as SeqSlice, SeqNoiseInjection, and Normalize adapted for time series tensors.
    • Features advanced data loading with TbpttDl (for Truncated Backpropagation Through Time), and factories for WeightedDL and BatchLimitDL.
  • Predefined Datasets & Helpers: Offers easy-to-use benchmark datasets (e.g., create_dls_silverbox from identibench) for rapid prototyping and experimentation.
  • Tailored Time Series Models: Provides implementations of Recurrent Neural Networks (RNNs, including DenseNet_RNN, ResidualBlock_RNN), Convolutional Neural Networks (TCNs, CausalConv1d), and combined architectures (CRNN, SeperateCRNN) specifically designed for sequence modeling. Includes building blocks like SeqLinear and stateful batch normalization.
  • Integrated fastai Learner: Features RNNLearner, TCNLearner, CRNNLearner, etc., extending fastai’s Learner for streamlined model training, equipped with custom time-series losses (e.g., fun_rmse, nrmse) and callbacks (e.g., TbpttResetCB, ARInitCB, SkipFirstNCallback).
  • System Identification & Prediction:
    • Supports simulation (prediction based on inputs) and N-step ahead forecasting.
    • Includes specialized models and callbacks for system identification tasks like FRANSYS (FranSys, FranSysCallback) and AR models (AR_Model, ARProg).
    • Provides an InferenceWrapper for easier model deployment and prediction.
  • Hyperparameter Optimization: Integrates with Ray Tune via HPOptimizer for efficient hyperparameter searching.

Installation

You can install the latest stable version from pip using:

python pip install tsfast

For development installation:

python git clone https://github.com/daniel-om-weber/tsfast cd tsfast pip install -e '.[dev]'

Quick Start

Here is a quick example using a benchmark dataloader. It demonstrates loading and visualizing data, training a RNN, and visualizing the results.

python from tsfast.basics import * dls = create_dls_silverbox() dls.show_batch(max_n=1)

python lrn = RNNLearner(dls) lrn.fit_flat_cos(1)

| epoch | trainloss | validloss | fun_rmse | time | |-------|------------|------------|----------|-------| | 0 | 0.006716 | 0.006925 | 0.015471 | 01:55 |

python lrn.show_results(max_n=1)

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.

Citation

If you use tsfast in your research, please cite:

text @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} }

Owner

  • Login: daniel-om-weber
  • Kind: user

GitHub Events

Total
  • Issues event: 2
  • Watch event: 1
  • Issue comment event: 1
  • Push event: 71
  • Public event: 1
  • Fork event: 1
Last Year
  • Issues event: 2
  • Watch event: 1
  • Issue comment event: 1
  • Push event: 71
  • Public event: 1
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 4
  • Total pull requests: 2
  • Average time to close issues: 7 months
  • Average time to close pull requests: about 1 hour
  • Total issue authors: 1
  • Total pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.5
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 2
  • Average time to close issues: 7 months
  • Average time to close pull requests: about 1 hour
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.5
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • MartinKliemank (4)
Pull Request Authors
  • MartinKliemank (1)
Top Labels
Issue Labels
enhancement (1) documentation (1) bug (1)
Pull Request Labels
bug (1)