Skip to content

declearn v2.1.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 backend fixes were pushed, notably fixing compatibility with the recently-released scikit-learn version 1.3.

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.

  • 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.