PyPOTS Versions Save

A Python toolbox/library for reality-centric machine/deep learning and data mining on partially-observed time series with PyTorch, including SOTA neural network models for science tasks of imputation, classification, clustering, forecasting & anomaly detection on incomplete (irregularly-sampled) multivariate time series with NaN missing values/data

v0.4.1

4 weeks ago

In this refactoring version, we

  1. applied SAITS loss function to the newly added imputation models (Crossformer, PatchTST, DLinear, ETSformer, FEDformer, Informer, and Autoformer) in v0.4, and add the arguments MIT_weight and ORT_weight in them for users to balance the multi-task learning;
  2. modularized all neural network models and put their modules in the package pypots.nn.modules;
  3. removed deprecated metric funcs (e.g. pypots.utils.metrics.cal_mae that has been replaced by pypots.utils.metrics.calc_mae);

What's Changed

Full Changelog: https://github.com/WenjieDu/PyPOTS/compare/v0.4...v0.4.1

v0.4

1 month ago
  1. applied the SAITS embedding strategy to models Crossformer, PatchTST, DLinear, ETSformer, FEDformer, Informer, and Autoformer to make them applicable to POTS data as imputation methods;
  2. fixed a bug in USGAN loss function;
  3. gathered several Transformer embedding methods into the packagepypots.nn.modules.transformer.embedding;
  4. added the attribute best_epoch for NN models to record the best epoch num and log it after model training;
  5. made the self-attention operator replaceable in the class MultiHeadAttention for Transformer models;
  6. renamed the argument d_inner of all models in previous versions into d_ffn. This is for unified argument naming and easier understanding;
  7. removed deprecated functions save_model() and load_model() in all NN model classes, which are now replaced by save()and load();

What's Changed

Full Changelog: https://github.com/WenjieDu/PyPOTS/compare/v0.3.2...v0.4

v0.3.2

1 month ago
  1. fixed an issue that stopped us from running Raindrop on multiple CUDA devices;
  2. added Mean and Median as naive imputation methods;

What's Changed

Full Changelog: https://github.com/WenjieDu/PyPOTS/compare/v0.3.1...v0.3.2

v0.3.1

3 months ago

A bug in the calculation of the delta matrix (time-decay matrix) discussed in #294 gets fixed in this update.

What's Changed

Full Changelog: https://github.com/WenjieDu/PyPOTS/compare/v0.3...v0.3.1

v0.3

4 months ago

Happy New Year, dear friends! 🥳

New features and updated APIs in PyPOTS are brought to you here! In v0.3, we

  1. added TimesNet as an imputation model;
  2. simplified the structure of val_set. In previous versions, you had to give indicating_mask in the dictionary val_set that tells PyPOTS to use which values to validate the model. Now you only need to give X_ori (i.e. X_intact before) and X, both leaving their missing data as NaNs. PyPOTS will handle everything left to evaluate the model for you;
  3. enabled PyPOTS to tune hyperparameters for external models (implemented with the PyPOTS framework but haven't been integrated into PyPOTS);
  4. updated the package pypots.data.saving. Separated the functions for pickle saving and h5py saving, and added load_dict_from_h5 that can inverse (deserialize) the process of save_dict_into_h5;
  5. fixed some bugs (#255, #263, #266, #280, #282, #286, #289);

What's Changed

Full Changelog: https://github.com/WenjieDu/PyPOTS/compare/v0.2.1...v0.3

v0.2.1

5 months ago

Here are updates,

  1. for missing values after LOCF imputation (that are missing since the first step hence LOCF doesn't work), we added more options to handle them. Please refer to the argument first_step_imputation in LOCF docs. The default option is "zero" in previous versions, but we've changed it to "backward" which is more reasonable;
  2. enabled SAITS to return latent attention weights from blocks in predict() for advanced analysis e.g. in #178;
  3. renamed model saving and loading functions save_model() and load_model() into save() and load();

What's Changed

Full Changelog: https://github.com/WenjieDu/PyPOTS/compare/v0.2...v0.2.1

v0.2

6 months ago

In PyPOTS v0.2 this new version, we

  1. enabled hyperparameter tuning for all NN algorithms;
  2. fixed a bug in the updating strategy of term F in CRLI;
  3. replaced the license GPL-v3 with BSD-3-Clause that has less constraints;
  4. announced PyPOTS ecosystem;

What's Changed

Full Changelog: https://github.com/WenjieDu/PyPOTS/compare/v0.1.4...v0.2

v0.1.4

7 months ago

In this new version, we made the following changes:

  1. added the imputation model CSDI;
  2. added the unified method predict() for all models to run inference on the given test set;
  3. enabled clustering algorithms to select the best model on the validation set;
  4. fixed the bug that GP-VAE failed to run on CUDA devices;
  5. made SAITS to use customized loss function specified by users;

What's Changed

Full Changelog: https://github.com/WenjieDu/PyPOTS/compare/v0.1.3...v0.1.4

v0.1.3

7 months ago

In this release, we mainly

  1. added new models US-GAN and GP-VAE for the imputation task on POTS data;
  2. appended util functions save_dict_into_h5() to help users directly save a dataset from a Python Dictionary into an HDF5 file that can be used by models in PyPOTS with lazy-loading strategy to save RAM and CUDA memory;
  3. added internal clustering validation measures to help evaluate clustering models;
  4. enabled PyPOTS clustering models to return their latent representation for advanced analysis, e.g. internal clustering validation;
  5. added learning-rate schedulers for optimizers;

👍 Kudos to our new contributors, @AugustJW and @vemuribv! The above points 1 and 3 are implemented by them that enrich this release and make it happen here.

😎 More awesome features are on the road. Stay tuned or join us to make them happen!

What's Changed

New Contributors

Full Changelog: https://github.com/WenjieDu/PyPOTS/compare/v0.1.2...v0.1.3

v0.1.2

9 months ago

In this new version, we mainly fix some bugs, update the docs, and update TSDB changed APIs to keep compatible with it.

What's Changed

New Contributors

Full Changelog: https://github.com/WenjieDu/PyPOTS/compare/v0.1.1...v0.1.2