def test_load_data2(self): surrogate = 'data2' l = lookup.load(surrogate) lrs = l.get_accuracies_per_epoch() self.assertEqual(20000, len(lrs)) lr = lrs.ix[0].tolist() self.assertEqual(15, len(lr))
def add(self, args): job_id = None # TODO: validate parameters try: dataset = args['dataset'] # e.g. MNIST, CIFAR-10, model = args['model'] # LeNet, VGG, LSTM, ... hpv = args['hyperparams'] # refer to data*.json for keys cfg = args['config'] # max_iter, ... f = TrainingJobFactory(self.worker, self.jobs) job = f.create(dataset, model, hpv, cfg) job_id = job['job_id'] self.jobs.append(job) debug("Job appended properly.") worker = None if self.use_surrogate and "surrogate" in cfg: s = cfg['surrogate'] l = lookup.load(s) ffr = None if "ffr" in cfg: ffr = cfg['ffr'] worker = SurrogateEvaluator(s, l, time_slip_rate=ffr) else: worker = self.worker max_epoch = None if "max_epoch" in cfg: max_epoch = cfg['max_epoch'] worker.set_max_iters(max_epoch, "epoch") elif "max_iter" in cfg: max_iter = cfg['max_iter'] iter_unit = "epoch" if "iter_unit" in cfg: iter_unit = cfg['iter_unit'] worker.set_max_iters(max_iter, iter_unit) cand_index = None if 'cand_index' in cfg: cand_index = cfg['cand_index'] if worker.set_job_description(hpv, cand_index, job_id): job['status'] = 'assigned' self.work_item = { "worker": worker, "job_id": job_id, "cand_index": cand_index, "hyperparams": hpv } debug("Work item created properly.") else: debug("Invalid hyperparam vector: {}".format(hpv)) raise ValueError("Invalid hyperparameters") except Exception as ex: #debug("invalid arguments: {}, {}, {}, {}".format(dataset, model, hpv, cfg)) warn("Adding job {} failed: {}".format(job, ex)) raise ValueError("Invalid job description") finally: return job_id
def create_surrogate_space(surrogate, grid_order=None, one_hot=False): l = lookup.load(surrogate, grid_order=grid_order) s = SurrogatesSpace(l, one_hot=one_hot) debug("Surrogate model created: {}".format(surrogate)) return s
def __init__(self, surrogate, **kwargs): self.name = "LR_{}".format(surrogate) l = lookup.load(surrogate) if l == None: raise TypeError("Fail to load surrogate") self.lrs = l.get_accuracies_per_epoch()
def create_space_from_table(surrogate_name, grid_order=None): l = lookup.load(surrogate_name, grid_order=grid_order) s = SurrogatesSpace(l) debug("Surrogate model created: {}".format(surrogate_name)) return s