def my_experiment_dfgsdgfdaf(a=1): assert a == 4, 'Only meant to run aaa variant.' experiment_id = get_current_experiment_id() rec = get_current_experiment_record() record_id = get_current_record_id() assert record_id.endswith('-' + experiment_id) assert experiment_id == 'my_experiment_dfgsdgfdaf.aaa' loc = get_current_record_dir() _, record_dir = os.path.split(loc) assert record_dir == record_id assert os.path.isdir(loc) assert loc.endswith(record_id) with open_in_record_dir('somefile.pkl', 'wb') as f: pickle.dump([1, 2, 3], f, protocol=pickle.HIGHEST_PROTOCOL) assert os.path.exists(os.path.join(loc, 'somefile.pkl')) with open_in_record_dir('somefile.pkl', 'rb') as f: assert pickle.load(f) == [1, 2, 3] exp = rec.get_experiment() assert exp.get_id() == experiment_id assert exp.get_args() == rec.get_args() == OrderedDict([('a', 4)]) assert rec.get_dir() == loc assert has_experiment_record(experiment_id) assert record_id in experiment_id_to_record_ids(experiment_id) return a + 2
def reload_record_dict(self): d = OrderedDict((name, experiment_id_to_record_ids(name)) for name in GLOBAL_EXPERIMENT_LIBRARY.keys()) if self.just_last_record: for k in d.keys(): d[k] = [d[k][-1]] return d
def my_experiment_dfgsdgfdaf(a=1): assert a==4, 'Only meant to run aaa variant.' experiment_id = get_current_experiment_id() rec = get_current_experiment_record() record_id = get_current_record_id() assert record_id.endswith('-'+experiment_id) assert experiment_id == 'my_experiment_dfgsdgfdaf.aaa' loc = get_current_record_dir() _, record_dir = os.path.split(loc) assert record_dir == record_id assert os.path.isdir(loc) assert loc.endswith(record_id) with open_in_record_dir('somefile.pkl', 'wb') as f: pickle.dump([1, 2, 3], f, protocol=pickle.HIGHEST_PROTOCOL) assert os.path.exists(os.path.join(loc, 'somefile.pkl')) with open_in_record_dir('somefile.pkl', 'rb') as f: assert pickle.load(f) == [1, 2, 3] exp = rec.get_experiment() assert exp.get_id() == experiment_id assert exp.get_args() == rec.get_args() == OrderedDict([('a', 4)]) assert rec.get_dir() == loc assert has_experiment_record(experiment_id) assert record_id in experiment_id_to_record_ids(experiment_id) return a+2
def get_records(self, only_completed=False): """ Get all records associated with this experiment. :param only_completed: Only include records that have run to completion. :return: A list of ExperimentRecord objects. """ records = [load_experiment_record(rid) for rid in experiment_id_to_record_ids(self.name)] if only_completed: records = [record for record in records if record.get_status()==ExpStatusOptions.FINISHED] return records
def get_records(self, only_completed=False): records = [ load_experiment_record(rid) for rid in experiment_id_to_record_ids(self.name) ] if only_completed: records = [ record for record in records if record.get_status() == ExpStatusOptions.FINISHED ] return records
def get_records(self, only_completed=False): """ Get all records associated with this experiment. :param only_completed: Only include records that have run to completion. :return: A list of ExperimentRecord objects. """ records = [load_experiment_record(rid) for rid in experiment_id_to_record_ids(self.name)] if only_completed: records = [record for record in records if record.get_status()==ExpStatusOptions.FINISHED] return records
def reload_record_dict(self): names = get_global_experiment_library().keys() if self.root_experiment is not None: # We could just go [ex.name for ex in self.root_experiment.get_all_variants(include_self=True)] # but we want to preserve the order in which experiments were created descendents_of_root = set( ex.name for ex in self.root_experiment.get_all_variants( include_self=True)) names = [name for name in names if name in descendents_of_root] d = OrderedDict( (name, experiment_id_to_record_ids(name)) for name in names) if self.just_last_record: for k in d.keys(): d[k] = [d[k][-1]] if len(d[k]) > 0 else [] return d