Balancing learner does not work with Integrator learner
Activity
-
Newest first Oldest first
-
Show all activity Show comments only Show history only
- Developer
More details please
- Guest
I told him to report this, however, here is an actual example:
import numpy as np import adaptive adaptive.notebook_extension()
def f(x): return x learner = adaptive.IntegratorLearner(f, (0,1), tol=1e-8) runner = adaptive.Runner(learner, lambda l: l.done()) # runs perfect runner.live_info()
learner1 = adaptive.IntegratorLearner(f, (0,1), tol=1e-8) learner2 = adaptive.IntegratorLearner(f, (0,1), tol=1e-8) balancer = adaptive.BalancingLearner([learner1, learner2]) runner = adaptive.Runner(balancer, lambda l: l.loss() < 0.1) # fails runner = adaptive.Runner(balancer, lambda l: l.done()) # fails runner = adaptive.Runner(balancer, lambda bl: all(l.done() for l in bl.learners)) # fails runner.live_info()
especially the last one, i don't know why it fails yet
Edited by Jorn Hoofwijk - Guest
got it:
Traceback (most recent call last): File "test5.py", line 14, in <module> runner = adaptive.BlockingRunner(balancer, lambda l: l.loss() < 0.1) # fails File "/home/jorn/natk/bep/adaptive/adaptive/runner.py", line 152, in __init__ self._run() File "/home/jorn/natk/bep/adaptive/adaptive/runner.py", line 175, in _run points, _ = self.learner.ask(n_new_tasks) File "/home/jorn/natk/bep/adaptive/adaptive/learner/balancing_learner.py", line 89, in ask return self._ask_and_tell(n) File "/home/jorn/natk/bep/adaptive/adaptive/learner/balancing_learner.py", line 73, in _ask_and_tell n=1, add_data=False) TypeError: ask() got an unexpected keyword argument 'add_data'
- Bas Nijholt added IntegratorLearner label
added IntegratorLearner label
- Maintainer
Thanks for reporting, I've added some code to raise a
NotImplementedError
whenadd_data=False
in theIntegratorLearner
here: 8640b8d5.This doesn't fix the issue but at least makes it clear as to why it happens.
- Jorn Hoofwijk mentioned in issue #103 (closed)
mentioned in issue #103 (closed)
- Guest
we could do it similarly as with the LearnerND: add a
with restore(self)
to allow not adding the data.Also this would be solved if we would switch to a new BalancingLearner: !113 (merged)
Please register or sign in to reply