diff --git a/requirements/minimum-requirements-dp-accounting.txt b/requirements/minimum-requirements-dp-accounting.txt new file mode 100644 index 00000000..941ffb44 --- /dev/null +++ b/requirements/minimum-requirements-dp-accounting.txt @@ -0,0 +1,5 @@ +absl-py>=1.0.0 +attrs>=21.4.0 +mpmath>=1.2.1 +numpy>=1.21.4 +scipy>=1.7.1 diff --git a/requirements/requirements-examples.txt b/requirements/requirements-examples.txt index 40459917..c0d9e081 100644 --- a/requirements/requirements-examples.txt +++ b/requirements/requirements-examples.txt @@ -1,4 +1,3 @@ dm-haiku>=0.0.3 tensorflow-datasets>=4.2.0 tensorflow>=2.4.0 -dp-accounting>=0.1.0 diff --git a/test.sh b/test.sh index 2e903f0b..50d8d771 100755 --- a/test.sh +++ b/test.sh @@ -30,6 +30,14 @@ pip install -r requirements/requirements.txt pip install -r requirements/requirements-test.txt pip install -r requirements/requirements-examples.txt +# Dp-accounting specifies exact minor versions as requirements which sometimes +# become incompatible with other libraries optax needs. We therefore install +# dependencies for dp-accounting manually. +# TODO(b/239416992): Remove this workaround if dp-accounting switches to minimum +# version requirements. +pip install -r requirements/minimum-requirements-dp-accounting.txt +pip install "dp-accounting>=0.1.1" --no-deps + # Ensure optax was not installed by one of the dependencies above, # since if it is, the tests below will be run against that version instead of # the branch build.