Skip to main content

A Python library that implements ״Temporal Fusion Transformers for Interpretable Multi-horizon Time Series Forecasting״

Project description

tft-torch

alt text alt text alt text alt text

tft-torch is a Python library that implements "Temporal Fusion Transformers for Interpretable Multi-horizon Time Series Forecasting" using pytorch framework. The library provides a complete implementation of a time-series multi-horizon forecasting model with state-of-the-art performance on several benchmark datasets.

This library works for Python 3.7 and higher and PyTorch 1.6.0 and higher.

Installation

This library is distributed on PyPi and can be installed using pip.

$ pip install tft-torch 

The command above will automatically install all the required dependencies. Please visit the installation page for more details.

Getting started

Check out the tutorials for a demonstration how to use the library.

Documentation

For more information, refer to our blogpost and complete documentation.

Reference

This repository suggests an implementation of a model based on the work presented in the following paper:

@misc{lim2020temporal,
      title={Temporal Fusion Transformers for Interpretable Multi-horizon Time Series Forecasting}, 
      author={Bryan Lim and Sercan O. Arik and Nicolas Loeff and Tomas Pfister},
      year={2020},
      eprint={1912.09363},
      archivePrefix={arXiv},
      primaryClass={stat.ML}
}

Some parts of the implementation rely on mattsherar's TFT implementation, available as part of the Temporal_Fusion_Transform repository.

Info for developers

The source code of the project is available on GitHub.

$ git clone https://github.com/PlaytikaOSS/tft-torch.git

You can install the library and the dependencies with one of the following commands:

$ pip install .                        # install library + dependencies
$ pip install ".[develop]"             # install library + dependencies + developer-dependencies
$ pip install -r requirements.txt      # install dependencies
$ pip install -r requirements-dev.txt  # install developer-dependencies

For creating the "pip-installable" *.whl file, run the following command (at the root of the repository):

$ python -m build

For creating the HTML documentation of the project, run the following commands:

$ cd docs
$ make clean
$ make html

Run tests

Tests can be executed with pytest running the following commands:

$ cd tests
$ pytest                                      # run all tests
$ pytest test_testmodule.py                   # run all tests within a module
$ pytest test_testmodule.py -k test_testname  # run only 1 test

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tft_torch-0.0.6.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

tft_torch-0.0.6-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file tft_torch-0.0.6.tar.gz.

File metadata

  • Download URL: tft_torch-0.0.6.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.0

File hashes

Hashes for tft_torch-0.0.6.tar.gz
Algorithm Hash digest
SHA256 e6c3bb1f42cfa755956bb754cd29c624a551b399fc427df62c25b0d1ec2db15d
MD5 7b4fa617aa2cb29b7a718988eda623f7
BLAKE2b-256 dab718eccc411d815fa71738da3c8f734aa90c5051ce52bc193030df1812b906

See more details on using hashes here.

File details

Details for the file tft_torch-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: tft_torch-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.0

File hashes

Hashes for tft_torch-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 0cc4246c78636979b0657b1f5d957204b41bd04344200b9fcc2d00df4f41a21d
MD5 db0c3183d4b670b296948f99058ce701
BLAKE2b-256 8df367aacfbfea782852f95d6871e10efda2769f3c888d43784c05318b87ac9b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page