This directory contains a Pytorch/Pytorch Lightning implementation of transformers applied to time series. We focus on Transformer-XL and Compressive Transformers.
Transformer-XL is described in this paper Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context by Zihang Dai*, Zhilin Yang*, Yiming Yang, Jaime Carbonell, Quoc V. Le, Ruslan Salakhutdinov (*: equal contribution) Preprint 2018.
Part of this code is from the authors at https://github.com/kimiyoung/transformer-xl.
See requirements.txt
. All installed via pip
instead of conda
.
See etf_data_prep.py
in data/etf
.
modules.py
contains the description of all the components of the model. model.py
actually builds it.
Everything is built using the pytorch-lightning
wrapper which simplifies
generating batches, logging to various experiment tracking frameworks (e.g. Neptune
or WandB
).
notebook_TXL.ipynb
is a notebook that can be loaded in
Google Colab to run on TPUs. Note that
the entire model and run parameters are specified in a class called GlobalState
defined in utils.py
with a number of default values.