Tsai Versions Save

Time series Timeseries Deep Learning Machine Learning Pytorch fastai | State-of-the-art Deep Learning library for Time Series and Sequences in Pytorch / fastai

0.3.9

2 months ago
  • support to MPS backend. Both the MPS accelerator and the PyTorch backend are still experimental. As such, not all operations are currently supported.
  • compatibility with torch 2.2
  • ability to pass arch_config to multimodal models

0.3.8

5 months ago

New Features

  • added Hydra and HydraMultiRocket archs (#800)

Bugs Squashed

  • UCR Dataset download link has been updated (#827)

  • mWDNPlus now supports multidimensional outputs (#802)

  • Fixed import issues with demo code in Readme.MD (#798)

0.3.7

10 months ago

New Features

  • added functionality to support inputs with static/ observed (time-dependent) features

  • added functionality to support inputs with categorical/ continuous features

  • added functionality to apply patches to time series models

  • Added MultiRocket/ MultiRocketPlus architectures

  • added TSSelfDropout (#790)

  • added get_feat_idxs to calculate multimodal indices (#789)

  • remaining features assigned to o_cont_idxs by default (#788)

  • added patch encoder to MultiInputWrapper (#787)

  • added TSTargetEncoder transform (#769)

  • added TSRobustScaler to tfm pipelines (#763)

  • added new tfms - TSDropIfTrueCols and ApplyFunc (#760)

  • tensor slices in different devices when using TensorSplitter (#799)

Bugs Squashed

  • mixed augmentations (MixUp1d, CutMix1d,..) are not updating labels (#791)

  • get_UCR_data function fails due to changed download link (#785)

  • error when using TSSelectColumns due to pandas df slicing (#762)

  • short arrays create issues when running get_usable_idxs (#761)

  • get_X_pred creates different probablities when using numpy array or torch tensor (#754)

  • partial_n is applied to all datasets by default (#748)

  • get_best_dls_params function still prints output when the verbose parameter is set to false (#737)

  • using xresnet for vision classification raises an error (#728)

0.3.6

1 year ago

New Features

  • added optional activation to get_X_preds (#715)

  • added external vocab option to dls (#705)

  • allow classification outputs with n dimensions (#704)

  • added get_sweep_config to wandb module (#687)

  • added functionality to run pipeline sweeps (#686)

  • added seed to learners to make training reproducible (#685)

  • added functionality to filter df for required forecasting dates (#679)

  • added option to train model on train only (#671)

Bugs Squashed

  • access all available dataloaders in dls (#724)

  • make all models ending in Plus work with ndim classification targets (#719)

  • make all models ending in Plus work with ndim work with ndim regression/ forecasting targets (#718)

  • added MiniRocket to get_arch (#717)

  • fixed issue with get_arch missing new models (#709)

  • valid_metrics causes an error when using TSLearners (#708)

  • valid_metrics are not shown when an array is passed within splits (#707)

  • TSDatasets w/o tfms and inplace=False creates new X (#695)

  • Prediction and True Values Swapped in plot_forecast (utils.py) (#690)

  • MiniRocket incompatible with latest scikit-learn version (#677)

  • Df2xy causing incorrect splits (#666)

  • Feature Importance & Step Importance Not working (#647)

  • multi-horizon forecasting (#591)

  • Issues saving models with TSMetaDataset Dataloader (#317)

0.3.5

1 year ago

Breaking Changes

  • removed default transforms from TSClassifier, TSRegressor and TSForecaster (#665)

New Features

  • add option to pass an instantiated model to TSLearners (#650)

  • Added PatchTST model to tsai (#638)

  • Added new long-term time series forecasting tutorial notebook

Bugs Squashed

  • Undefined variable (#662)

  • Multivariate Regression and Forecasting basic tutorials throw an error (#629)

  • TypeError: init() got an unexpected keyword argument 'custom_head' (#597)

  • Issues with TSMultiLabelClassification (#533)

  • Incompatible errors or missing functions in 'tutorial_nbs' notebooks, please fix. (#447)

  • Saving models with TSUnwindowedDataset Dataloaders: AttributeError: 'TSUnwindowedDataset' object has no attribute 'new_empty' (#215)

0.3.4

1 year ago

New Features

  • compatibility with Pytorch 1.13 (#619)

  • added sel_vars to get_robustscale_params (#610)

  • added sel_steps to TSRandom2Value (#607)

  • new walk forward cross-validation in tsai (#582)

Bugs Squashed

  • fixed issue when printing an empty dataset wo transforms NoTfmLists (#622)

  • fixed minor issue in get_robustscaler params with sel_vars (#615)

  • fixed issue when using tsai in dev with VSCode (#614)

  • issue when using lists as sel_vars and sel_steps in TSRandom2Value (#612)

  • fixed issue with feature_importance and step_importance when using metrics (#609)

  • renamed data processing tfms feature_idxs as sel_vars for consistency (#608)

  • fixed issue when importing 'GatedTabTransformer' (#536)

0.3.2

1 year ago

Breaking Changes

  • replaced TSOneHot preprocessor by TSOneHotEncode using a different API (#502)

  • replaced MultiEmbedding n_embeds, embed_dims and padding_idxs by n_cat_embeds, cat_embed_dims and cat_padding_idxs (#497)

New Features

  • added GaussianNoise transform (#514)

  • added TSSequencer model based on Sequencer: Deep LSTM for Image Classification paper (#508)

  • added TSPosition to be able to pass any steps list that will be concatenated to the input (#504)

  • added TSPosition preprocessor to allow the concatenation of a custom position sequence (#503)

  • added TSOneHot class to encode a variable on the fly (#501)

  • added token_size and tokenizer arguments to tsai (#496)

  • SmeLU activation function not found (#495)

  • added example on how to perform inference, partial fit and fine tuning (#491)

  • added get_time_per_batch and get_dl_percent_per_epoch (#489)

  • added TSDropVars used to removed batch variables no longer needed (#488)

  • added SmeLU activation function (#458)

  • Feature request: gMLP and GatedTabTransformer. (#354)

  • Pay Attention to MLPs - gMLP (paper, implementation)

  • The GatedTabTransformer (paper, implementation);

Bugs Squashed

  • after_batch tfms set to empty Pipeline when using dl.new() (#516)

  • 00b_How_to_use_numpy_arrays_in_fastai: AttributeError: attribute 'device' of 'torch._C._TensorBase' objects is not writable (#500)

  • getting regression data returns _check_X() argument error (#430)

  • I wonder why only 'Nor' is displayed in dls.show_batch(sharvey=True). (#416)

0.3.1

2 years ago

Release notes

0.3.1

New Features

  • added StratifiedSampler to handle imbalanced datasets (#479)

  • added seq_embed_size and seq_embed arguments to TSiT (#476)

  • added get_idxs_to_keep that can be used to filter indices based on different conditions (#469)

  • added SmeLU activation function (#458)

  • added split_in_chunks (#454)

  • upgraded min Python version to 3.7 (#450)

  • added sampler argument to NumpyDataLoader and TSDataLoader (#436)

  • added TSMask2Value transform which supports multiple masks (#431)

  • added TSGaussianStandardize for improved ood generalization (#428)

  • added get_dir_size function (#421)

Bugs Squashed

  • slow import of MiniRocketMultivariate from sktime (#482)

  • Fixed install from source fails on Windows (UnicodeDecodeError) (#470)

  • TSDataset error oindex is not an attribute (#462)

  • split_in_chunks incorrectly calculated (#455)

  • _check_X() got an unexpected keyword argument 'coerce_to_numpy' (#415)

0.3.0

2 years ago

Release notes

0.3.0

New Features

  • Added function that pads sequences to same length (#410)

  • Added TSRandomStandardize preprocessing technique (#396)

  • New visualization techniques: model's feature importance and step importance (#393)

  • Allow from tsai.basics import * to speed up loading (#320)

Bugs Squashed

  • Separate core from non-core dependencies in tsai - pip install tsaiextras. This is an important change that:
    • reduces the time to pip install tsai
    • avoid errors during installation
    • reduces the time to load tsai using from tsai.all import *

0.2.25

2 years ago

0.2.25

Breaking Changes

  • updated forward_gaps removing nan_to_num (#331)

  • TSRobustScaler only applied by_var (#329)

  • remove add_na arg from TSCategorize (#327)

New Features

  • added IntraClassCutMix1d (#384)

  • added learn.calibrate_model method (#379)

  • added analyze_array function (#378)

  • Added TSAddNan transform (#376)

  • added dummify function to create dummy data from original data (#366)

  • added Locality Self Attention to TSiT (#363)

  • added sel_vars argument to MVP callback (#349)

  • added sel_vars argument to TSNan2Value (#348)

  • added multiclass, weighted FocalLoss (#346)

  • added TSRollingMean batch transform (#343)

  • added recall_at_specificity metric (#342)

  • added train_metrics argument to ts_learner (#341)

  • added hist to PredictionDynamics for binary classification (#339)

  • add padding_idxs to MultiEmbedding (#330)

Bugs Squashed

  • sort_by data may be duplicated in SlidingWindowPanel (#389)

  • create_script splits the nb name if multiple underscores are used (#385)

  • added torch functional dependency to plot_calibration_curve (#383)

  • issue when setting horizon to 0 in SlidingWindow (#382)

  • replace learn by self in calibrate_model patch (#381)

  • Argument d_head is not used in TSiTPlus (#380)

  • replace default relu activation by gelu in TSiT (#361)

  • sel_vars and sel_steps in TSDatasets and TSDalaloaders don't work when used simultaneously (#347)

  • ShowGraph fails when recoder.train_metrics=True (#340)

  • fixed 'se' always equal to 16 in MLSTM_FCN (#337)

  • ShowGraph doesn't work well when train_metrics=True (#336)

  • TSPositionGaps doesn't work on cuda (#333)

  • XResNet object has no attribute 'backbone' (#332)

  • import InceptionTimePlus in tsai.learner (#328)

  • df2Xy: Format correctly without the need to specify sort_by (#324)

  • bug in MVP code learn.model --> self.learn.model (#323)

  • Colab install issues: importing the lib takes forever (#315)

  • Calling learner.feature_importance on larger than memory dataset causes OOM (#310)