Releases: WenjieDu/PyPOTS
v1.0🍻The 1st major version comes
We enabled PatchTST and Autoformer to work on the classification task. In addition, some reported bugs from the community have been fixed. 👍Kudos to our new contributor @zltututu!
Considering the major functionalities in the current stage have all been implemented and we have researched a stable version, this version is released as the 1st major version of PyPOTS as v1.0. This is our new milestone, and let's move forward towards v2.0!
What's Changed
- Fix runtime error in ModernTCN when using multiple layers by @zltututu in #751
- Fix the unintended overwriting issue in TimesNet by @WenjieDu in #756
- Add classification PatchTST by @WenjieDu in #757
- Add classification Autoformer by @WenjieDu in #758
- Update docs by @WenjieDu in #759
- Release v1.0 by @WenjieDu in #760
New Contributors
Full Changelog: v0.19...v1.0
v0.19📈Implement 3 models for forecasting
MICN, DLinear, and FiLM are implementation for time series forecasting.
What's Changed
- Update docs by @WenjieDu in #743
- Update docs by @WenjieDu in #746
- Add forecasting MICN by @WenjieDu in #747
- Add forecasting DLinear by @WenjieDu in #748
- Add forecasting FiLM by @WenjieDu in #749
- Add forecasting FiLM, DLinear, MICN, and release v0.19 by @WenjieDu in #750
Full Changelog: v0.18...v0.19
v0.18🔍Implement 10 models on anomaly detection
iTransforme, Crossforme, Pyraformer, FEDformer, Informer, Transformer, ETSformer, TimeMixer, Nonstationary Tr., and FiLM are implemented on the anomaly detection task.
What's Changed
- Add 10 new anomaly detection algorithms by @yyysjz1997 in #738
- Add 10 new models by @WenjieDu in #739
- Update docs by @WenjieDu in #741
- Update docs and release v0.18 by @WenjieDu in #742
Full Changelog: v0.17...v0.18
v0.17 Five algos added to anomaly detection
TimeMixer++, SCINet, DLinear, TimesNet, and Reformer are implemented on the anomaly detection task.
👍Kudos to our new contributors Yiyuan @yyysjz1997 and Pavel @Durakavalyanie!
What's Changed
- Add anomaly detection TimesNet by @yyysjz1997 in #725
- Fix unused n_sampling_times argument in CSDI.predict by @Durakavalyanie in #730
- Implement Reformer for anomaly detection by @WenjieDu in #732
- Implement SCINet for anomaly detection by @WenjieDu in #733
- Implement DLinear for anomaly detection by @WenjieDu in #734
- Implement TimeMixerPP for anomaly detection by @WenjieDu in #735
- Update the staling workflow and the PR template by @WenjieDu in #731
- Update docs by @WenjieDu in #736
- Release v0.17 by @WenjieDu in #737
New Contributors
- @yyysjz1997 made their first contribution in #725
- @Durakavalyanie made their first contribution in #730
Full Changelog: v0.16...v0.17
v0.16 Three forecasting algos implemented
ModernTCN, TimesNet, and SegRNN are implemented on the forecasting task in this release.
What's Changed
- Add forecasting TimesNet by @WenjieDu in #705
- Update dependency versions for development environment by @WenjieDu in #709
- Update some CI configs by @WenjieDu in #713
- Fix AttributeError: 'NoneType' object has no attribute 'endswith' in TimeLLM by @WenjieDu in #712
- Add
sentencepieceto dependencies of dev env by @WenjieDu in #715 - Exempt issues and PRs with 'potential bug' label from staling by @WenjieDu in #716
- Add forecasting ModernTCN by @WenjieDu in #717
- Add forecasting SegRNN by @WenjieDu in #720
- Add issue manger to auto close completed issues by @WenjieDu in #721
- Update docs by @WenjieDu in #722
- Decrease anomaly rate in CI testing to avoid GPT4TS outputting NaNs by @WenjieDu in #723
- Release v0.16 by @WenjieDu in #724
- Fix failed issue manager by @WenjieDu in #728
- Fix failed greeting workflow by @WenjieDu in #727
Full Changelog: v0.15...v0.16
v0.15⚡️Three New Algos
In this release, TimeMixer++, TOTEM, and TSLANet are included and have been implemented on the imputation task.
What's Changed
- Add TimeMixer++ by @WenjieDu in #691
- Bump the least version of Python to 3.9 in GitHub CI workflow by @WenjieDu in #698
- Add TOTEM modules and IMPU TOTEM by @WenjieDu in #694
- Add TSLANet modules and IMPU TSLANet by @WenjieDu in #696
- Release v0.15 by @WenjieDu in #700
- Update docs by @WenjieDu in #702
- Publish to Docker Hub by @WenjieDu in #703
Full Changelog: v0.14...v0.15
v0.14🕵Six Anomaly Detection Models Implemented
This new release implements TEFN, ImputeFormer, SAITS, PatchTST, SegRNN, and Autoformer for anomaly detection. Moreover, models now output their latents #674, which are returned as a part of dict results in pypots.{task_name}.{model_name}.core._{mode_name}.forward(). A model-saving bug (#668) has been fixed that may result in the best model state not being properly loaded/saved.
Refer to the below changelog for more details.
What's Changed
- Fix the bug that model state not a deep copy by @WenjieDu in #668
- build(deps): bump actions/setup-python from 3 to 5 by @dependabot in #636
- Fix failed CLAS TEFN with
ROC AUC<0.5 by @WenjieDu in #671 - Add ANOD Autoformer by @WenjieDu in #672
- Update docs to add ANOD package by @WenjieDu in #673
- Output model latents and refactor the framework by @WenjieDu in #674
- Fix OOM TimeLLM when testing by @WenjieDu in #676
- Use agreed names to distinguish data at different stages by @WenjieDu in #678
- Fix the bug that calc_criterion() not callable on multiGPUs by @WenjieDu in #681
- Implement SAITS for anomaly detection by @WenjieDu in #684
- Fix failed docs building by @WenjieDu in #685
- Implement TEFN for anomaly detection by @WenjieDu in #686
- Implement ImputeFormer for anomaly detection by @WenjieDu in #687
- Implement PatchTST for anomaly detection by @WenjieDu in #688
- Implement SegRNN for anomaly detection by @WenjieDu in #689
- Release v0.14 by @WenjieDu in #690
Full Changelog: v0.13...v0.14
v0.13🤩Five classification models implemented
TS2Vec (pypots.vec.ts2vec) is included in PyPOTS for representation learning and vectorization on POTS data. TEFN, iTransformer, SAITS, TimesNet, and the new added TS2Vec are implemented for classification. Note that, from this version, classification category results are output as key classification of the returned dictionary, and classification probabilities are returned as key classification_proba instead. Function predict_proba() is added to all classification models for users to obtain classification probabilities directly.
Several bugs are fixed in this release. Refer to the changelog below for details.
What's Changed
- build(deps): bump actions/checkout from 3 to 4 by @dependabot in #635
- build(deps): bump conda-incubator/setup-miniconda from 2 to 3 by @dependabot in #637
- Fix the bug data and mode not on same device by @WenjieDu in #631
- Fix failed CRLI, Koopa, and USGAN on multiple GPUs by @WenjieDu in #633
- Omit not-trained LLM parts when saving models to decrease file sizes by @WenjieDu in #640
- Add TS2Vec by @WenjieDu in #642
- Add model.eval() at the beginning of predict() to avoid potential bug by @WenjieDu in #643
- Add classification TS2Vec by @WenjieDu in #644
- Fix wrong dim when concatenating eval labels in pypots.classification.base by @WenjieDu in #646
- Add classification SAITS by @WenjieDu in #649
- Update testing configs and issue templates by @WenjieDu in #647
- Add classification TimesNet by @WenjieDu in #651
- Add classification iTransformer by @WenjieDu in #656
- Add classification TEFN by @WenjieDu in #657
- Refactoring to make training_loss/validation_metric/optimizer accept class type by @WenjieDu in #660
- Fix map_location err by @WenjieDu in #661
- Make
Criteriontake logits by @WenjieDu in #659 - Unify
_train_model()by @WenjieDu in #662 - Update docs by @WenjieDu in #658
- Add
predict_proba()for classification models by @WenjieDu in #664 - Release v0.13 by @WenjieDu in #665
New Contributors
- @dependabot made their first contribution in #635
Full Changelog: v0.12...v0.13
v0.12🤘Add MOMENT for forecasting&imputation
MOMENT, a time-series foundation model, is added in this version and has been implemented on the tasks of forecasting and imputation. We also fix a bug that user customized training loss was not applied to some models #610. Moreover, please note that we unify the names of arguments patching length and patching stride for models utilizing patch embedding proposed in PatchTST #628.
What's Changed
- Fix bug that given customized loss not applied to some models by @WenjieDu in #610
- Apply decorator @torch.no_grad() to simplify predict() by @WenjieDu in #612
- Load pickled data file with pd.read_pickle for pandas>=2 by @WenjieDu in #614
- Update docs by @WenjieDu in #615
- Add Dependabot by @WenjieDu in #617
- Add attribute
amp_enabledto switchautocastby @WenjieDu in #620 - Implement MOMENT on imputation and forecasting tasks by @WenjieDu in #622
- Fix bug that devices not consistent by @WenjieDu in #626
- Unify the name of patch size and stride by @WenjieDu in #628
- Update docs and fix linting errors by @WenjieDu in #629
- Add the script to run full test by @WenjieDu in #624
- Release v0.12 and bump TSDB to v0.7.1 by @WenjieDu in #630
- Release v0.12 by @WenjieDu in #634
Full Changelog: v0.11...v0.12
v0.11📈Six algos for forecasting
We make Time-LLM, TEFN, FITS, TimeMixer, GPT4TS, and Transformer work on the forecasting task (still accept POTS as input) for you in this release of v0.11
Additionally, we conduct some refactorings in this version:
- AMP (Automatic Mixed Precision) is enabled for LLM-based model training. Users can switch it on by specifying the env var
ENABLE_AMP#594; - pypots tuning is now renamed into pypots hpo #592;
- pypots environment variables are capitalized #591;
- all data preprocessing functions are removed from pypots, and users are encouraged to fully use BenchPOTS instead, which includes processing pipelines for 172 public datasets #585;
What's Changed
- Refactor some parts by @WenjieDu in #586
- Update docs by @WenjieDu in #587
- Remove data prerprocessing pipelines and update docs by @WenjieDu in #588
- Capitalize env vars and rename PyPOTS
tuningmodule intohpoby @WenjieDu in #593 - Enable AMP (Automatic Mixed Precision) in PyPOTS by @WenjieDu in #594
- Add
pypots.forecasting.Transformerby @WenjieDu in #597 - Add
pypots.forecasting.FITSby @WenjieDu in #600 - Add
pypots.forecasting.TEFNby @WenjieDu in #602 - Add
pypots.forecasting.TimeMixerby @WenjieDu in #603 - Add
pypots.forecasting.TimeLLMby @WenjieDu in #604 - Add
pypots.forecasting.GPT4TSby @WenjieDu in #605 - Fix x and x_mark shape not consistent bug in forecasting TimeMixer by @WenjieDu in #607
- Release v0.11 by @WenjieDu in #608
Full Changelog: v0.10...v0.11