Skip to content

Commit

Permalink
Ignore cpflows dependencies in test workflows, fix numpy 2 incompatib…
Browse files Browse the repository at this point in the history
…ilities. (#3227)

*Issue #, if available:* CPFlows is a dependency for
`gluonts.torch.model.mqf2`, but it comes with dependencies constraints
that hold us back. So for example, not the latest numpy version was used
in CI tests.

*Description of changes:* Ignore dependencies of CPFlows in GitHub
workflows. Fix incompatibilities with the latest numpy.


By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.


**Please tag this pr with at least one of these labels to make our
release process faster:** BREAKING, new feature, bug fix, other change,
dev setup
  • Loading branch information
lostella authored Oct 17, 2024
1 parent ede5664 commit 3d05d46
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 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
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 3d05d46

Please sign in to comment.