Skip to content

Releases: WenjieDu/PyPOTS

v0.1.4

11 Oct 15:47
Compare
Choose a tag to compare

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

  • Add the method predict() for all models by @WenjieDu in #199
  • Refactor algorithms' module structure, enable customized loss function in SAITS, enable GP-VAE to run on CUDA, etc. by @WenjieDu in #201
  • Merge dev into main by @WenjieDu in #202
  • Make clustering algorithms to select the best model according to the loss on a given validation set by @WenjieDu in #204
  • Fixing failed CI testing due to dependency installation error by @WenjieDu in #206
  • Adding the model CSDI by @WenjieDu in #208
  • Refactoring, and updating the docs by @WenjieDu in #209
  • Adding CSDI, updating the docs by @WenjieDu in #210

Full Changelog: v0.1.3...v0.1.4

v0.1.3

28 Sep 12:09
66ace35
Compare
Choose a tag to compare

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

  • Adding the package to store frequently-used modules; by @WenjieDu in #170
  • feat: add Transformer encoder, decoder, and decoder_layer; by @WenjieDu in #172
  • Adding the package pypots/modules, and appending modules of vanilla Transformer by @WenjieDu in #173
  • Add internal clustering validation measures to pypots.utils.metrics by @vemuribv in #179
  • Add save_dict_into_h5() and sliding_window(), add .gitignore, and update the docs by @WenjieDu in #180
  • Merge dev into pr/176 by @WenjieDu in #181
  • Fixing failed doc build by @WenjieDu in #186
  • Fixing the failed workflow Autoreply to Issues Opened for PyPOTS and update the PR template by @WenjieDu in #184
  • Merge dev into main by @WenjieDu in #188
  • add models GP-VAE/USGAN by @AugustJW in #176
  • Refactor testing cases by @WenjieDu in #189
  • Add models US-GAN and GP-VAE, update docs, refactor testing cases, add cal_internal_cluster_validation_metrics() by @WenjieDu in #190
  • Extract latent from clustering models by @WenjieDu in #192
  • Add internal and external cluster validation funcs, and enable CRLI and VaDER to return latent for advanced analysis by @WenjieDu in #193
  • Add learning-rate schedulers by @WenjieDu in #195
  • Add learning-rate schedulers for optimizers, and by @WenjieDu in #196
  • Releasing v0.1.3; by @WenjieDu in #197

New Contributors

Full Changelog: v0.1.2...v0.1.3

v0.1.2

11 Aug 09:06
931623f
Compare
Choose a tag to compare

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

  • Update logging, and fix the error in the usage example by @WenjieDu in #131
  • Fix single-item device list throwing an error by @MaciejSkrabski in #133
  • Fix the single-item device list error, update docs by @WenjieDu in #134
  • Specifying the version of protobuf<=4.21.12 to fix issue #135 by @WenjieDu in #136
  • Update docs and citation info by @WenjieDu in #140
  • Fix daily testing by @WenjieDu in #143
  • Fixing failed daily testing with MacOS python 3.7, and update docs by @WenjieDu in #144
  • Update docs by @WenjieDu in #148
  • Fixing the bug in raindrop when running on multiple devices by @WenjieDu in #149
  • Updating docs, and fixing the bug in raindrop when running on multiple devices by @WenjieDu in #150
  • Fixing the invalid badge of PyPI downloads by @WenjieDu in #152
  • Updating stale workflow, and updating docs by @WenjieDu in #154
  • Update actions/stale@v8, and fix docs typo by @WenjieDu in #156
  • fix: the type hint for function mcar() in comments by @yhzhu99 in #157
  • Update the greeting workflow, and update the docs by @WenjieDu in #159
  • Updating workflows and docs by @WenjieDu in #162
  • Fixing the bug caused by changed tsdb api, updating the docs by @WenjieDu in #166
  • Updating docs and releasing v0.1.2 by @WenjieDu in #167

New Contributors

Full Changelog: v0.1.1...v0.1.2

v0.1.1 is here! And we bring you parallel training on multiple GPUs 🚀

22 May 10:51
201fe6f
Compare
Choose a tag to compare

In this new version, we

  1. enable PyPOTS to run on multiple CUDA devices to train models in parallel. NOW you can further speed up your model training in PyPOTS 🥳;
  2. add the imputation model M-RNN;
  3. add the optimizer Adadelta;

What's Changed

Full Changelog: v0.1.0...v0.1.1

v0.1.0

16 May 17:34
e520dde
Compare
Choose a tag to compare

In this new version, we

  1. separated each model into a single package, for better standardization and easier management in the library;
  2. added model templates, for each task to assist PyPOTS contributors to quickly add new models;
  3. isolated optimizers from models,
    1). to separate hyperparameters and avoid putting all of them in one place, which could result in a mess and be not readable;
    2). to provide additional functionalities in the near future, such as learning rate scheduling, etc.
  4. Documentations are formally released! 🚀
    Visit PyPOTS website to see them;

What's Changed

  • Try to automatically fix the exception ValueError raised by gmm.fit() during VaDER training by @WenjieDu in #62
  • Fix the exceptionValueError raised by gmm.fit() during VaDER training, update README, move logo figs, and remove version.py by @WenjieDu in #63
  • Add pypots-cli dev by @WenjieDu in #66
  • Add pre-commit and enable pre-commit hooks to check code before commtting by @WenjieDu in #68
  • Add pre-commit config file and update issue templates by @WenjieDu in #69
  • Add unit-test cases for pypots-cli by @WenjieDu in #72
  • Fix bugs in the code-coverage report by @WenjieDu in #73
  • Add devcontainer config by @WenjieDu in #76
  • Tutorial release, new features, and bug fix by @WenjieDu in #75
  • Fix dependency error in daily testing by @WenjieDu in #77
  • Add PR template, and make the dependencies consistent in all config files by @WenjieDu in #78
  • Update READE, and separate the number of trainable parameters with commas by @WenjieDu in #79
  • Fix the footer issue on the docs home page, and update the docs by @WenjieDu in #81
  • Update the docs with the pages installation and about_us added by @WenjieDu in #82
  • Add the documentation pages of FAQ and examples by @WenjieDu in #83
  • Enable different model saving strategies with argument model_saving_strategy by @WenjieDu in #84
  • Make each model a single package by @WenjieDu in #86
  • Fix failed docs building, update the docs, and allow tests for CLI to fail by @WenjieDu in #89
  • Fix failed daily-testing workflow, rename filesdataset.py into data.py, and update the docs by @WenjieDu in #91
  • Add gtag to the docs site by @WenjieDu in #92
  • Update docs by @WenjieDu in #93
  • Update the documentation by @WenjieDu in #94
  • Fix the corrupted testing badge caused by renaming the workflow by @WenjieDu in #95
  • Move tests from dir pypots to the root dir by @WenjieDu in #96
  • Fix not shown heading Attributes in docs by @WenjieDu in #98
  • Fix not shown heading Attributes in docs, and update the docs by @WenjieDu in #99
  • Should use package pypots as the source for code coverage calculation, rather than tests by @WenjieDu in #101
  • Update docs, and fix the misdisplayed footer on the page References by @WenjieDu in #103
  • Create package pypots.optim to separate optimizers from models by @WenjieDu in #106
  • Add package pypots.optim to separate optimizers from models, and update docs by @WenjieDu in #107
  • Update the docs for version 0.1 by @WenjieDu in #104
  • Update the docs by @WenjieDu in #108
  • Update the docs, and refactor the code by @WenjieDu in #109
  • Add .coveragerc to omit files in templates by @WenjieDu in #111
  • Add model templates, and release v0.1 by @WenjieDu in #110
  • Fix the failed auto release workflow with missing dependencies by @WenjieDu in #113

Full Changelog: v0.0.11...v0.1

v0.0.11

19 Apr 14:37
96a6b99
Compare
Choose a tag to compare
v0.0.11 Pre-release
Pre-release

PyPOTS v0.0.11 is released now! 🤩

In this new version, we

1️⃣. added issue templates to help our community open issues properly in different categories;
2️⃣. enabled a code-linting workflow applying Flake8;
3️⃣. implemented the training log saving feature, which can help PyPOTS users better know models' performance during the training stage so that now tuning hyper-parameters is easier;
4️⃣. eased dependency management with file setup.cfg;
5️⃣. fixed an emergency bug🐞 "tensors not on the same device" when running on CUDA devices❗️

Also, together with this release, we initialize the development of pypots-cli, a command line interface tool currently to help PyPOTS developers run tests, code linting, and doc generating, and will enable users to run PyPOTS with shell commands in the future.

PyPOTS is growing 🚀. Stay tuned please!

What's Changed

  • Merge dev into main to update the documentation and add doc-generating shell scripts by @WenjieDu in #40
  • Add issue templates by @WenjieDu in #41
  • Decrease testing python version 3.11 to 3.10, and remove fixed dependency versions by @WenjieDu in #43
  • Save training logs into tensorboard files, enable setting num_workers of DataLoader, and add typing annotations by @WenjieDu in #42
  • Make imputation models val_X_intact and val_indicating_mask be included in input val_set originally by @WenjieDu in #44
  • Refactor the code and correct the error path of the pip-requirement file for Daily-testing workflow by @WenjieDu in #45
  • Save training logs into tensorboard files by @WenjieDu in #46
  • Implemented saving logs into tb file for models, and added test cases for log and model saving by @WenjieDu in #47
  • Add the lint-code workflow and pypots-cli to help development by @WenjieDu in #48
  • Merge 'dev' into 'main': add the lint-code workflow and pypots-cli by @WenjieDu in #49
  • Update limitations on dependency versions by @WenjieDu in #50
  • Add version limitations on dependency 'torch' and 'pandas' by @WenjieDu in #51
  • Update issue templates and fix the python version error in daily testing workflow by @WenjieDu in #53
  • Add issue template config file and fix errors in testing_daily workflow by @WenjieDu in #54
  • Use setup.cfg to manage dependencies for different usages by @WenjieDu in #55
  • Add CLI tool pypots-cli doc and update the dependencies of the development env by @WenjieDu in #56
  • Update documentation configurations and add readthedocs.yml for processing control by @WenjieDu in #60
  • Fix the bug of tensors not on the same device when running on CUDA device by @WenjieDu in #59
  • Fix the error of non-valid license classifier in setup.py by @WenjieDu in #61

Full Changelog: v0.0.10...v0.0.11

v0.0.10

01 Apr 16:34
f64dda9
Compare
Choose a tag to compare
v0.0.10 Pre-release
Pre-release

Dear friends, PyPOTS v0.0.10 is here! 🥳

In this version, we

  1. added support for training models on large datasets with a lazy-loading strategy. I believe this feature is necessary for our users who want to apply PyPOTS in some industrial scenarios where massive datasets are common;
  2. updated the input format. To be compatible with lazy-loading large data from file, the input of function fit() now has been changed from X to train_set. train_set has to be a dict like {"X": X, "y": y} or a path string locating a HDF5 file.
  3. replaced print with logging, which can show necessary printing information more structured;
  4. fixed some inconspicuous and non-fatal bugs;
  5. added test cases to top up the code coverage;
  6. synchronously release PyPOTS in the channel conda-forge on Anaconda, now you can install with conda;

Still, this is a pre-release before the first official version 0.1, and this probably is the last pre-release before v0.1. I'm still working on the docs, tutorials, and new models. Ping me if you have any suggestions or comments! Many thanks, my friends!

What's Changed

Full Changelog: v0.0.9...v0.0.10

v0.0.9

20 Dec 14:03
0d2f36a
Compare
Choose a tag to compare
v0.0.9 Pre-release
Pre-release

In this version, we speed up the installation process of PyPOTS. We noticed that torch_geometric and related dependencies take too much time to install. Therefore, they're removed from the list of requirements. They're necessary for the graph model RainDrop. Hence, users who need RainDrop have to install torch_geometric manually after they set up PyPOTS.

What's Changed

Full Changelog: v0.0.8...v0.0.9

Pre-release v0.0.8

13 Sep 10:27
Compare
Choose a tag to compare
Pre-release v0.0.8 Pre-release
Pre-release

Fixed bugs with running on CUDA devices;

What's Changed

New Contributors

Full Changelog: v0.0.7...v0.0.8

Pre-release v0.0.7

12 Jul 15:55
Compare
Choose a tag to compare
Pre-release v0.0.7 Pre-release
Pre-release

Fix the bug mentioned in #4 and some other issues.

Full Changelog: https://github.com/WenjieDu/PyPOTS/commits/v0.0.7