Skip to content

Commit 06112c2

Browse files
committed
rename 'choose_points' -> 'ask' and 'add_point' -> 'tell'
1 parent d261aeb commit 06112c2

11 files changed

Lines changed: 107 additions & 107 deletions

File tree

adaptive/learner/average_learner.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ def __init__(self, function, atol=None, rtol=None):
4141
def n_requested(self):
4242
return len(self.data)
4343

44-
def choose_points(self, n, add_data=True):
44+
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:
4848
self.add_data(points, itertools.repeat(None))
4949
return points, loss_improvements
5050

51-
def add_point(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: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,37 +48,37 @@ def __init__(self, learners):
4848
raise TypeError('A BalacingLearner can handle only one type'
4949
'of learners.')
5050

51-
def _choose_and_add_points(self, n):
51+
def _choose_and_tells(self, n):
5252
points = []
5353
for _ in range(n):
5454
loss_improvements = []
5555
pairs = []
5656
for index, learner in enumerate(self.learners):
5757
if index not in self._points:
58-
self._points[index] = learner.choose_points(
58+
self._points[index] = learner.ask(
5959
n=1, add_data=False)
6060
point, loss_improvement = self._points[index]
6161
loss_improvements.append(loss_improvement[0])
6262
pairs.append((index, point[0]))
6363
x, _ = max(zip(pairs, loss_improvements), key=itemgetter(1))
6464
points.append(x)
65-
self.add_point(x, None)
65+
self.tell(x, None)
6666

6767
return points, None
6868

69-
def choose_points(self, n, add_data=True):
69+
def ask(self, n, add_data=True):
7070
"""Chose points for learners."""
7171
if not add_data:
7272
with restore(*self.learners):
73-
return self._choose_and_add_points(n)
73+
return self._choose_and_tells(n)
7474
else:
75-
return self._choose_and_add_points(n)
75+
return self._choose_and_tells(n)
7676

77-
def add_point(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)
81-
self.learners[index].add_point(x, y)
81+
self.learners[index].tell(x, y)
8282

8383
def loss(self, real=True):
8484
losses = []

adaptive/learner/base_learner.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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.add_point(x, y)
40+
self.tell(x, y)
4141
else:
42-
self.add_point(xvalues, yvalues)
42+
self.tell(xvalues, yvalues)
4343

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

@@ -64,7 +64,7 @@ def loss(self, real=True):
6464
"""
6565

6666
@abc.abstractmethod
67-
def choose_points(self, n, add_data=True):
67+
def ask(self, n, add_data=True):
6868
"""Choose the next 'n' points to evaluate.
6969
7070
Parameters

adaptive/learner/data_saver.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def __init__(self, learner, arg_picker):
2828
self.arg_picker = arg_picker
2929

3030
# The methods a subclass of the BaseLearner needs to implement
31-
self.choose_points = self.learner.choose_points
31+
self.ask = self.learner.ask
3232
self.loss = self.learner.loss
3333
self.remove_unfinished = self.learner.remove_unfinished
3434

@@ -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 add_point(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
43-
self.learner.add_point(x, y)
43+
self.learner.tell(x, y)

adaptive/learner/integrator_learner.py

Lines changed: 3 additions & 3 deletions
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 add_point(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))
@@ -408,13 +408,13 @@ def add_ival(self, ival):
408408
# Update the mappings
409409
self.x_mapping[x].add(ival)
410410
if x in self.done_points:
411-
self.add_point(x, self.done_points[x])
411+
self.tell(x, self.done_points[x])
412412
elif x not in self.pending_points:
413413
self.pending_points.add(x)
414414
self._stack.append(x)
415415
self.ivals.add(ival)
416416

417-
def choose_points(self, n):
417+
def ask(self, n):
418418
points, loss_improvements = self.pop_from_stack(n)
419419
n_left = n - len(points)
420420
while n_left > 0:

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 add_point(self, x, y):
217+
def tell(self, x, y):
218218
real = y is not None
219219

220220
if real:
@@ -252,7 +252,7 @@ def add_point(self, x, y):
252252
self._oldscale = deepcopy(self._scale)
253253

254254

255-
def choose_points(self, n, add_data=True):
255+
def ask(self, n, add_data=True):
256256
"""Return n points that are expected to maximally reduce the loss."""
257257
# Find out how to divide the n points over the intervals
258258
# by finding positive integer n_i that minimize max(L_i / n_i) subject

adaptive/learner/learner2D.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ class Learner2D(BaseLearner):
168168
Sampled points and values.
169169
stack_size : int, default 10
170170
The size of the new candidate points stack. Set it to 1
171-
to recalculate the best points at each call to `choose_points`.
171+
to recalculate the best points at each call to `ask`.
172172
173173
Methods
174174
-------
@@ -287,7 +287,7 @@ def ip_combined(self):
287287
values)
288288
return self._ip_combined
289289

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

293293
if value is None:
@@ -330,7 +330,7 @@ def _fill_stack(self, stack_till=1):
330330

331331
return points_new, losses_new
332332

333-
def choose_points(self, n, add_data=True):
333+
def ask(self, n, add_data=True):
334334
# Even if add_data is False we add the point such that _fill_stack
335335
# will return new points, later we remove these points if needed.
336336
points = list(self._stack.keys())

adaptive/runner.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -164,9 +164,9 @@ def _run(self):
164164
# Launch tasks to replace the ones that completed
165165
# on the last iteration.
166166
if do_log:
167-
self.log.append(('choose_points', len(done)))
167+
self.log.append(('ask', len(done)))
168168

169-
points, _ = self.learner.choose_points(len(done))
169+
points, _ = self.learner.ask(len(done))
170170
for x in points:
171171
xs[self._submit(x)] = x
172172

@@ -185,8 +185,8 @@ def _run(self):
185185
'See the top traceback for details.'
186186
) from e
187187
if do_log:
188-
self.log.append(('add_point', x, y))
189-
self.learner.add_point(x, y)
188+
self.log.append(('tell', x, y))
189+
self.learner.tell(x, y)
190190

191191
finally:
192192
# remove points with 'None' values from the learner
@@ -367,9 +367,9 @@ async def _run(self):
367367
# Launch tasks to replace the ones that completed
368368
# on the last iteration.
369369
if do_log:
370-
self.log.append(('choose_points', len(done)))
370+
self.log.append(('ask', len(done)))
371371

372-
points, _ = self.learner.choose_points(len(done))
372+
points, _ = self.learner.ask(len(done))
373373
for x in points:
374374
xs[self._submit(x)] = x
375375

@@ -389,8 +389,8 @@ async def _run(self):
389389
'See the top traceback for details.'
390390
) from e
391391
if do_log:
392-
self.log.append(('add_point', x, y))
393-
self.learner.add_point(x, y)
392+
self.log.append(('tell', x, y))
393+
self.learner.tell(x, y)
394394
finally:
395395
# remove points with 'None' values from the learner
396396
self.learner.remove_unfinished()
@@ -429,10 +429,10 @@ def simple(learner, goal):
429429
learner as its sole argument, and return True if we should stop.
430430
"""
431431
while not goal(learner):
432-
xs, _ = learner.choose_points(1)
432+
xs, _ = learner.ask(1)
433433
for x in xs:
434434
y = learner.function(x)
435-
learner.add_point(x, y)
435+
learner.tell(x, y)
436436

437437

438438
def replay_log(learner, log):

adaptive/tests/test_cquad.py

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def rolling_shuffle(nums, size):
2424
def run_integrator_learner(f, a, b, tol, n):
2525
learner = IntegratorLearner(f, bounds=(a, b), tol=tol)
2626
for _ in range(n):
27-
points, _ = learner.choose_points(1)
27+
points, _ = learner.ask(1)
2828
learner.add_data(points, map(learner.function, points))
2929
return learner
3030

@@ -120,48 +120,48 @@ def test_divergence():
120120
def test_choosing_and_adding_points_one_by_one():
121121
learner = IntegratorLearner(f24, bounds=(0, 3), tol=1e-10)
122122
for _ in range(1000):
123-
xs, _ = learner.choose_points(1)
123+
xs, _ = learner.ask(1)
124124
for x in xs:
125-
learner.add_point(x, learner.function(x))
125+
learner.tell(x, learner.function(x))
126126

127127

128128
def test_choosing_and_adding_multiple_points_at_once():
129129
learner = IntegratorLearner(f24, bounds=(0, 3), tol=1e-10)
130-
xs, _ = learner.choose_points(100)
130+
xs, _ = learner.ask(100)
131131
for x in xs:
132-
learner.add_point(x, learner.function(x))
132+
learner.tell(x, learner.function(x))
133133

134134

135135
def test_adding_points_and_skip_one_point():
136136
learner = IntegratorLearner(f24, bounds=(0, 3), tol=1e-10)
137-
xs, _ = learner.choose_points(17)
137+
xs, _ = learner.ask(17)
138138
skip_x = xs[1]
139139

140140
for x in xs:
141141
if x != skip_x:
142-
learner.add_point(x, learner.function(x))
142+
learner.tell(x, learner.function(x))
143143

144144
for i in range(1000):
145-
xs, _ = learner.choose_points(1)
145+
xs, _ = learner.ask(1)
146146
for x in xs:
147147
if x != skip_x:
148-
learner.add_point(x, learner.function(x))
148+
learner.tell(x, learner.function(x))
149149

150150
# Now add the point that was skipped
151-
learner.add_point(skip_x, learner.function(skip_x))
151+
learner.tell(skip_x, learner.function(skip_x))
152152

153153
# Create a learner with the same number of points, which should
154154
# give an identical igral value.
155155
learner2 = IntegratorLearner(f24, bounds=(0, 3), tol=1e-10)
156156
for i in range(1017):
157-
xs, _ = learner2.choose_points(1)
157+
xs, _ = learner2.ask(1)
158158
for x in xs:
159-
learner2.add_point(x, learner2.function(x))
159+
learner2.tell(x, learner2.function(x))
160160

161161
np.testing.assert_almost_equal(learner.igral, learner2.igral)
162162

163163

164-
def test_add_points_in_random_order(first_add_33=False):
164+
def test_tells_in_random_order(first_add_33=False):
165165
from operator import attrgetter
166166
import random
167167
tol = 1e-10
@@ -176,16 +176,16 @@ def test_add_points_in_random_order(first_add_33=False):
176176
l = IntegratorLearner(f, bounds=(a, b), tol=tol)
177177

178178
if first_add_33:
179-
xs, _ = l.choose_points(33)
179+
xs, _ = l.ask(33)
180180
for x in xs:
181-
l.add_point(x, f(x))
181+
l.tell(x, f(x))
182182

183-
xs, _ = l.choose_points(10000)
183+
xs, _ = l.ask(10000)
184184

185185
if shuffle:
186186
random.shuffle(xs)
187187
for x in xs:
188-
l.add_point(x, f(x))
188+
l.tell(x, f(x))
189189

190190
learners.append(l)
191191

@@ -220,18 +220,18 @@ def test_add_points_in_random_order(first_add_33=False):
220220
assert np.isfinite(l.err)
221221

222222

223-
def test_add_points_in_random_order_first_add_33():
224-
test_add_points_in_random_order(first_add_33=True)
223+
def test_tells_in_random_order_first_add_33():
224+
test_tells_in_random_order(first_add_33=True)
225225

226226

227227
def test_approximating_intervals():
228228
import random
229229
learner = IntegratorLearner(f24, bounds=(0, 3), tol=1e-10)
230230

231-
xs, _ = learner.choose_points(10000)
231+
xs, _ = learner.ask(10000)
232232
random.shuffle(xs)
233233
for x in xs:
234-
learner.add_point(x, f24(x))
234+
learner.tell(x, f24(x))
235235

236236
ivals = sorted(learner.approximating_intervals, key=lambda l: l.a)
237237
for i in range(len(ivals) - 1):
@@ -241,19 +241,19 @@ def test_approximating_intervals():
241241
def test_removed_choose_mutiple_points_at_once():
242242
learner = IntegratorLearner(np.exp, bounds=(0, 1), tol=1e-15)
243243
n = ns[-1] + 2 * (ns[0] - 2) # first + two children (33+6=39)
244-
xs, _ = learner.choose_points(n)
244+
xs, _ = learner.ask(n)
245245
for x in xs:
246-
learner.add_point(x, learner.function(x))
246+
learner.tell(x, learner.function(x))
247247
assert list(learner.approximating_intervals)[0] == learner.first_ival
248248

249249

250-
def test_removed_choose_points_one_by_one():
250+
def test_removed_ask_one_by_one():
251251
with pytest.raises(RuntimeError):
252252
# This test should raise because integrating np.exp should be done
253253
# after the 33th point
254254
learner = IntegratorLearner(np.exp, bounds=(0, 1), tol=1e-15)
255255
n = ns[-1] + 2 * (ns[0] - 2) # first + two children (33+6=39)
256256
for _ in range(n):
257-
xs, _ = learner.choose_points(1)
257+
xs, _ = learner.ask(1)
258258
for x in xs:
259-
learner.add_point(x, learner.function(x))
259+
learner.tell(x, learner.function(x))

0 commit comments

Comments
 (0)