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 formnon_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 aTensorflowModel
. -
With the release of Scikit-Learn 1.3, the interfaced
SGDClassifier
andSGDRegressor
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.