Release version 3.10.0: "Unexpected Rain" - #441
Merged
Conversation
Member
Author
|
I ran the DemonSGD tests 2000 times locally (and the hardware is basically the same) and saw no failures, so I have a feeling that the CPU test was extraordinarily unlucky. I'd be ok releasing as-is; I don't think there is any deeper risk. If we keep seeing the failure I will dig further. |
conradsnicta
approved these changes
Sep 30, 2025
zoq
approved these changes
Sep 30, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This automatically-generated pull request adds the commits necessary to make the 3.10.0 release. Once the PR is merged, mlpack-bot will tag the release as HEAD~1 (so that it doesn't include the new HISTORY block) and publish it. Or, well, hopefully that will happen someday. When you merge this PR, be sure to merge it using a rebase.
Changelog
SGD-like optimizers now all divide the step size by the batch size so that step sizes don't need to be tuned in addition to batch sizes. If you require behavior from ensmallen 2, define the
ENS_OLD_SEPARABLE_STEP_BEHAVIORmacro before includingensmallen.hpp(#431).Remove deprecated
ParetoFront()andParetoSet()from multi-objective optimizers (#435). Instead, pass objects to theOptimize()function; see the documentation for each multi-objective optimizer for more details. A typical transition will change code like:c++ optimizer.Optimize(objectives, coordinates); arma::cube paretoFront = optimizer.ParetoFront(); arma::cube paretoSet = optimizer.ParetoSet();to instead gather the Pareto front and set in the call:
c++ arma::cube paretoFront, paretoSet; optimizer.Optimize(objectives, coordinates, paretoFront, paretoSet);Remove deprecated constructor for Active CMA-ES that takes
lowerBoundandupperBound(#435). Instead, pass an instantiatedBoundaryBoxConstraintto the constructor. A typical transition will change code like:c++ ActiveCMAES<FullSelection, BoundaryBoxConstraint> opt(lambda, lowerBound, upperBound, ...);into
c++ ActiveCMAES<FullSelection, BoundaryBoxConstraint> opt(lambda, BoundaryBoxConstraint(lowerBound, upperBound), ...);Add proximal gradient optimizers for L1-constrained and other related problems:
FBS,FISTA, andFASTA(#427). See the documentation for more details.The
Lambda()andSigma()functions of theAugLagrangianoptimizer, which could be used to retrieve the Lagrange multipliers and penalty parameter after optimization, are now deprecated (#439). Instead, pass a vector and a double to theOptimize()function directly:c++ augLag.Optimize(function, coordinates, lambda, sigma)and these will be filled with the final Lagrange multiplier estimates and penalty parameters.