Skip to content

Commit 3ef3417

Browse files
authored
Merge branch 'sktime:main' into patch-1
2 parents 23868e3 + 1fc5542 commit 3ef3417

21 files changed

+215
-100
lines changed

CHANGELOG.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,82 @@
11
# Release Notes
22

3+
## v1.4.0
4+
5+
Feature and maintenance update.
6+
7+
### Highlights
8+
9+
* beta: experimental unified API for `pytorch-forecasting 2.0` release: [https://github.com/sktime/pytorch-forecasting/blob/main/docs/source/tutorials/ptf_V2_example.ipynb](notebook). Feedback appreciated in [issue 1736](https://github.com/sktime/pytorch-forecasting/issues/1736).
10+
* `TimeXer` model from `thuml` by @PranavBhatP in https://github.com/sktime/pytorch-forecasting/pull/1797
11+
12+
13+
### Enhancements
14+
15+
* [ENH] Add Type hints to `TimeSeriesDataSet` to align with pep 585 by @fnhirwa in https://github.com/sktime/pytorch-forecasting/pull/1819
16+
* [ENH] Allow multiple instances from multiple mock classes in `_safe_import` by @fnhirwa in https://github.com/sktime/pytorch-forecasting/pull/1818
17+
* [ENH] EXPERIMENTAL PR: D1 and D2 layer for v2 refactor by @phoeenniixx in https://github.com/sktime/pytorch-forecasting/pull/1811
18+
* [ENH] EXPERIMENTAL PR: make the `data_module` dataclass-like by @phoeenniixx in https://github.com/sktime/pytorch-forecasting/pull/1832
19+
* [ENH] EXPERIMENTAL: TFT model based on the new data pipeline by @phoeenniixx in https://github.com/sktime/pytorch-forecasting/pull/1812
20+
* [ENH] test suite for `pytorch-forecasting` forecasters by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1780
21+
* [ENH] `TemporalFusionTransformer` - allow mixed precision training by @Marcrb2 in https://github.com/sktime/pytorch-forecasting/pull/1518
22+
* [ENH] move model base classes into `models.base` module - part 1 by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1773
23+
* [ENH] move model base classes into `models.base` module - part 2 by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1774
24+
* [ENH] move model base classes into `models.base` module - part 2 by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1776
25+
* [ENH] tests for `TiDE` Model by @PranavBhatP in https://github.com/sktime/pytorch-forecasting/pull/1843
26+
* [ENH] refactor test metadata container to include data loader configs by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1861
27+
* [ENH] `DecoderMLP` metadata container for v1 tests by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1859
28+
* [ENH] `TimeXer` model from `thuml` by @PranavBhatP in https://github.com/sktime/pytorch-forecasting/pull/1797
29+
* [ENH] EXPERIMENTAL: Example notebook based on the new data pipeline by @phoeenniixx in https://github.com/sktime/pytorch-forecasting/pull/1813
30+
* [ENH] refactor test data scenario generation to `tests._data_scenarios` by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1877
31+
32+
### Fixes
33+
34+
* [BUG] fix absolute errorbar by @MartinoMensio in https://github.com/sktime/pytorch-forecasting/pull/1579
35+
* [BUG] EXPERIMENTAL PR: Solve the bug in `data_module` by @phoeenniixx in https://github.com/sktime/pytorch-forecasting/pull/1834
36+
* [BUG] fix incorrect concatenation dimension in `concat_sequences` by @cngmid in https://github.com/sktime/pytorch-forecasting/pull/1827
37+
* [BUG] Fix for the case when reduction is set to `none` by @fnhirwa in https://github.com/sktime/pytorch-forecasting/pull/1872
38+
* [BUG] enable silenced TFT v2 tests by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1878
39+
40+
### Documentation
41+
42+
* [DOC] fix `gradient_clip` value in tutorials to ensure reproducible outputs similar to the committed cell output by @gbilleyPeco in https://github.com/sktime/pytorch-forecasting/pull/1750
43+
* [DOC] Fix typos in getting started section of the documentation by @pietsjoh in https://github.com/sktime/pytorch-forecasting/pull/1399
44+
* [DOC] improved pull request template by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1866
45+
* [DOC] add project badges to README: sponsoring and downloads by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1891
46+
47+
### Maintenance
48+
49+
* [MNT] Isolate `cpflow` package, towards fixing readthedocs build by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1775
50+
* [MNT] fix readthedocs build by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1777
51+
* [MNT] move release to trusted publishers by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1800
52+
* [MNT] standardize `dependabot.yml` by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1799
53+
* [MNT] remove `tj-actions` by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1798
54+
* [MNT] [Dependabot](deps): bump codecov/codecov-action from 1 to 5 by @dependabot in https://github.com/sktime/pytorch-forecasting/pull/1803
55+
* [MNT] disable automated merge and approve actions by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1804
56+
* build(deps): update sphinx requirement from `<7.2.6,>3.2` to `>3.2,<8.2.4` by @dependabot in https://github.com/sktime/pytorch-forecasting/pull/1787
57+
* [MNT] Move config from `setup.cfg` to `pyproject.toml` by @Borda in https://github.com/sktime/pytorch-forecasting/pull/1852
58+
* [MNT] Move `pytest` configuration to `pyproject.toml` by @Borda in https://github.com/sktime/pytorch-forecasting/pull/1851
59+
* [MNT] Add 'UP' to extend-select for pyupgrade python syntax by @Borda in https://github.com/sktime/pytorch-forecasting/pull/1856
60+
* [MNT] Replace Black with Ruff formatting and update configuration by @Borda in https://github.com/sktime/pytorch-forecasting/pull/1853
61+
* [MNT] issue templates by @fkiraly in https://github.com/sktime/pytorch-forecasting/pull/1867
62+
* [MNT] Clearly define the MLP as a class/nn.model by @jobs-git in https://github.com/sktime/pytorch-forecasting/pull/1864
63+
64+
### All Contributors
65+
66+
@agobbifbk,
67+
@Borda,
68+
@cngmid,
69+
@fkiraly,
70+
@fnhirwa,
71+
@gbilleyPeco,
72+
@jobs-git,
73+
@Marcrb2,
74+
@MartinoMensio,
75+
@phoeenniixx,
76+
@pietsjoh,
77+
@PranavBhatP
78+
79+
380
## v1.3.0
481

582
Feature and maintenance update.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[project]
22
name = "pytorch-forecasting"
33
readme = "README.md" # Markdown files are supported
4-
version = "1.3.0" # is being replaced automatically
4+
version = "1.4.0" # is being replaced automatically
55

66
authors = [
77
{name = "Jan Beitner"},

pytorch_forecasting/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
PyTorch Forecasting package for timeseries forecasting with PyTorch.
33
"""
44

5-
__version__ = "1.3.0"
5+
__version__ = "1.4.0"
66

77
from pytorch_forecasting.data import (
88
EncoderNormalizer,

pytorch_forecasting/models/base/_base_object.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ class _BaseObject(_SkbaseBaseObject):
1212

1313

1414
class _BasePtForecaster(_BaseObject):
15-
"""Base class for all PyTorch Forecasting forecaster metadata.
15+
"""Base class for all PyTorch Forecasting forecaster packages.
1616
1717
This class points to model objects and contains metadata as tags.
1818
"""
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""DeepAR: Probabilistic forecasting with autoregressive recurrent networks."""
22

33
from pytorch_forecasting.models.deepar._deepar import DeepAR
4-
from pytorch_forecasting.models.deepar._deepar_metadata import DeepARMetadata
4+
from pytorch_forecasting.models.deepar._deepar_pkg import DeepAR_pkg
55

6-
__all__ = ["DeepAR", "DeepARMetadata"]
6+
__all__ = ["DeepAR", "DeepAR_pkg"]

pytorch_forecasting/models/deepar/_deepar.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535

3636

3737
class DeepAR(AutoRegressiveBaseModelWithCovariates):
38+
"""DeepAR: Probabilistic forecasting with autoregressive recurrent networks."""
39+
3840
def __init__(
3941
self,
4042
cell_type: str = "LSTM",

pytorch_forecasting/models/deepar/_deepar_metadata.py renamed to pytorch_forecasting/models/deepar/_deepar_pkg.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
"""DeepAR metadata container."""
1+
"""DeepAR package container."""
22

33
from pytorch_forecasting.models.base._base_object import _BasePtForecaster
44

55

6-
class DeepARMetadata(_BasePtForecaster):
7-
"""DeepAR metadata container."""
6+
class DeepAR_pkg(_BasePtForecaster):
7+
"""DeepAR package container."""
88

99
_tags = {
1010
"info:name": "DeepAR",
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""Simple models based on fully connected networks."""
22

33
from pytorch_forecasting.models.mlp._decodermlp import DecoderMLP
4-
from pytorch_forecasting.models.mlp._decodermlp_metadata import DecoderMLPMetadata
4+
from pytorch_forecasting.models.mlp._decodermlp_pkg import DecoderMLP_pkg
55
from pytorch_forecasting.models.mlp.submodules import FullyConnectedModule
66

7-
__all__ = ["DecoderMLP", "DecoderMLPMetadata", "FullyConnectedModule"]
7+
__all__ = ["DecoderMLP", "DecoderMLP_pkg", "FullyConnectedModule"]

pytorch_forecasting/models/mlp/_decodermlp.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@
2424

2525

2626
class DecoderMLP(BaseModelWithCovariates):
27-
"""
28-
MLP on the decoder.
27+
"""MLP on the decoder.
2928
3029
MLP that predicts output only based on information available in the decoder.
3130
"""

pytorch_forecasting/models/mlp/_decodermlp_metadata.py renamed to pytorch_forecasting/models/mlp/_decodermlp_pkg.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
"""DecoderMLP metadata container."""
1+
"""DecoderMLP package container."""
22

33
from pytorch_forecasting.models.base._base_object import _BasePtForecaster
44

55

6-
class DecoderMLPMetadata(_BasePtForecaster):
7-
"""DecoderMLP metadata container."""
6+
class DecoderMLP_pkg(_BasePtForecaster):
7+
"""DecoderMLP package container."""
88

99
_tags = {
1010
"info:name": "DecoderMLP",
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"""N-Beats model for timeseries forecasting without covariates."""
22

33
from pytorch_forecasting.models.nbeats._nbeats import NBeats
4-
from pytorch_forecasting.models.nbeats._nbeats_metadata import NBeatsMetadata
4+
from pytorch_forecasting.models.nbeats._nbeats_pkg import NBeats_pkg
55
from pytorch_forecasting.models.nbeats.sub_modules import (
66
NBEATSGenericBlock,
77
NBEATSSeasonalBlock,
@@ -11,7 +11,7 @@
1111
__all__ = [
1212
"NBeats",
1313
"NBEATSGenericBlock",
14-
"NBeatsMetadata",
14+
"NBeats_pkg",
1515
"NBEATSSeasonalBlock",
1616
"NBEATSTrendBlock",
1717
]

pytorch_forecasting/models/nbeats/_nbeats.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121

2222
class NBeats(BaseModel):
23+
"""N-Beats model for timeseries forecasting without covariates."""
24+
2325
def __init__(
2426
self,
2527
stack_types: Optional[list[str]] = None,

pytorch_forecasting/models/nbeats/_nbeats_metadata.py renamed to pytorch_forecasting/models/nbeats/_nbeats_pkg.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
"""NBeats metadata container."""
1+
"""NBeats package container."""
22

33
from pytorch_forecasting.models.base._base_object import _BasePtForecaster
44

55

6-
class NBeatsMetadata(_BasePtForecaster):
7-
"""NBeats metadata container."""
6+
class NBeats_pkg(_BasePtForecaster):
7+
"""NBeats package container."""
88

99
_tags = {
1010
"info:name": "NBeats",
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
"""Tide model."""
22

33
from pytorch_forecasting.models.tide._tide import TiDEModel
4-
from pytorch_forecasting.models.tide._tide_metadata import TiDEModelMetadata
4+
from pytorch_forecasting.models.tide._tide_pkg import TiDEModel_pkg
55
from pytorch_forecasting.models.tide.sub_modules import _TideModule
66

77
__all__ = [
88
"_TideModule",
99
"TiDEModel",
10-
"TiDEModelMetadata",
10+
"TiDEModel_pkg",
1111
]

pytorch_forecasting/models/tide/_tide.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919

2020
class TiDEModel(BaseModelWithCovariates):
21+
"""TiDE model for long-term time-series forecasting."""
22+
2123
def __init__(
2224
self,
2325
output_chunk_length: int,

pytorch_forecasting/models/tide/_tide_metadata.py renamed to pytorch_forecasting/models/tide/_tide_pkg.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
"""TiDE metadata container."""
1+
"""TiDE package container."""
22

33
from pytorch_forecasting.models.base._base_object import _BasePtForecaster
44

55

6-
class TiDEModelMetadata(_BasePtForecaster):
7-
"""Metadata container for TiDE Model."""
6+
class TiDEModel_pkg(_BasePtForecaster):
7+
"""Package container for TiDE Model."""
88

99
_tags = {
1010
"info:name": "TiDEModel",

pytorch_forecasting/models/timexer/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"""
44

55
from pytorch_forecasting.models.timexer._timexer import TimeXer
6-
from pytorch_forecasting.models.timexer._timexer_metadata import TimeXerMetadata
6+
from pytorch_forecasting.models.timexer._timexer_pkg import TimeXer_pkg
77
from pytorch_forecasting.models.timexer.sub_modules import (
88
AttentionLayer,
99
DataEmbedding_inverted,
@@ -27,5 +27,5 @@
2727
"EnEmbedding",
2828
"Encoder",
2929
"EncoderLayer",
30-
"TimeXerMetadata",
30+
"TimeXer_pkg",
3131
]

0 commit comments

Comments
 (0)