summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-05-15 05:04:51 +0000
committerCoprDistGit <infra@openeuler.org>2023-05-15 05:04:51 +0000
commit2e724badfba8ff0c3dafefa4cf03e4b38c6e8f47 (patch)
tree44070943773838a98719274438a5cfdd8cfc2304
parente0b98bae24ae4886a8ba602a34865c1cef8fc24d (diff)
automatic import of python-tsai
-rw-r--r--.gitignore1
-rw-r--r--python-tsai.spec1046
-rw-r--r--sources1
3 files changed, 1048 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..570b206 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/tsai-0.3.6.tar.gz
diff --git a/python-tsai.spec b/python-tsai.spec
new file mode 100644
index 0000000..8f33f8f
--- /dev/null
+++ b/python-tsai.spec
@@ -0,0 +1,1046 @@
+%global _empty_manifest_terminate_build 0
+Name: python-tsai
+Version: 0.3.6
+Release: 1
+Summary: Practical Deep Learning for Time Series / Sequential Data library based on fastai & Pytorch
+License: Apache Software License 2.0
+URL: https://github.com/timeseriesAI/tsai/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/6f/a1/75e13c89265c32d51db10bdf2d50b2a1ff8bf07f5fd62ec392ae57edd8c8/tsai-0.3.6.tar.gz
+BuildArch: noarch
+
+Requires: python3-fastai
+Requires: python3-pyts
+Requires: python3-imbalanced-learn
+Requires: python3-psutil
+Requires: python3-torch
+Requires: python3-nbdev
+Requires: python3-ipykernel
+Requires: python3-sktime
+Requires: python3-tsfresh
+Requires: python3-PyWavelets
+Requires: python3-nbformat
+
+%description
+<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->
+<div align="center">
+<img src="https://github.com/timeseriesAI/tsai/blob/main/nbs/multimedia/tsai_logo.svg?raw=true" width="50%">
+</div>
+<br /> <br />
+![CI](https://github.com/timeseriesai/tsai/workflows/CI/badge.svg)
+[![PyPI](https://img.shields.io/pypi/v/tsai?color=blue&label=pypi%20version.png)](https://pypi.org/project/tsai/#description)
+[![Conda (channel
+only)](https://img.shields.io/conda/vn/timeseriesai/tsai?color=brightgreen&label=conda%20version.png)](https://anaconda.org/timeseriesai/tsai)
+[![DOI](https://zenodo.org/badge/211822289.svg)](https://zenodo.org/badge/latestdoi/211822289)
+![PRs](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)
+## Description
+> State-of-the-art Deep Learning library for Time Series and Sequences.
+`tsai` is an open-source deep learning package built on top of Pytorch &
+fastai focused on state-of-the-art techniques for time series tasks like
+classification, regression, forecasting, imputation…
+`tsai` is currently under active development by timeseriesAI.
+## What’s new:
+During the last few releases, here are some of the most significant
+additions to `tsai`:
+- **New models**: PatchTST (Accepted by ICLR 2023), RNN with Attention
+ (RNNAttention, LSTMAttention, GRUAttention), TabFusionTransformer, …
+- **New datasets**: we have increased the number of datasets you can
+ download using `tsai`:
+ - 128 univariate classification datasets
+ - 30 multivariate classification datasets
+ - 15 regression datasets
+ - 62 forecasting datasets
+ - 9 long term forecasting datasets
+- **New tutorials**:
+ [PatchTST](https://github.com/timeseriesAI/tsai/blob/main/tutorial_nbs/15_PatchTST_a_new_transformer_for_LTSF.ipynb).
+ Based on some of your requests, we are planning to release additional
+ tutorials on data preparation and forecasting.
+- **New functionality**: sklearn-type pipeline transforms, walk-foward
+ cross validation, reduced RAM requirements, and a lot of new
+ functionality to perform more accurate time series forecasts.
+- Pytorch 2.0 support.
+## Installation
+### Pip install
+You can install the **latest stable** version from pip using:
+``` python
+pip install tsai
+```
+If you plan to develop tsai yourself, or want to be on the cutting edge,
+you can use an editable install. First install PyTorch, and then:
+``` python
+git clone https://github.com/timeseriesAI/tsai
+pip install -e "tsai[dev]"
+```
+Note: starting with tsai 0.3.0 tsai will only install hard dependencies.
+Other soft dependencies (which are only required for selected tasks)
+will not be installed by default (this is the recommended approach. If
+you require any of the dependencies that is not installed, tsai will ask
+you to install it when necessary). If you still want to install tsai
+with all its dependencies you can do it by running:
+``` python
+pip install tsai[extras]
+```
+### Conda install
+You can also install tsai using conda (note that if you replace conda
+with mamba the install process will be much faster and more reliable):
+``` python
+conda install -c timeseriesai tsai
+```
+## Documentation
+Here’s the link to the
+[documentation](https://timeseriesai.github.io/tsai/).
+## Available models:
+Here’s a list with some of the state-of-the-art models available in
+`tsai`:
+- [LSTM](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN.py)
+ (Hochreiter, 1997)
+ ([paper](https://ieeexplore.ieee.org/abstract/document/6795963/))
+- [GRU](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN.py)
+ (Cho, 2014) ([paper](https://arxiv.org/abs/1412.3555))
+- [MLP](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/MLP.py) -
+ Multilayer Perceptron (Wang, 2016)
+ ([paper](https://arxiv.org/abs/1611.06455))
+- [FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/FCN.py) -
+ Fully Convolutional Network (Wang, 2016)
+ ([paper](https://arxiv.org/abs/1611.06455))
+- [ResNet](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/ResNet.py) -
+ Residual Network (Wang, 2016)
+ ([paper](https://arxiv.org/abs/1611.06455))
+- [LSTM-FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN_FCN.py)
+ (Karim, 2017) ([paper](https://arxiv.org/abs/1709.05206))
+- [GRU-FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN_FCN.py)
+ (Elsayed, 2018) ([paper](https://arxiv.org/abs/1812.07683))
+- [mWDN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/mWDN.py) -
+ Multilevel wavelet decomposition network (Wang, 2018)
+ ([paper](https://dl.acm.org/doi/abs/10.1145/3219819.3220060))
+- [TCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TCN.py) -
+ Temporal Convolutional Network (Bai, 2018)
+ ([paper](https://arxiv.org/abs/1803.01271))
+- [MLSTM-FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN_FCN.py) -
+ Multivariate LSTM-FCN (Karim, 2019)
+ ([paper](https://www.sciencedirect.com/science/article/abs/pii/S0893608019301200))
+- [InceptionTime](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/InceptionTime.py)
+ (Fawaz, 2019) ([paper](https://arxiv.org/abs/1909.04939))
+- [Rocket](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/ROCKET.py)
+ (Dempster, 2019) ([paper](https://arxiv.org/abs/1910.13051))
+- [XceptionTime](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/XceptionTime.py)
+ (Rahimian, 2019) ([paper](https://arxiv.org/abs/1911.03803))
+- [ResCNN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/ResCNN.py) -
+ 1D-ResCNN (Zou , 2019)
+ ([paper](https://www.sciencedirect.com/science/article/pii/S0925231219311506))
+- [TabModel](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TabModel.py) -
+ modified from fastai’s
+ [TabularModel](https://docs.fast.ai/tabular.model.html#TabularModel)
+- [OmniScale](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/OmniScaleCNN.py) -
+ Omni-Scale 1D-CNN (Tang, 2020)
+ ([paper](https://arxiv.org/abs/2002.10061))
+- [TST](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TST.py) -
+ Time Series Transformer (Zerveas, 2020)
+ ([paper](https://dl.acm.org/doi/abs/10.1145/3447548.3467401))
+- [TabTransformer](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TabTransformer.py)
+ (Huang, 2020) ([paper](https://arxiv.org/pdf/2012.06678))
+- [TSiT](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TSiTPlus.py)
+ Adapted from ViT (Dosovitskiy, 2020)
+ ([paper](https://arxiv.org/abs/2010.11929))
+- [MiniRocket](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/MINIROCKET.py)
+ (Dempster, 2021) ([paper](https://arxiv.org/abs/2102.00457))
+- [XCM](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/XCM.py) -
+ An Explainable Convolutional Neural Network (Fauvel, 2021)
+ ([paper](https://hal.inria.fr/hal-03469487/document))
+- [gMLP](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/gMLP.py) -
+ Gated Multilayer Perceptron (Liu, 2021)
+ ([paper](https://arxiv.org/abs/2105.08050))
+- [TSPerceiver](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TSPerceiver.py) -
+ Adapted from Perceiver IO (Jaegle, 2021)
+ ([paper](https://arxiv.org/abs/2107.14795))
+- [GatedTabTransformer](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/GatedTabTransformer.py)
+ (Cholakov, 2022) ([paper](https://arxiv.org/abs/2201.00199))
+- [TSSequencerPlus](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TSSequencerPlus.py) -
+ Adapted from Sequencer (Tatsunami, 2022)
+ ([paper](https://arxiv.org/abs/2205.01972))
+- [PatchTST](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/PatchTST.py) -
+ (Nie, 2022) ([paper](https://arxiv.org/abs/2211.14730))
+plus other custom models like: TransformerModel, LSTMAttention,
+GRUAttention, …
+## How to start using tsai?
+To get to know the tsai package, we’d suggest you start with this
+notebook in Google Colab:
+**[01_Intro_to_Time_Series_Classification](https://colab.research.google.com/github/timeseriesAI/tsai/blob/master/tutorial_nbs/01_Intro_to_Time_Series_Classification.ipynb)**
+It provides an overview of a time series classification task.
+We have also develop many other [tutorial
+notebooks](https://github.com/timeseriesAI/tsai/tree/main/tutorial_nbs).
+To use tsai in your own notebooks, the only thing you need to do after
+you have installed the package is to run this:
+``` python
+from tsai.all import *
+```
+## Examples
+These are just a few examples of how you can use `tsai`:
+### Binary, univariate classification
+**Training:**
+``` python
+from tsai.basics import *
+X, y, splits = get_classification_data('ECG200', split_data=False)
+tfms = [None, TSClassification()]
+batch_tfms = TSStandardize()
+clf = TSClassifier(X, y, splits=splits, path='models', arch="InceptionTimePlus", tfms=tfms, batch_tfms=batch_tfms, metrics=accuracy, cbs=ShowGraph())
+clf.fit_one_cycle(100, 3e-4)
+clf.export("clf.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+clf = load_learner("models/clf.pkl")
+probas, target, preds = clf.get_X_preds(X[splits[1]], y[splits[1]])
+```
+### Multi-class, multivariate classification
+**Training:**
+``` python
+from tsai.basics import *
+X, y, splits = get_classification_data('LSST', split_data=False)
+tfms = [None, TSClassification()]
+batch_tfms = TSStandardize(by_sample=True)
+mv_clf = TSClassifier(X, y, splits=splits, path='models', arch="InceptionTimePlus", tfms=tfms, batch_tfms=batch_tfms, metrics=accuracy, cbs=ShowGraph())
+mv_clf.fit_one_cycle(10, 1e-2)
+mv_clf.export("mv_clf.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+mv_clf = load_learner("models/mv_clf.pkl")
+probas, target, preds = mv_clf.get_X_preds(X[splits[1]], y[splits[1]])
+```
+### Multivariate Regression
+**Training:**
+``` python
+from tsai.basics import *
+X, y, splits = get_regression_data('AppliancesEnergy', split_data=False)
+tfms = [None, TSRegression()]
+batch_tfms = TSStandardize(by_sample=True)
+reg = TSRegressor(X, y, splits=splits, path='models', arch="TSTPlus", tfms=tfms, batch_tfms=batch_tfms, metrics=rmse, cbs=ShowGraph(), verbose=True)
+reg.fit_one_cycle(100, 3e-4)
+reg.export("reg.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+reg = load_learner("models/reg.pkl")
+raw_preds, target, preds = reg.get_X_preds(X[splits[1]], y[splits[1]])
+```
+The ROCKETs (RocketClassifier, RocketRegressor, MiniRocketClassifier,
+MiniRocketRegressor, MiniRocketVotingClassifier or
+MiniRocketVotingRegressor) are somewhat different models. They are not
+actually deep learning models (although they use convolutions) and are
+used in a different way.
+⚠️ You’ll also need to install sktime to be able to use them. You can
+install it separately:
+``` python
+pip install sktime
+```
+or use:
+``` python
+pip install tsai[extras]
+```
+**Training:**
+``` python
+from sklearn.metrics import mean_squared_error, make_scorer
+from tsai.data.external import get_Monash_regression_data
+from tsai.models.MINIROCKET import MiniRocketRegressor
+X_train, y_train, *_ = get_Monash_regression_data('AppliancesEnergy')
+rmse_scorer = make_scorer(mean_squared_error, greater_is_better=False)
+reg = MiniRocketRegressor(scoring=rmse_scorer)
+reg.fit(X_train, y_train)
+reg.save('MiniRocketRegressor')
+```
+**Inference:**
+``` python
+from sklearn.metrics import mean_squared_error
+from tsai.data.external import get_Monash_regression_data
+from tsai.models.MINIROCKET import load_minirocket
+*_, X_test, y_test = get_Monash_regression_data('AppliancesEnergy')
+reg = load_minirocket('MiniRocketRegressor')
+y_pred = reg.predict(X_test)
+mean_squared_error(y_test, y_pred, squared=False)
+```
+### Forecasting
+You can use tsai for forecast in the following scenarios:
+- univariate or multivariate time series input
+- univariate or multivariate time series output
+- single or multi-step ahead
+You’ll need to: \* prepare X (time series input) and the target y (see
+[documentation](https://timeseriesai.github.io/tsai/data.preparation.html))
+\* select PatchTST or one of tsai’s models ending in Plus (TSTPlus,
+InceptionTimePlus, TSiTPlus, etc). The model will auto-configure a head
+to yield an output with the same shape as the target input y.
+#### Single step
+**Training:**
+``` python
+from tsai.basics import *
+ts = get_forecasting_time_series("Sunspots").values
+X, y = SlidingWindow(60, horizon=1)(ts)
+splits = TimeSplitter(235)(y)
+tfms = [None, TSForecasting()]
+batch_tfms = TSStandardize()
+fcst = TSForecaster(X, y, splits=splits, path='models', tfms=tfms, batch_tfms=batch_tfms, bs=512, arch="TSTPlus", metrics=mae, cbs=ShowGraph())
+fcst.fit_one_cycle(50, 1e-3)
+fcst.export("fcst.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+fcst = load_learner("models/fcst.pkl", cpu=False)
+raw_preds, target, preds = fcst.get_X_preds(X[splits[1]], y[splits[1]])
+raw_preds.shape
+# torch.Size([235, 1])
+```
+#### Multi-step
+This example show how to build a 3-step ahead univariate forecast.
+**Training:**
+``` python
+from tsai.basics import *
+ts = get_forecasting_time_series("Sunspots").values
+X, y = SlidingWindow(60, horizon=3)(ts)
+splits = TimeSplitter(235, fcst_horizon=3)(y)
+tfms = [None, TSForecasting()]
+batch_tfms = TSStandardize()
+fcst = TSForecaster(X, y, splits=splits, path='models', tfms=tfms, batch_tfms=batch_tfms, bs=512, arch="TSTPlus", metrics=mae, cbs=ShowGraph())
+fcst.fit_one_cycle(50, 1e-3)
+fcst.export("fcst.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+fcst = load_learner("models/fcst.pkl", cpu=False)
+raw_preds, target, preds = fcst.get_X_preds(X[splits[1]], y[splits[1]])
+raw_preds.shape
+# torch.Size([235, 3])
+```
+## Input data format
+The input format for all time series models and image models in tsai is
+the same. An np.ndarray (or array-like object like zarr, etc) with 3
+dimensions:
+**\[# samples x \# variables x sequence length\]**
+The input format for tabular models in tsai (like TabModel,
+TabTransformer and TabFusionTransformer) is a pandas dataframe. See
+[example](https://timeseriesai.github.io/tsai/models.TabModel.html).
+## How to contribute to tsai?
+We welcome contributions of all kinds. Development of enhancements, bug
+fixes, documentation, tutorial notebooks, …
+We have created a guide to help you start contributing to tsai. You can
+read it
+[here](https://github.com/timeseriesAI/tsai/blob/main/CONTRIBUTING.md).
+## Enterprise support and consulting services:
+Want to make the most out of timeseriesAI/tsai in a professional
+setting? Let us help. Send us an email to learn more:
+info@timeseriesai.co
+## Citing tsai
+If you use tsai in your research please use the following BibTeX entry:
+``` text
+@Misc{tsai,
+ author = {Ignacio Oguiza},
+ title = {tsai - A state-of-the-art deep learning library for time series and sequential data},
+ howpublished = {Github},
+ year = {2022},
+ url = {https://github.com/timeseriesAI/tsai}
+}
+```
+
+%package -n python3-tsai
+Summary: Practical Deep Learning for Time Series / Sequential Data library based on fastai & Pytorch
+Provides: python-tsai
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-tsai
+<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->
+<div align="center">
+<img src="https://github.com/timeseriesAI/tsai/blob/main/nbs/multimedia/tsai_logo.svg?raw=true" width="50%">
+</div>
+<br /> <br />
+![CI](https://github.com/timeseriesai/tsai/workflows/CI/badge.svg)
+[![PyPI](https://img.shields.io/pypi/v/tsai?color=blue&label=pypi%20version.png)](https://pypi.org/project/tsai/#description)
+[![Conda (channel
+only)](https://img.shields.io/conda/vn/timeseriesai/tsai?color=brightgreen&label=conda%20version.png)](https://anaconda.org/timeseriesai/tsai)
+[![DOI](https://zenodo.org/badge/211822289.svg)](https://zenodo.org/badge/latestdoi/211822289)
+![PRs](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)
+## Description
+> State-of-the-art Deep Learning library for Time Series and Sequences.
+`tsai` is an open-source deep learning package built on top of Pytorch &
+fastai focused on state-of-the-art techniques for time series tasks like
+classification, regression, forecasting, imputation…
+`tsai` is currently under active development by timeseriesAI.
+## What’s new:
+During the last few releases, here are some of the most significant
+additions to `tsai`:
+- **New models**: PatchTST (Accepted by ICLR 2023), RNN with Attention
+ (RNNAttention, LSTMAttention, GRUAttention), TabFusionTransformer, …
+- **New datasets**: we have increased the number of datasets you can
+ download using `tsai`:
+ - 128 univariate classification datasets
+ - 30 multivariate classification datasets
+ - 15 regression datasets
+ - 62 forecasting datasets
+ - 9 long term forecasting datasets
+- **New tutorials**:
+ [PatchTST](https://github.com/timeseriesAI/tsai/blob/main/tutorial_nbs/15_PatchTST_a_new_transformer_for_LTSF.ipynb).
+ Based on some of your requests, we are planning to release additional
+ tutorials on data preparation and forecasting.
+- **New functionality**: sklearn-type pipeline transforms, walk-foward
+ cross validation, reduced RAM requirements, and a lot of new
+ functionality to perform more accurate time series forecasts.
+- Pytorch 2.0 support.
+## Installation
+### Pip install
+You can install the **latest stable** version from pip using:
+``` python
+pip install tsai
+```
+If you plan to develop tsai yourself, or want to be on the cutting edge,
+you can use an editable install. First install PyTorch, and then:
+``` python
+git clone https://github.com/timeseriesAI/tsai
+pip install -e "tsai[dev]"
+```
+Note: starting with tsai 0.3.0 tsai will only install hard dependencies.
+Other soft dependencies (which are only required for selected tasks)
+will not be installed by default (this is the recommended approach. If
+you require any of the dependencies that is not installed, tsai will ask
+you to install it when necessary). If you still want to install tsai
+with all its dependencies you can do it by running:
+``` python
+pip install tsai[extras]
+```
+### Conda install
+You can also install tsai using conda (note that if you replace conda
+with mamba the install process will be much faster and more reliable):
+``` python
+conda install -c timeseriesai tsai
+```
+## Documentation
+Here’s the link to the
+[documentation](https://timeseriesai.github.io/tsai/).
+## Available models:
+Here’s a list with some of the state-of-the-art models available in
+`tsai`:
+- [LSTM](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN.py)
+ (Hochreiter, 1997)
+ ([paper](https://ieeexplore.ieee.org/abstract/document/6795963/))
+- [GRU](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN.py)
+ (Cho, 2014) ([paper](https://arxiv.org/abs/1412.3555))
+- [MLP](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/MLP.py) -
+ Multilayer Perceptron (Wang, 2016)
+ ([paper](https://arxiv.org/abs/1611.06455))
+- [FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/FCN.py) -
+ Fully Convolutional Network (Wang, 2016)
+ ([paper](https://arxiv.org/abs/1611.06455))
+- [ResNet](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/ResNet.py) -
+ Residual Network (Wang, 2016)
+ ([paper](https://arxiv.org/abs/1611.06455))
+- [LSTM-FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN_FCN.py)
+ (Karim, 2017) ([paper](https://arxiv.org/abs/1709.05206))
+- [GRU-FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN_FCN.py)
+ (Elsayed, 2018) ([paper](https://arxiv.org/abs/1812.07683))
+- [mWDN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/mWDN.py) -
+ Multilevel wavelet decomposition network (Wang, 2018)
+ ([paper](https://dl.acm.org/doi/abs/10.1145/3219819.3220060))
+- [TCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TCN.py) -
+ Temporal Convolutional Network (Bai, 2018)
+ ([paper](https://arxiv.org/abs/1803.01271))
+- [MLSTM-FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN_FCN.py) -
+ Multivariate LSTM-FCN (Karim, 2019)
+ ([paper](https://www.sciencedirect.com/science/article/abs/pii/S0893608019301200))
+- [InceptionTime](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/InceptionTime.py)
+ (Fawaz, 2019) ([paper](https://arxiv.org/abs/1909.04939))
+- [Rocket](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/ROCKET.py)
+ (Dempster, 2019) ([paper](https://arxiv.org/abs/1910.13051))
+- [XceptionTime](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/XceptionTime.py)
+ (Rahimian, 2019) ([paper](https://arxiv.org/abs/1911.03803))
+- [ResCNN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/ResCNN.py) -
+ 1D-ResCNN (Zou , 2019)
+ ([paper](https://www.sciencedirect.com/science/article/pii/S0925231219311506))
+- [TabModel](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TabModel.py) -
+ modified from fastai’s
+ [TabularModel](https://docs.fast.ai/tabular.model.html#TabularModel)
+- [OmniScale](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/OmniScaleCNN.py) -
+ Omni-Scale 1D-CNN (Tang, 2020)
+ ([paper](https://arxiv.org/abs/2002.10061))
+- [TST](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TST.py) -
+ Time Series Transformer (Zerveas, 2020)
+ ([paper](https://dl.acm.org/doi/abs/10.1145/3447548.3467401))
+- [TabTransformer](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TabTransformer.py)
+ (Huang, 2020) ([paper](https://arxiv.org/pdf/2012.06678))
+- [TSiT](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TSiTPlus.py)
+ Adapted from ViT (Dosovitskiy, 2020)
+ ([paper](https://arxiv.org/abs/2010.11929))
+- [MiniRocket](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/MINIROCKET.py)
+ (Dempster, 2021) ([paper](https://arxiv.org/abs/2102.00457))
+- [XCM](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/XCM.py) -
+ An Explainable Convolutional Neural Network (Fauvel, 2021)
+ ([paper](https://hal.inria.fr/hal-03469487/document))
+- [gMLP](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/gMLP.py) -
+ Gated Multilayer Perceptron (Liu, 2021)
+ ([paper](https://arxiv.org/abs/2105.08050))
+- [TSPerceiver](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TSPerceiver.py) -
+ Adapted from Perceiver IO (Jaegle, 2021)
+ ([paper](https://arxiv.org/abs/2107.14795))
+- [GatedTabTransformer](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/GatedTabTransformer.py)
+ (Cholakov, 2022) ([paper](https://arxiv.org/abs/2201.00199))
+- [TSSequencerPlus](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TSSequencerPlus.py) -
+ Adapted from Sequencer (Tatsunami, 2022)
+ ([paper](https://arxiv.org/abs/2205.01972))
+- [PatchTST](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/PatchTST.py) -
+ (Nie, 2022) ([paper](https://arxiv.org/abs/2211.14730))
+plus other custom models like: TransformerModel, LSTMAttention,
+GRUAttention, …
+## How to start using tsai?
+To get to know the tsai package, we’d suggest you start with this
+notebook in Google Colab:
+**[01_Intro_to_Time_Series_Classification](https://colab.research.google.com/github/timeseriesAI/tsai/blob/master/tutorial_nbs/01_Intro_to_Time_Series_Classification.ipynb)**
+It provides an overview of a time series classification task.
+We have also develop many other [tutorial
+notebooks](https://github.com/timeseriesAI/tsai/tree/main/tutorial_nbs).
+To use tsai in your own notebooks, the only thing you need to do after
+you have installed the package is to run this:
+``` python
+from tsai.all import *
+```
+## Examples
+These are just a few examples of how you can use `tsai`:
+### Binary, univariate classification
+**Training:**
+``` python
+from tsai.basics import *
+X, y, splits = get_classification_data('ECG200', split_data=False)
+tfms = [None, TSClassification()]
+batch_tfms = TSStandardize()
+clf = TSClassifier(X, y, splits=splits, path='models', arch="InceptionTimePlus", tfms=tfms, batch_tfms=batch_tfms, metrics=accuracy, cbs=ShowGraph())
+clf.fit_one_cycle(100, 3e-4)
+clf.export("clf.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+clf = load_learner("models/clf.pkl")
+probas, target, preds = clf.get_X_preds(X[splits[1]], y[splits[1]])
+```
+### Multi-class, multivariate classification
+**Training:**
+``` python
+from tsai.basics import *
+X, y, splits = get_classification_data('LSST', split_data=False)
+tfms = [None, TSClassification()]
+batch_tfms = TSStandardize(by_sample=True)
+mv_clf = TSClassifier(X, y, splits=splits, path='models', arch="InceptionTimePlus", tfms=tfms, batch_tfms=batch_tfms, metrics=accuracy, cbs=ShowGraph())
+mv_clf.fit_one_cycle(10, 1e-2)
+mv_clf.export("mv_clf.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+mv_clf = load_learner("models/mv_clf.pkl")
+probas, target, preds = mv_clf.get_X_preds(X[splits[1]], y[splits[1]])
+```
+### Multivariate Regression
+**Training:**
+``` python
+from tsai.basics import *
+X, y, splits = get_regression_data('AppliancesEnergy', split_data=False)
+tfms = [None, TSRegression()]
+batch_tfms = TSStandardize(by_sample=True)
+reg = TSRegressor(X, y, splits=splits, path='models', arch="TSTPlus", tfms=tfms, batch_tfms=batch_tfms, metrics=rmse, cbs=ShowGraph(), verbose=True)
+reg.fit_one_cycle(100, 3e-4)
+reg.export("reg.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+reg = load_learner("models/reg.pkl")
+raw_preds, target, preds = reg.get_X_preds(X[splits[1]], y[splits[1]])
+```
+The ROCKETs (RocketClassifier, RocketRegressor, MiniRocketClassifier,
+MiniRocketRegressor, MiniRocketVotingClassifier or
+MiniRocketVotingRegressor) are somewhat different models. They are not
+actually deep learning models (although they use convolutions) and are
+used in a different way.
+⚠️ You’ll also need to install sktime to be able to use them. You can
+install it separately:
+``` python
+pip install sktime
+```
+or use:
+``` python
+pip install tsai[extras]
+```
+**Training:**
+``` python
+from sklearn.metrics import mean_squared_error, make_scorer
+from tsai.data.external import get_Monash_regression_data
+from tsai.models.MINIROCKET import MiniRocketRegressor
+X_train, y_train, *_ = get_Monash_regression_data('AppliancesEnergy')
+rmse_scorer = make_scorer(mean_squared_error, greater_is_better=False)
+reg = MiniRocketRegressor(scoring=rmse_scorer)
+reg.fit(X_train, y_train)
+reg.save('MiniRocketRegressor')
+```
+**Inference:**
+``` python
+from sklearn.metrics import mean_squared_error
+from tsai.data.external import get_Monash_regression_data
+from tsai.models.MINIROCKET import load_minirocket
+*_, X_test, y_test = get_Monash_regression_data('AppliancesEnergy')
+reg = load_minirocket('MiniRocketRegressor')
+y_pred = reg.predict(X_test)
+mean_squared_error(y_test, y_pred, squared=False)
+```
+### Forecasting
+You can use tsai for forecast in the following scenarios:
+- univariate or multivariate time series input
+- univariate or multivariate time series output
+- single or multi-step ahead
+You’ll need to: \* prepare X (time series input) and the target y (see
+[documentation](https://timeseriesai.github.io/tsai/data.preparation.html))
+\* select PatchTST or one of tsai’s models ending in Plus (TSTPlus,
+InceptionTimePlus, TSiTPlus, etc). The model will auto-configure a head
+to yield an output with the same shape as the target input y.
+#### Single step
+**Training:**
+``` python
+from tsai.basics import *
+ts = get_forecasting_time_series("Sunspots").values
+X, y = SlidingWindow(60, horizon=1)(ts)
+splits = TimeSplitter(235)(y)
+tfms = [None, TSForecasting()]
+batch_tfms = TSStandardize()
+fcst = TSForecaster(X, y, splits=splits, path='models', tfms=tfms, batch_tfms=batch_tfms, bs=512, arch="TSTPlus", metrics=mae, cbs=ShowGraph())
+fcst.fit_one_cycle(50, 1e-3)
+fcst.export("fcst.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+fcst = load_learner("models/fcst.pkl", cpu=False)
+raw_preds, target, preds = fcst.get_X_preds(X[splits[1]], y[splits[1]])
+raw_preds.shape
+# torch.Size([235, 1])
+```
+#### Multi-step
+This example show how to build a 3-step ahead univariate forecast.
+**Training:**
+``` python
+from tsai.basics import *
+ts = get_forecasting_time_series("Sunspots").values
+X, y = SlidingWindow(60, horizon=3)(ts)
+splits = TimeSplitter(235, fcst_horizon=3)(y)
+tfms = [None, TSForecasting()]
+batch_tfms = TSStandardize()
+fcst = TSForecaster(X, y, splits=splits, path='models', tfms=tfms, batch_tfms=batch_tfms, bs=512, arch="TSTPlus", metrics=mae, cbs=ShowGraph())
+fcst.fit_one_cycle(50, 1e-3)
+fcst.export("fcst.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+fcst = load_learner("models/fcst.pkl", cpu=False)
+raw_preds, target, preds = fcst.get_X_preds(X[splits[1]], y[splits[1]])
+raw_preds.shape
+# torch.Size([235, 3])
+```
+## Input data format
+The input format for all time series models and image models in tsai is
+the same. An np.ndarray (or array-like object like zarr, etc) with 3
+dimensions:
+**\[# samples x \# variables x sequence length\]**
+The input format for tabular models in tsai (like TabModel,
+TabTransformer and TabFusionTransformer) is a pandas dataframe. See
+[example](https://timeseriesai.github.io/tsai/models.TabModel.html).
+## How to contribute to tsai?
+We welcome contributions of all kinds. Development of enhancements, bug
+fixes, documentation, tutorial notebooks, …
+We have created a guide to help you start contributing to tsai. You can
+read it
+[here](https://github.com/timeseriesAI/tsai/blob/main/CONTRIBUTING.md).
+## Enterprise support and consulting services:
+Want to make the most out of timeseriesAI/tsai in a professional
+setting? Let us help. Send us an email to learn more:
+info@timeseriesai.co
+## Citing tsai
+If you use tsai in your research please use the following BibTeX entry:
+``` text
+@Misc{tsai,
+ author = {Ignacio Oguiza},
+ title = {tsai - A state-of-the-art deep learning library for time series and sequential data},
+ howpublished = {Github},
+ year = {2022},
+ url = {https://github.com/timeseriesAI/tsai}
+}
+```
+
+%package help
+Summary: Development documents and examples for tsai
+Provides: python3-tsai-doc
+%description help
+<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->
+<div align="center">
+<img src="https://github.com/timeseriesAI/tsai/blob/main/nbs/multimedia/tsai_logo.svg?raw=true" width="50%">
+</div>
+<br /> <br />
+![CI](https://github.com/timeseriesai/tsai/workflows/CI/badge.svg)
+[![PyPI](https://img.shields.io/pypi/v/tsai?color=blue&label=pypi%20version.png)](https://pypi.org/project/tsai/#description)
+[![Conda (channel
+only)](https://img.shields.io/conda/vn/timeseriesai/tsai?color=brightgreen&label=conda%20version.png)](https://anaconda.org/timeseriesai/tsai)
+[![DOI](https://zenodo.org/badge/211822289.svg)](https://zenodo.org/badge/latestdoi/211822289)
+![PRs](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)
+## Description
+> State-of-the-art Deep Learning library for Time Series and Sequences.
+`tsai` is an open-source deep learning package built on top of Pytorch &
+fastai focused on state-of-the-art techniques for time series tasks like
+classification, regression, forecasting, imputation…
+`tsai` is currently under active development by timeseriesAI.
+## What’s new:
+During the last few releases, here are some of the most significant
+additions to `tsai`:
+- **New models**: PatchTST (Accepted by ICLR 2023), RNN with Attention
+ (RNNAttention, LSTMAttention, GRUAttention), TabFusionTransformer, …
+- **New datasets**: we have increased the number of datasets you can
+ download using `tsai`:
+ - 128 univariate classification datasets
+ - 30 multivariate classification datasets
+ - 15 regression datasets
+ - 62 forecasting datasets
+ - 9 long term forecasting datasets
+- **New tutorials**:
+ [PatchTST](https://github.com/timeseriesAI/tsai/blob/main/tutorial_nbs/15_PatchTST_a_new_transformer_for_LTSF.ipynb).
+ Based on some of your requests, we are planning to release additional
+ tutorials on data preparation and forecasting.
+- **New functionality**: sklearn-type pipeline transforms, walk-foward
+ cross validation, reduced RAM requirements, and a lot of new
+ functionality to perform more accurate time series forecasts.
+- Pytorch 2.0 support.
+## Installation
+### Pip install
+You can install the **latest stable** version from pip using:
+``` python
+pip install tsai
+```
+If you plan to develop tsai yourself, or want to be on the cutting edge,
+you can use an editable install. First install PyTorch, and then:
+``` python
+git clone https://github.com/timeseriesAI/tsai
+pip install -e "tsai[dev]"
+```
+Note: starting with tsai 0.3.0 tsai will only install hard dependencies.
+Other soft dependencies (which are only required for selected tasks)
+will not be installed by default (this is the recommended approach. If
+you require any of the dependencies that is not installed, tsai will ask
+you to install it when necessary). If you still want to install tsai
+with all its dependencies you can do it by running:
+``` python
+pip install tsai[extras]
+```
+### Conda install
+You can also install tsai using conda (note that if you replace conda
+with mamba the install process will be much faster and more reliable):
+``` python
+conda install -c timeseriesai tsai
+```
+## Documentation
+Here’s the link to the
+[documentation](https://timeseriesai.github.io/tsai/).
+## Available models:
+Here’s a list with some of the state-of-the-art models available in
+`tsai`:
+- [LSTM](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN.py)
+ (Hochreiter, 1997)
+ ([paper](https://ieeexplore.ieee.org/abstract/document/6795963/))
+- [GRU](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN.py)
+ (Cho, 2014) ([paper](https://arxiv.org/abs/1412.3555))
+- [MLP](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/MLP.py) -
+ Multilayer Perceptron (Wang, 2016)
+ ([paper](https://arxiv.org/abs/1611.06455))
+- [FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/FCN.py) -
+ Fully Convolutional Network (Wang, 2016)
+ ([paper](https://arxiv.org/abs/1611.06455))
+- [ResNet](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/ResNet.py) -
+ Residual Network (Wang, 2016)
+ ([paper](https://arxiv.org/abs/1611.06455))
+- [LSTM-FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN_FCN.py)
+ (Karim, 2017) ([paper](https://arxiv.org/abs/1709.05206))
+- [GRU-FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN_FCN.py)
+ (Elsayed, 2018) ([paper](https://arxiv.org/abs/1812.07683))
+- [mWDN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/mWDN.py) -
+ Multilevel wavelet decomposition network (Wang, 2018)
+ ([paper](https://dl.acm.org/doi/abs/10.1145/3219819.3220060))
+- [TCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TCN.py) -
+ Temporal Convolutional Network (Bai, 2018)
+ ([paper](https://arxiv.org/abs/1803.01271))
+- [MLSTM-FCN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/RNN_FCN.py) -
+ Multivariate LSTM-FCN (Karim, 2019)
+ ([paper](https://www.sciencedirect.com/science/article/abs/pii/S0893608019301200))
+- [InceptionTime](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/InceptionTime.py)
+ (Fawaz, 2019) ([paper](https://arxiv.org/abs/1909.04939))
+- [Rocket](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/ROCKET.py)
+ (Dempster, 2019) ([paper](https://arxiv.org/abs/1910.13051))
+- [XceptionTime](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/XceptionTime.py)
+ (Rahimian, 2019) ([paper](https://arxiv.org/abs/1911.03803))
+- [ResCNN](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/ResCNN.py) -
+ 1D-ResCNN (Zou , 2019)
+ ([paper](https://www.sciencedirect.com/science/article/pii/S0925231219311506))
+- [TabModel](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TabModel.py) -
+ modified from fastai’s
+ [TabularModel](https://docs.fast.ai/tabular.model.html#TabularModel)
+- [OmniScale](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/OmniScaleCNN.py) -
+ Omni-Scale 1D-CNN (Tang, 2020)
+ ([paper](https://arxiv.org/abs/2002.10061))
+- [TST](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TST.py) -
+ Time Series Transformer (Zerveas, 2020)
+ ([paper](https://dl.acm.org/doi/abs/10.1145/3447548.3467401))
+- [TabTransformer](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TabTransformer.py)
+ (Huang, 2020) ([paper](https://arxiv.org/pdf/2012.06678))
+- [TSiT](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TSiTPlus.py)
+ Adapted from ViT (Dosovitskiy, 2020)
+ ([paper](https://arxiv.org/abs/2010.11929))
+- [MiniRocket](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/MINIROCKET.py)
+ (Dempster, 2021) ([paper](https://arxiv.org/abs/2102.00457))
+- [XCM](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/XCM.py) -
+ An Explainable Convolutional Neural Network (Fauvel, 2021)
+ ([paper](https://hal.inria.fr/hal-03469487/document))
+- [gMLP](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/gMLP.py) -
+ Gated Multilayer Perceptron (Liu, 2021)
+ ([paper](https://arxiv.org/abs/2105.08050))
+- [TSPerceiver](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TSPerceiver.py) -
+ Adapted from Perceiver IO (Jaegle, 2021)
+ ([paper](https://arxiv.org/abs/2107.14795))
+- [GatedTabTransformer](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/GatedTabTransformer.py)
+ (Cholakov, 2022) ([paper](https://arxiv.org/abs/2201.00199))
+- [TSSequencerPlus](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/TSSequencerPlus.py) -
+ Adapted from Sequencer (Tatsunami, 2022)
+ ([paper](https://arxiv.org/abs/2205.01972))
+- [PatchTST](https://github.com/timeseriesAI/tsai/blob/main/tsai/models/PatchTST.py) -
+ (Nie, 2022) ([paper](https://arxiv.org/abs/2211.14730))
+plus other custom models like: TransformerModel, LSTMAttention,
+GRUAttention, …
+## How to start using tsai?
+To get to know the tsai package, we’d suggest you start with this
+notebook in Google Colab:
+**[01_Intro_to_Time_Series_Classification](https://colab.research.google.com/github/timeseriesAI/tsai/blob/master/tutorial_nbs/01_Intro_to_Time_Series_Classification.ipynb)**
+It provides an overview of a time series classification task.
+We have also develop many other [tutorial
+notebooks](https://github.com/timeseriesAI/tsai/tree/main/tutorial_nbs).
+To use tsai in your own notebooks, the only thing you need to do after
+you have installed the package is to run this:
+``` python
+from tsai.all import *
+```
+## Examples
+These are just a few examples of how you can use `tsai`:
+### Binary, univariate classification
+**Training:**
+``` python
+from tsai.basics import *
+X, y, splits = get_classification_data('ECG200', split_data=False)
+tfms = [None, TSClassification()]
+batch_tfms = TSStandardize()
+clf = TSClassifier(X, y, splits=splits, path='models', arch="InceptionTimePlus", tfms=tfms, batch_tfms=batch_tfms, metrics=accuracy, cbs=ShowGraph())
+clf.fit_one_cycle(100, 3e-4)
+clf.export("clf.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+clf = load_learner("models/clf.pkl")
+probas, target, preds = clf.get_X_preds(X[splits[1]], y[splits[1]])
+```
+### Multi-class, multivariate classification
+**Training:**
+``` python
+from tsai.basics import *
+X, y, splits = get_classification_data('LSST', split_data=False)
+tfms = [None, TSClassification()]
+batch_tfms = TSStandardize(by_sample=True)
+mv_clf = TSClassifier(X, y, splits=splits, path='models', arch="InceptionTimePlus", tfms=tfms, batch_tfms=batch_tfms, metrics=accuracy, cbs=ShowGraph())
+mv_clf.fit_one_cycle(10, 1e-2)
+mv_clf.export("mv_clf.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+mv_clf = load_learner("models/mv_clf.pkl")
+probas, target, preds = mv_clf.get_X_preds(X[splits[1]], y[splits[1]])
+```
+### Multivariate Regression
+**Training:**
+``` python
+from tsai.basics import *
+X, y, splits = get_regression_data('AppliancesEnergy', split_data=False)
+tfms = [None, TSRegression()]
+batch_tfms = TSStandardize(by_sample=True)
+reg = TSRegressor(X, y, splits=splits, path='models', arch="TSTPlus", tfms=tfms, batch_tfms=batch_tfms, metrics=rmse, cbs=ShowGraph(), verbose=True)
+reg.fit_one_cycle(100, 3e-4)
+reg.export("reg.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+reg = load_learner("models/reg.pkl")
+raw_preds, target, preds = reg.get_X_preds(X[splits[1]], y[splits[1]])
+```
+The ROCKETs (RocketClassifier, RocketRegressor, MiniRocketClassifier,
+MiniRocketRegressor, MiniRocketVotingClassifier or
+MiniRocketVotingRegressor) are somewhat different models. They are not
+actually deep learning models (although they use convolutions) and are
+used in a different way.
+⚠️ You’ll also need to install sktime to be able to use them. You can
+install it separately:
+``` python
+pip install sktime
+```
+or use:
+``` python
+pip install tsai[extras]
+```
+**Training:**
+``` python
+from sklearn.metrics import mean_squared_error, make_scorer
+from tsai.data.external import get_Monash_regression_data
+from tsai.models.MINIROCKET import MiniRocketRegressor
+X_train, y_train, *_ = get_Monash_regression_data('AppliancesEnergy')
+rmse_scorer = make_scorer(mean_squared_error, greater_is_better=False)
+reg = MiniRocketRegressor(scoring=rmse_scorer)
+reg.fit(X_train, y_train)
+reg.save('MiniRocketRegressor')
+```
+**Inference:**
+``` python
+from sklearn.metrics import mean_squared_error
+from tsai.data.external import get_Monash_regression_data
+from tsai.models.MINIROCKET import load_minirocket
+*_, X_test, y_test = get_Monash_regression_data('AppliancesEnergy')
+reg = load_minirocket('MiniRocketRegressor')
+y_pred = reg.predict(X_test)
+mean_squared_error(y_test, y_pred, squared=False)
+```
+### Forecasting
+You can use tsai for forecast in the following scenarios:
+- univariate or multivariate time series input
+- univariate or multivariate time series output
+- single or multi-step ahead
+You’ll need to: \* prepare X (time series input) and the target y (see
+[documentation](https://timeseriesai.github.io/tsai/data.preparation.html))
+\* select PatchTST or one of tsai’s models ending in Plus (TSTPlus,
+InceptionTimePlus, TSiTPlus, etc). The model will auto-configure a head
+to yield an output with the same shape as the target input y.
+#### Single step
+**Training:**
+``` python
+from tsai.basics import *
+ts = get_forecasting_time_series("Sunspots").values
+X, y = SlidingWindow(60, horizon=1)(ts)
+splits = TimeSplitter(235)(y)
+tfms = [None, TSForecasting()]
+batch_tfms = TSStandardize()
+fcst = TSForecaster(X, y, splits=splits, path='models', tfms=tfms, batch_tfms=batch_tfms, bs=512, arch="TSTPlus", metrics=mae, cbs=ShowGraph())
+fcst.fit_one_cycle(50, 1e-3)
+fcst.export("fcst.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+fcst = load_learner("models/fcst.pkl", cpu=False)
+raw_preds, target, preds = fcst.get_X_preds(X[splits[1]], y[splits[1]])
+raw_preds.shape
+# torch.Size([235, 1])
+```
+#### Multi-step
+This example show how to build a 3-step ahead univariate forecast.
+**Training:**
+``` python
+from tsai.basics import *
+ts = get_forecasting_time_series("Sunspots").values
+X, y = SlidingWindow(60, horizon=3)(ts)
+splits = TimeSplitter(235, fcst_horizon=3)(y)
+tfms = [None, TSForecasting()]
+batch_tfms = TSStandardize()
+fcst = TSForecaster(X, y, splits=splits, path='models', tfms=tfms, batch_tfms=batch_tfms, bs=512, arch="TSTPlus", metrics=mae, cbs=ShowGraph())
+fcst.fit_one_cycle(50, 1e-3)
+fcst.export("fcst.pkl")
+```
+**Inference:**
+``` python
+from tsai.inference import load_learner
+fcst = load_learner("models/fcst.pkl", cpu=False)
+raw_preds, target, preds = fcst.get_X_preds(X[splits[1]], y[splits[1]])
+raw_preds.shape
+# torch.Size([235, 3])
+```
+## Input data format
+The input format for all time series models and image models in tsai is
+the same. An np.ndarray (or array-like object like zarr, etc) with 3
+dimensions:
+**\[# samples x \# variables x sequence length\]**
+The input format for tabular models in tsai (like TabModel,
+TabTransformer and TabFusionTransformer) is a pandas dataframe. See
+[example](https://timeseriesai.github.io/tsai/models.TabModel.html).
+## How to contribute to tsai?
+We welcome contributions of all kinds. Development of enhancements, bug
+fixes, documentation, tutorial notebooks, …
+We have created a guide to help you start contributing to tsai. You can
+read it
+[here](https://github.com/timeseriesAI/tsai/blob/main/CONTRIBUTING.md).
+## Enterprise support and consulting services:
+Want to make the most out of timeseriesAI/tsai in a professional
+setting? Let us help. Send us an email to learn more:
+info@timeseriesai.co
+## Citing tsai
+If you use tsai in your research please use the following BibTeX entry:
+``` text
+@Misc{tsai,
+ author = {Ignacio Oguiza},
+ title = {tsai - A state-of-the-art deep learning library for time series and sequential data},
+ howpublished = {Github},
+ year = {2022},
+ url = {https://github.com/timeseriesAI/tsai}
+}
+```
+
+%prep
+%autosetup -n tsai-0.3.6
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-tsai -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 0.3.6-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..9ac684d
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+c2b54b2af02ea53cb9a357262d5b4c79 tsai-0.3.6.tar.gz