def _run_experiment_args(self, results_file, data_and_splits, method_results, i_labels, split): num_labels = self.configs.num_labels[i_labels] s = str(num_labels) + '-' + str(split) curr_results = _load_temp_split_file(results_file, num_labels, split) if curr_results: return curr_results if mpi_utility.is_master(): timer.tic() #print 'num_labels-split: ' + s temp_file_name = _temp_split_file_name(results_file, num_labels, split) temp_dir_root = helper_functions.remove_suffix(temp_file_name, '.pkl') temp_dir = temp_dir_root + '/CV-temp/' curr_data = data_and_splits.get_split(split, num_labels) learner = self.configs.learner curr_learner = copy.deepcopy(learner) curr_learner.split_idx_str = s curr_learner.temp_dir = temp_dir curr_results = curr_learner.train_and_test(curr_data) if mpi_utility.is_group_master(): helper_functions.save_object(_temp_split_file_name(results_file,num_labels,split),curr_results) helper_functions.delete_dir_if_exists(temp_dir_root) instance_subset = learner.configs.instance_subset results_features = learner.configs.results_features test_error_to_print = 'is_train' if mpi_utility.is_group_master(): if hasattr(curr_learner, 'best_params'): print s + '-' + str(curr_learner.best_params) + ' Error: ' + \ str(curr_results.compute_error(self.configs.loss_function, results_features, test_error_to_print)) else: print s + ' Done' if mpi_utility.is_master(): timer.toc() return curr_results
def _load_temp_experiment_file(final_file_name, num_labels): experiment_temp_file = _temp_experiment_file_name(final_file_name, num_labels) if not os.path.isfile(experiment_temp_file): return None if mpi_utility.is_master(): print 'found ' + experiment_temp_file + ' - loading' return helper_functions.load_object(experiment_temp_file)
def _load_temp_split_file(final_file_name, num_labels, split): split_temp_file = _temp_split_file_name(final_file_name, num_labels, split) if not os.path.isfile(split_temp_file): return None if mpi_utility.is_master(): print 'found ' + split_temp_file + ' - loading' return helper_functions.load_object(split_temp_file)