Releases: WenjieDu/PyPOTS
v0.1.4
In this new version, we made the following changes:
- added the imputation model CSDI;
- added the unified method
predict()
for all models to run inference on the given test set; - enabled clustering algorithms to select the best model on the validation set;
- fixed the bug that GP-VAE failed to run on CUDA devices;
- 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
In this release, we mainly
- added new models US-GAN and GP-VAE for the imputation task on POTS data;
- 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; - added internal clustering validation measures to help evaluate clustering models;
- enabled PyPOTS clustering models to return their latent representation for advanced analysis, e.g. internal clustering validation;
- 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
intopr/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
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 🚀
In this new version, we
- enable PyPOTS to run on multiple CUDA devices to train models in parallel. NOW you can further speed up your model training in PyPOTS 🥳;
- add the imputation model M-RNN;
- add the optimizer Adadelta;
What's Changed
- Use relative imports replace absolute ones by @WenjieDu in #117
- Add optimizer Adadelta, and fix issue #116 by @WenjieDu in #118
- Docs auto param type hints by @WenjieDu in #119
- Use sphinx_autodoc_typehints to auto gene type hints for params, and improve docs by @WenjieDu in #120
- Enable parallel training on multi GPUs by @WenjieDu in #122
- skip multi-gpu test if not multi-gpu host by @MaciejSkrabski in #124
- Enable models to run on multiple CUDA devices by @WenjieDu in #125
- Add model MRNN by @WenjieDu in #126
- Add model M-RNN, and update the docs by @WenjieDu in #127
- Fix VaDER failed testing and MRNN failed training on multiple devices by @WenjieDu in #128
Full Changelog: v0.1.0...v0.1.1
v0.1.0
In this new version, we
- separated each model into a single package, for better standardization and easier management in the library;
- added model templates, for each task to assist PyPOTS contributors to quickly add new models;
- 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. - 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 exception
ValueError
raised by gmm.fit() during VaDER training, update README, move logo figs, and removeversion.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 files
dataset.py
intodata.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 dirpypots
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 thantests
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
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
intomain
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
andval_indicating_mask
be included in inputval_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
Dear friends, PyPOTS v0.0.10 is here! 🥳
In this version, we
- 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;
- updated the input format. To be compatible with lazy-loading large data from file, the input of function
fit()
now has been changed fromX
totrain_set
.train_set
has to be a dict like {"X": X, "y": y} or a path string locating a HDF5 file. - replaced
print
withlogging
, which can show necessary printing information more structured; - fixed some inconspicuous and non-fatal bugs;
- added test cases to top up the code coverage;
- 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
- merge branch dev into main by @WenjieDu in #29
- Update README.md and requirement.txt by @WenjieDu in #33
- Merge
dev
intomain
by @WenjieDu in #37 - Merge
dev
intomain
by @WenjieDu in #38 - Merge
dev
intomain
by @WenjieDu in #39
Full Changelog: v0.0.9...v0.0.10
v0.0.9
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
- Merge updates by @WenjieDu in #23
- Update README and add the configurations of docs by @WenjieDu in #24
- Merge dev into main by @WenjieDu in #26
- Merge dev into main by @WenjieDu in #28
Full Changelog: v0.0.8...v0.0.9
Pre-release v0.0.8
Fixed bugs with running on CUDA devices;
What's Changed
- fix: brits imputation test device mismatch by @MaciejSkrabski in #11
- Merge branch 'dev' into main by @WenjieDu in #13
- feat: add workflow Publish-to-PyPI by @WenjieDu in #14
- Merge branch 'dev' into main by @WenjieDu in #15
- Specify Conda channels for the dependencies by @WenjieDu in #18
- fix the bug of tensors on different devices by @WenjieDu in #22
New Contributors
- @MaciejSkrabski made their first contribution in #11
- @WenjieDu made their first contribution in #13
Full Changelog: v0.0.7...v0.0.8
Pre-release v0.0.7
Fix the bug mentioned in #4 and some other issues.
Full Changelog: https://github.com/WenjieDu/PyPOTS/commits/v0.0.7