Skip to content

Commit 6a19e99

Browse files
committed
give 'tell' the functionality to handle both single values and iterables
1 parent 06112c2 commit 6a19e99

11 files changed

Lines changed: 21 additions & 21 deletions

File tree

adaptive/learner/average_learner.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ def ask(self, n, add_data=True):
4545
points = list(range(self.n_requested, self.n_requested + n))
4646
loss_improvements = [self.loss_improvement(n) / n] * n
4747
if add_data:
48-
self.add_data(points, itertools.repeat(None))
48+
self.tell(points, itertools.repeat(None))
4949
return points, loss_improvements
5050

51-
def tell(self, n, value):
51+
def _tell(self, n, value):
5252
value_is_new = not (n in self.data and value == self.data[n])
5353
if not value_is_new:
5454
value_old = self.data[n]

adaptive/learner/balancing_learner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ def ask(self, n, add_data=True):
7474
else:
7575
return self._choose_and_tells(n)
7676

77-
def tell(self, x, y):
77+
def _tell(self, x, y):
7878
index, x = x
7979
self._points.pop(index, None)
8080
self._loss.pop(index, None)

adaptive/learner/base_learner.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class BaseLearner(metaclass=abc.ABCMeta):
2323
and returns a holoviews plot.
2424
"""
2525

26-
def add_data(self, xvalues, yvalues):
26+
def tell(self, xvalues, yvalues):
2727
"""Add data to the learner.
2828
2929
Parameters
@@ -37,12 +37,12 @@ def add_data(self, xvalues, yvalues):
3737
"""
3838
if all(isinstance(i, collections.Iterable) for i in [xvalues, yvalues]):
3939
for x, y in zip(xvalues, yvalues):
40-
self.tell(x, y)
40+
self._tell(x, y)
4141
else:
42-
self.tell(xvalues, yvalues)
42+
self._tell(xvalues, yvalues)
4343

4444
@abc.abstractmethod
45-
def tell(self, x, y):
45+
def _tell(self, x, y):
4646
"""Add a single datapoint to the learner."""
4747
pass
4848

adaptive/learner/data_saver.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def __init__(self, learner, arg_picker):
3737
self.__getstate__ = self.learner.__getstate__
3838
self.__setstate__ = self.learner.__setstate__
3939

40-
def tell(self, x, result):
40+
def _tell(self, x, result):
4141
y = self.arg_picker(result) if result is not None else None
4242
self.extra_data[x] = result
4343
self.learner.tell(x, y)

adaptive/learner/integrator_learner.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ def __init__(self, function, bounds, tol):
359359
def approximating_intervals(self):
360360
return self.first_ival.done_leaves
361361

362-
def tell(self, point, value):
362+
def _tell(self, point, value):
363363
if point not in self.x_mapping:
364364
raise ValueError("Point {} doesn't belong to any interval"
365365
.format(point))

adaptive/learner/learner1D.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ def update_scale(self, x, y):
214214
self._bbox[1][1] = max(self._bbox[1][1], y)
215215
self._scale[1] = self._bbox[1][1] - self._bbox[1][0]
216216

217-
def tell(self, x, y):
217+
def _tell(self, x, y):
218218
real = y is not None
219219

220220
if real:
@@ -305,7 +305,7 @@ def xs(x, n):
305305
for quality, x, n in quals))
306306

307307
if add_data:
308-
self.add_data(points, itertools.repeat(None))
308+
self.tell(points, itertools.repeat(None))
309309

310310
return points, loss_improvements
311311

adaptive/learner/learner2D.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,7 @@ def ip_combined(self):
287287
values)
288288
return self._ip_combined
289289

290-
def tell(self, point, value):
290+
def _tell(self, point, value):
291291
point = tuple(point)
292292

293293
if value is None:
@@ -336,15 +336,15 @@ def ask(self, n, add_data=True):
336336
points = list(self._stack.keys())
337337
loss_improvements = list(self._stack.values())
338338
n_left = n - len(points)
339-
self.add_data(points[:n], itertools.repeat(None))
339+
self.tell(points[:n], itertools.repeat(None))
340340

341341
while n_left > 0:
342342
# The while loop is needed because `stack_till` could be larger
343343
# than the number of triangles between the points. Therefore
344344
# it could fill up till a length smaller than `stack_till`.
345345
new_points, new_loss_improvements = self._fill_stack(
346346
stack_till=max(n_left, self.stack_size))
347-
self.add_data(new_points[:n_left], itertools.repeat(None))
347+
self.tell(new_points[:n_left], itertools.repeat(None))
348348
n_left -= len(new_points)
349349

350350
points += new_points

adaptive/tests/test_cquad.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def run_integrator_learner(f, a, b, tol, n):
2525
learner = IntegratorLearner(f, bounds=(a, b), tol=tol)
2626
for _ in range(n):
2727
points, _ = learner.ask(1)
28-
learner.add_data(points, map(learner.function, points))
28+
learner.tell(points, map(learner.function, points))
2929
return learner
3030

3131

adaptive/tests/test_learner.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -310,8 +310,8 @@ def test_learner_performance_is_invariant_under_scaling(learner_type, f, learner
310310
for n in range(npoints):
311311
cxs, _ = control.ask(1)
312312
xs, _ = learner.ask(1)
313-
control.add_data(cxs, [control.function(x) for x in cxs])
314-
learner.add_data(xs, [learner.function(x) for x in xs])
313+
control.tell(cxs, [control.function(x) for x in cxs])
314+
learner.tell(xs, [learner.function(x) for x in xs])
315315

316316
# Check whether the points returned are the same
317317
xs_unscaled = np.array(xs) / xscale

benchmarks/benchmarks/benchmarks.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def setup(self):
2424
def time_run(self):
2525
for _ in range(1000):
2626
points, _ = self.learner.ask(1)
27-
self.learner.add_data(points, map(f_1d, points))
27+
self.learner.tell(points, map(f_1d, points))
2828

2929

3030
class TimeLearner2D:
@@ -36,7 +36,7 @@ def setup(self):
3636
def time_run(self):
3737
for _ in range(50**2):
3838
points, _ = self.learner.ask(1)
39-
self.learner.add_data(points, map(f_2d, points))
39+
self.learner.tell(points, map(f_2d, points))
4040

4141
def time_ask(self):
4242
for _ in range(50**2):

0 commit comments

Comments
 (0)