-
-
Notifications
You must be signed in to change notification settings - Fork 96
Pruning dependencies #135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pruning dependencies #135
Conversation
Flux.Optimiser} | ||
|
||
|
||
function __solve(prob::OptimizationProblem, opt, data = DEFAULT_DATA; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
function __solve(prob::OptimizationProblem, opt, data = DEFAULT_DATA; | |
function __solve(prob::OptimizationProblem, opt::AbstractFluxOptimiser , data = DEFAULT_DATA; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, can you version bump to 2.0?
Yeah change that as well. |
Looks like this needs more test |
Codecov Report
@@ Coverage Diff @@
## master #135 +/- ##
===========================================
- Coverage 87.30% 62.14% -25.17%
===========================================
Files 3 18 +15
Lines 386 560 +174
===========================================
+ Hits 337 348 +11
- Misses 49 212 +163
Continue to review full report at Codecov.
|
I tried, but the minibatch/diffeqflux tests print a warning and ultimately fail:
Seems like this is a versioning issue (haven't been able to track this down precisely) |
I uploaded a commit for this as well. This required reorganising the code (with significantly reduced coverage although I didn't add or remove anything). Feel free to rearrange things as you please! Although many AD/optimisation backend are really not tested at all... |
Should be fixed on master. I'll issue a release in the next few hours. |
Can you pick that out to a package or something? |
This was rebased and merged in #140 . Next time you might want to work on a branch other than master. Thanks! |
I've noticed that GalacticOptim takes ages to load after precompilation for me (more than a minute), which is not good news for an interface package. Part of this is the dependency on many packages which do not appear essential on a first glance:
NoAD
andNullParameters
which are now in SciML@require
as with the other packages? Flux in particular is a heavy package and introduces a lot of dependencies.This PR removes DiffEqBase, marks ModelingToolkit as a test dependency and downgrades Optim and Flux to
@require
status. Loading GalacticOptim now takes half a minute, and most of that is due to the various differentiation packages. I propose demoting all of these to@require
status (except DiffResults) so that users wishing to use GalacticOptim with eg. ForwardDiff only do not need to load 4 other packages.Note: This version of the package does not
@reexport
Optim or Flux. Since this package is still in active development I hope this API breakage is acceptable.Note 2: Since Flux does not yet have an abstract optimiser type (see here) I used a
Union
for now, but this is a compatibility issue.