Skip to content

0.13.0

Compare
Choose a tag to compare
@lostella lostella released this 18 May 05:54
· 10 commits to v0.13.x since this release
2730601

Overview

We're happy to release gluonts version 0.13! This release contains a few new features and breaking changes compared to 0.12, especially around PyTorch models, data handling and model evaluation:

  • Added Support for PyTorch 2.0 , Lightning 2.0, Pandas 2.0.
  • New, more ergonomic model evaluation routines were added in #2673 (see the PR description for details on how to use those).
  • New PyTorch-based models, including PatchTST (#2748), and other torch-models-related breaking changes and improvements like #2603, #2614, #2628, #2688, and #2618.
  • Faster PandasDataset (#2663, #2665, #2860)

There are several more improvements and fixes compared to 0.12, which you can find in the changelog below. This release was possible thanks to the great work of several contributors: @jaheba, @MarcelK1102, @lostella, @gorold, @kashif, @dcmaddix, @abdulfatir, @melopeo, @huibinshen, @shchur, @pablovicente, @Gandor26, @Linbo-Liu. Thanks everyone, and thanks to users and authors of issue reports for the precious feedback!

Changelog

Breaking changes

  • Add transform.Valmap, improve transform.Chain. (#2629)
  • make Pytorch scaler's forward API consistent (#2627)
  • Remove torch specific Dataloader, remove num_workers from torch models. (#2628)
  • Pass prediction inputs as dict. (#2646)
  • Simplify scalers, move to gluonts.torch.scaler (#2632)
  • Remove TimeSeriesSlice (#2680)
  • Add model.Input. (#2684)
  • Remove FallbackPredictor. (#2686)
  • Move model init to lightning module. (#2688)
  • torch.SimpleFeedForward: Rename context to past_target. (#2704)
  • Fix style and type issues (#2711)
  • Fix off-by-one in torch DeepAR (#2618)
  • Remove dataset.Schema. (#2798)
  • Simplify univariate R wrapper (#2830)
  • Simplify plotting of forecasts. (#2864)

Major improvements or new features

  • Expose weight_decay in torch TFT estimator class (#2603)
  • Allow ReduceLROnPlateau to track val_loss when validation set is available (#2614)
  • Add wrapper for Nixtla/hierarchicalforecast (#2591)
  • Add zebras freq/period. (#2651)
  • Faster index building in PandasDataset (#2663)
  • Speed up PandasDataset.from_long_dataframe (#2665)
  • Add zebras.TimeFrame. (#2672)
  • Allow PyTorch 2.0 (#2724)
  • Fix Pandas 2.0 compatibility issues (#2710)
  • Allow PyTorch Lightning 2.0 (#2728)
  • Add itertools.PickleCache. (#2756)
  • Add Monash repository datasets (#2771)
  • Merge zebras from proof of concept branch. (#2776)
  • Add interface to gluonts.ev (#2673)
  • Zebras: Add from_pandas classmethods to TimeFrame and Periods. (#2807)
  • Zebras: Improve TimeFrame.split. (#2808)
  • Zebras: Add TimeFrame.rename. (#2810)
  • Zebras: Add TimeFrame.rolsplit. (#2809)
  • Add fourier.arima for long seasonal time series (#2789)
  • Add patch-TST, D-Linear and a new lag-TST model (#2748)

Minor improvements or new features

  • Rework torch MeanScaler. (#2600)
  • Add dataset.loader.as_stacked_batches. (#2638)
  • Add Cyclic.stream. (#2639)
  • Add Wiki 2000 dataset (#2642)
  • Make hierarchicalforecast a single module. (#2666)
  • Add itertools.pluck_attr. (#2668)
  • Add itertools.power_set (#2682)
  • Allow axis to be a tuple in ev.aggregations (#2681)
  • Export torch models in torch module directly. (#2685)
  • Add zebras resize. (#2705)
  • improve comprehension list style (#2715)
  • Improve check for validation loop in lightning modules (#2726)
  • Add warning for "object" features in PandasDataset (#2731)
  • Remove usage of glide in tsf-reader. (#2737)
  • Add cdf and icdf to torch NegativeBinomial distribution (#2749)
  • Reduce depth of get_dataset import (#2796)
  • Reduce depth of gluonts.dataset.repository imports in code and docs (#2803)
  • Fix: remove multiprocessing from TSFReader (#2806)
  • Add maybe stub file. (#2811)
  • Add SizedIterableSlice, an IterableSlice that supports len() (#2815)
  • add validated to DeepNPTS (#2823)
  • Refactor base metrics computation in Evaluator class (#2825)
  • Remove second call to create_lightning_module on torch estimator (#2834)
  • Ingore hidden files in FileDataset by default. (#2847)
  • Add --compression argument to arrow writer cli. (#2848)
  • Zebras: handling of weekday offsets. (#2849)
  • Zebras: Add unix_epoch method to Period and Periods. (#2851)
  • Zebras: Improve equality for Periods. (#2857)
  • Add join_items to itertools. (#2859)
  • Zebras: Add eq_to to TimeFrame. (#2858)
  • Zebras: Add eq_shape to TimeFrame. (#2863)
  • Zebras: Allow to slice TimeFrame using plain strings for time info. (#2865)
  • Zebras: Add TimeSeries.to_numpy. (#2866)
  • Cache groupby result in PandasDataset (#2860)
  • Add feat_static_cat for TSF datasets (#2871)

Bug fixes

  • Ensure dtype on feat_time in torch DeepAR. (#2596)
  • Add assertion to split function ensuring valid windows (#2587)
  • Fix bug with static cardinalities in PandasDataset (#2599)
  • Add gluonts.util.safe_extract (#2606)
  • Expose aggregation method in ensemble NBEATS, fix forecast shape (#2598)
  • Fix incorrect import in tsbench, apply latest black (#2613)
  • Fix: torch PoissonOutput scaling (#2619)
  • Remove dataclasses requirement (#2623)
  • Implement equals for init_passed_kwargs. (#2630)
  • Fix bugs in MeanScaler (#2633)
  • Fix validation_data usage in torch. (#2643)
  • Fix norm-freq to consider freq starts. (#2645)
  • Fix call to extractall (#2648)
  • Delay instantiation of ScipyStudentT object (#2660)
  • Fix DateSplitter when split date is before start (#2670)
  • Remove creation of ragged sequences in MultivariateGrouper (#2671)
  • Fix ev.seasonal_error (#2696)
  • Fix zebras period time features. (#2700)
  • Update hierarchicalforecast for new release (#2709)
  • Fix DistributionForecast failure on GPU (#2714)
  • Fix version location for sdist. (#2729)
  • Fix validation loop check for Lightning modules (#2733)
  • Fix version cmdclass handling. (#2735)
  • Fix: use non-strict inequality in definition of coverage (#2738)
  • Fix MXNet NOPScaler (#2744)
  • Fix dataset file discovery. (#2777)
  • Fix: Loading of nested paths in FileDataset. (#2779)
  • Prophet: Pass 'item_id' and 'info' to forecast. (#2780)
  • Avoid zero scale in StudentTOutput (#2791)
  • Zebras: time length fixes. (#2799)
  • Remove .to_timestamp() to fix interval plotting (#2800)
  • Fix pd.Period serialization (#2827)
  • Fix torch DeepAREstimator in case context_length=1 (#2841)

Documentation

  • Fix installation docs, fix typos in docstrings (#2625)
  • Fix r-forecast doc strings (#2669)
  • Add doctests. (#2683)
  • Fix MultivariateEvaluator docstrings (#2693)
  • Docs: minor spelling fix (#2701)
  • Docs: Add extra requirements. (#2732)
  • Update Available Models (#2740)
  • Update REFERENCES.md (#2824)
  • Update plotting in readme example. (#2867)
  • Docs: Fix and simplify tutorials. (#2869)
  • Docs: Fix black formatting of % instructions. (#2870)
  • Docs: Add download link to notebooks. (#2872)
  • Docs: Use torch DeepAR in README. (#2874)

Test / setup changes

  • Fix version in requirements to comply with stricter setuptools. (#2604)
  • Test: Increase timeout for xgboost tests. (#2601)
  • Ignore warnings in tests. (#2620)
  • Test: Remove -v option from pytest. (#2631)
  • Add hierarchicalforecast to github workflows. (#2659)
  • Make nursery tests opt-in. (#2667)
  • Add test for torch models tracing (#2658)
  • Relax pandas requirement to include pandas 2.x. (#2713)
  • Update CP-Flow fork as extra dependency for MQF2 (#2727)
  • Add scipy requirement (#2745)
  • Fix pandas removed deprecations in tests (#2778)
  • Test: Set caplog level for shell tests. (#2786)
  • Bump numpy from 1.19.2 to 1.22.0 in /src/gluonts/nursery/daf (#2787)
  • Update setuptools and wheel in test workflow (#2802)
  • Bump torch from 1.6.0 to 1.13.1 in /src/gluonts/nursery/daf (#2788)
  • Add test workflow for R based models (#2814)
  • Add tests for hierarchical model to R workflow (#2819)
  • Move notebook compilation logic to docs workflow (#2831)
  • Fix bug in docs workflow (#2836)
  • Fix docs workflow further (#2837)
  • Fix string literal in docs workflow (#2839)
  • Update action to configure AWS credentials (#2873)

Others

  • Move NPTS back to gluonts.model (#2597)
  • Remove mxnet from default dataset path (#2635)
  • Roll back MQF2 import (#2687)
  • add DAF source code (#2769)
  • Add code for multivariate attack paper (#2697)
  • Update wiki2k tarball path (#2805)
  • [Nursery] CoP-DeepAR: Model for temporal hierarchical forecasting (#2812)
  • Cop deepar: Reset the no. of epochs to the default value (#2813)
  • Guard scripts execution in nursery (#2832)