Skip to content

Commit

Permalink
Merge branch 'dev' into sam
Browse files Browse the repository at this point in the history
  • Loading branch information
kashif authored Oct 18, 2024
2 parents b3931cd + 3d05d46 commit 20cdab0
Show file tree
Hide file tree
Showing 10 changed files with 20 additions and 17 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/tests-torch.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ jobs:
pip install ".[arrow]" \
-r requirements/requirements-test.txt \
-r requirements/requirements-extras-m-competitions.txt \
-r requirements/requirements-pytorch.txt \
-r requirements/requirements-extras-cpflows.txt
-r requirements/requirements-pytorch.txt
pip install --no-deps -r requirements/requirements-extras-cpflows.txt
- name: Test with pytest
run: |
pytest -n2 --doctest-modules --ignore test/nursery test
4 changes: 2 additions & 2 deletions requirements/requirements-pytorch.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
torch>=1.9,<3
lightning>=2.2.2,<2.4
lightning>=2.2.2,<2.5
# Capping `lightning` does not cap `pytorch_lightning`, so we cap manually
pytorch_lightning>=2.2.2,<2.4
pytorch_lightning>=2.2.2,<2.5
scipy~=1.10; python_version > "3.7.0"
scipy~=1.7.3; python_version <= "3.7.0"
2 changes: 1 addition & 1 deletion requirements/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
numpy~=1.16
numpy>=1.16,<2.2
pandas>=1.0,<3
pydantic>=1.7,<3
tqdm~=4.23
Expand Down
4 changes: 2 additions & 2 deletions src/gluonts/dataset/pandas.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

import logging
from dataclasses import dataclass, field, InitVar
from typing import Any, Iterable, Optional, Type, Union, cast
from typing import Any, Iterable, Optional, Type, Union

import numpy as np
import pandas as pd
Expand Down Expand Up @@ -351,4 +351,4 @@ def is_uniform(index: pd.PeriodIndex) -> bool:
False
"""

return cast(bool, np.all(np.diff(index.asi8) == index.freq.n))
return bool(np.all(np.diff(index.asi8) == index.freq.n))
2 changes: 1 addition & 1 deletion src/gluonts/itertools.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ def _location_for(self, idx, side="right") -> _SubIndex:
else:
local_idx = idx - self._offsets[part_no - 1]

return _SubIndex(part_no, local_idx)
return _SubIndex(int(part_no), int(local_idx))

def __getitem__(self, idx):
if isinstance(idx, slice):
Expand Down
2 changes: 1 addition & 1 deletion src/gluonts/model/forecast_generator.py
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ def _unpack(batched) -> Iterator:
This assumes that arrays are wrapped in a nested structure of lists and
tuples, and each array has the same shape::
>>> a = np.arange(5)
>>> a = np.arange(5, dtype="O")
>>> batched = [a, (a, [a, a, a])]
>>> list(_unpack(batched))
[[0, (0, [0, 0, 0])],
Expand Down
2 changes: 1 addition & 1 deletion src/gluonts/mx/trainer/_base.py
Original file line number Diff line number Diff line change
Expand Up @@ -227,7 +227,7 @@ def base_path() -> str:
best_epoch_info = {
"params_path": "{}-{}.params".format(base_path(), "init"),
"epoch_no": -1,
"score": np.Inf,
"score": float("inf"),
}

optimizer = mx.optimizer.Adam(
Expand Down
4 changes: 2 additions & 2 deletions src/gluonts/mx/trainer/learning_rate_scheduler.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,15 +50,15 @@ def should_update(self, metric: float) -> bool:

@dataclass
class Min(Objective):
best: float = np.Inf
best: float = float("inf")

def should_update(self, metric: float) -> bool:
return metric < self.best


@dataclass
class Max(Objective):
best: float = -np.Inf
best: float = -float("inf")

def should_update(self, metric: float) -> bool:
return metric > self.best
Expand Down
7 changes: 5 additions & 2 deletions test/torch/distribution/test_negative_binomial.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
# permissions and limitations under the License.

import pytest
import sys

import numpy as np
import torch
Expand Down Expand Up @@ -49,11 +50,13 @@ def test_custom_neg_bin_cdf(total_count, probs, value):
@pytest.mark.parametrize("probs", [0.1, 0.5, 0.8])
@pytest.mark.parametrize("total_count", [3, 7, 100])
@pytest.mark.parametrize("value", [0.1, 0.5, 0.9])
def test_custom_studentt_icdf(total_count, probs, value):
def test_custom_neg_bin_icdf(total_count, probs, value):
torch_dist = NegativeBinomial(total_count=total_count, probs=probs)
scipy_dist = torch_dist.scipy_nbinom

torch_icdf = torch_dist.icdf(torch.as_tensor(value)).numpy()
torch_icdf = torch_dist.icdf(
torch.as_tensor(value, dtype=torch.float64)
).numpy()
scipy_icdf = scipy_dist.ppf(np.asarray(value))

assert np.allclose(torch_icdf, scipy_icdf)
6 changes: 3 additions & 3 deletions test/transform/test_transform.py
Original file line number Diff line number Diff line change
Expand Up @@ -155,8 +155,8 @@ def test_AddTimeFeatures(start, target, is_train: bool):
tmp_idx = pd.period_range(
start=start, freq=start.freq, periods=expected_length
)
assert np.alltrue(mat[0] == time_feature.day_of_week(tmp_idx))
assert np.alltrue(mat[1] == time_feature.day_of_month(tmp_idx))
assert np.all(mat[0] == time_feature.day_of_week(tmp_idx))
assert np.all(mat[1] == time_feature.day_of_month(tmp_idx))


@pytest.mark.parametrize("is_train", TEST_VALUES["is_train"])
Expand Down Expand Up @@ -285,7 +285,7 @@ def test_InstanceSplitter(

# expected_length = len(target) + (0 if is_train else pred_length)
# assert len(out['age']) == expected_length
# assert np.alltrue(out['age'] == np.log10(2.0 + np.arange(expected_length)))
# assert np.all(out['age'] == np.log10(2.0 + np.arange(expected_length)))


@pytest.mark.parametrize("is_train", TEST_VALUES["is_train"])
Expand Down

0 comments on commit 20cdab0

Please sign in to comment.