Skip to content
Snippets Groups Projects

Make the AverageLearner only return new points ...

Merged Bas Nijholt requested to merge average_learner_improvements into master
All threads resolved!
Files
5
# -*- coding: utf-8 -*-
import itertools
from math import sqrt
import warnings
import numpy as np
@@ -54,7 +53,7 @@ class AverageLearner(BaseLearner):
def ask(self, n, add_data=True):
points = list(range(self.n_requested, self.n_requested + n))
if any(True for p in points if p in self.data or p in self.pending_points):
if any(p in self.data or p in self.pending_points for p in points):
# This means some of the points `< self.n_requested` do not exist.
points = list(set(range(self.n_requested + n))
- set(self.data)
@@ -67,7 +66,7 @@ class AverageLearner(BaseLearner):
def tell(self, n, value):
if n in self.data:
warnings.warn(f"n={n} already exists in `learner.data` with value {self.data[n]}.")
# The point has already been added before.
return
if value is None:
@@ -110,7 +109,7 @@ class AverageLearner(BaseLearner):
def remove_unfinished(self):
"""Remove uncomputed data from the learner."""
pass
self.pending_points = set()
def plot(self):
hv = ensure_holoviews()
Loading