Skip to content

declearn v2.2.1

Released: 04/08/2023

This is a subminor release to patch a couple of issues where some operations were wrongfully implemented as to their maths. It is therefore strongly recommended to update any existing installation to a patched version - which may freely be ~=2.0.3, ~=2.1.1, ~=2.2.1 or (to-be-released) ~=2.3.

In addition, a couple of utilities were patched, and SklearnSGDModel had its backend adjusted following the release of scikit-learn 1.13.

Fixed math operations

  • The Vector.__rtruediv__ method was misdefined, so that computations of the form non_vector_object / vector_object would result in wrongful values. This was seemingly not used anywhere in declearn until now, and hopefully was not used by any end-user either.
  • The L2Clipping optimodule plug-in was misdefined, making it scale down the gradients with a L2-norm below the cutoff threshold and leaving those with a high norm unchanged.

Other backend fixes

  • Fix the build_keras_loss utility for TensorFlow. This is a backend fix that adresses some newly-found issues with the way losses may be specified as part of a TensorflowModel.

  • Fix the declearn.dataset.examples.load_heart_uci utility following changes on the source website.

  • With the release of Scikit-Learn 1.3, the interfaced SGDClassifier and SGDRegressor models now have support for other dtypes than float64. In declearn 2.3 and above, this will be handled by adding the possibility to specify which dtype end-users wish to use. For previous versions, the backported path is merely about ensuring that input data and weights are converted to the default float64 dtype.