declearn v2.3.1
Released: 06/09/2023
This is a subminor release that patches a regression introduced in v2.2.0 but was undetected before. It also introduces a revision of the non-core-package util for generating SSL certificates.
Hotfix: fix DP-SGD with TorchModel
Since version 2.2.0, the functorch-based backend for computing and clipping
sample-wise gradients of a TorchModel
has attempted to benefit from the
experimental functorch.compile
API. However, this change, which has been
tested to yield performance gains on fixed-size batches of inputs, turns out
not to be compatible with variable-size batches - which are mandatory as part
of DP-SGD due to the use of Poisson sampling.
As a consequence, this version drops the use of functorch.compile
, restoring
DP-SGD features with `TorchModel``.
Rewrite 'declearn.test_utils.generate_ssl_certificates'
The declearn.test_utils.generate_ssl_certificates
, that is still excluded
from the actual package API but is useful to set up examples, tests and even
some real-life applications, was rewritten entirely to make use of the python
cryptography
third-party library rather than rely on subprocess calls to
openssl, which make it more robust and avoid incompatibilities with OpenSSL 1.1
as to specifying multiple DNS and/or IPs for the server certificate. The util's
API remains unchanged, save for the addition of a duration
parameter that
controls the validity duration of the generated CA and certificate files.