/** * @param hypers A set of hyper parameter values * @return A Future of a model run with these parameters, typically built on demand and not cached * - expected to be an expensive operation. If the model in question is "in progress", a 2nd * build will NOT be kicked off. This is a non-blocking call. */ private ModelBuilder startBuildModel(MP params, double[] hypers) { if (model(hypers) != null) return null; ModelBuilder mb = getBuilder(params, hypers); mb.trainModel(); return mb; }