Skip to content

make the runner request points until it's using all cores

Right now, when the runner requests n_cores points, and the learner returns n (where n < n_cores) points, the maximum number of jobs will be n.

Because of this behavior, we have the following code in BalancingLearner and Learner2D:

    def choose_points(self, n, add_data=True):
        if not add_data:
            raise NotImplementedError('')

I think we can fix this by having the learner return n (where n ≤ n_requested) points and writing the runner in a way such that it will request n_requested points until n_requested == n_cores.

@jbweston what do you think about this?

I consider !7 (merged) blocked until we make a decision on this because if we decide not do to this, I'll have to change the code to if not add_data: raise NotImplementedError().

Edited by Bas Nijholt