def generate_param_list(Job_Params, params, config, subject): sp = spearmint_lite.spearmint_lite(Job_Params, [], config, Job_Params.type) params_dict = sp.generate_params_dict(params, subject) params_list = [] if "cutoff_frequencies_low_list" in params_dict: # cutoff_frequencies_low_list = params_dict.pop('cutoff_frequencies_low_list') # cutoff_frequencies_high_list = params_dict.pop('cutoff_frequencies_high_list') params_list = [ float(params_dict['discard_mv_begin']), float(params_dict['discard_mv_end']), float(params_dict['discard_nc_begin']), float(params_dict['discard_nc_end']), float(params_dict['window_size']), float(params_dict['window_overlap_size']), params_dict['cutoff_frequencies_low_list'], params_dict['cutoff_frequencies_high_list'], params_dict['channel_type'] ] else: params_list = [ float(params_dict['discard_mv_begin']), float(params_dict['discard_mv_end']), float(params_dict['discard_nc_begin']), float(params_dict['discard_nc_end']), float(params_dict['window_size']), float(params_dict['window_overlap_size']), params_dict['channel_type'] ] return params_list
def generate_param_list(Job_Params, params, config, subject): sp = spearmint_lite.spearmint_lite(Job_Params, [], config, Job_Params.type) params_dict = sp.generate_params_dict(params, subject) params_list = [] if "cutoff_frequencies_low_list" in params_dict: # cutoff_frequencies_low_list = params_dict.pop('cutoff_frequencies_low_list') # cutoff_frequencies_high_list = params_dict.pop('cutoff_frequencies_high_list') params_list = [float(params_dict['discard_mv_begin']), float(params_dict['discard_mv_end']), float(params_dict['discard_nc_begin']), float(params_dict['discard_nc_end']), float(params_dict['window_size']), float(params_dict['window_overlap_size']), params_dict['cutoff_frequencies_low_list'], params_dict['cutoff_frequencies_high_list'], params_dict['channel_type']] else: params_list = [float(params_dict['discard_mv_begin']), float(params_dict['discard_mv_end']), float(params_dict['discard_nc_begin']), float(params_dict['discard_nc_end']), float(params_dict['window_size']), float(params_dict['window_overlap_size']), params_dict['channel_type']] return params_list
def generate_params_dict(self, params): sp = spearmint_lite.spearmint_lite(None, None, self.config, self.optimization_type) params_dict = sp.generate_params_dict(map(float, params.split(' ')[2:]), self.subject) params_list = SJR.Simple_Job_Runner.create_params_list(params_dict) out_file_name = SJR.Simple_Job_Runner.generate_learner_output_file_name( params_list, self.subject) results_path = self.config.configuration['results_path_str'] results_opt_path = self.config.configuration['results_opt_path_str'] results_path, results_opt_path = SJR.Simple_Job_Runner.set_results_path( results_path, results_opt_path, self.classifier, self.feature, optimization_type = self.optimization_type, BO_selection_type = '') res_file_name = os.path.join(results_path, out_file_name) my_Learner_Manager = Learner_Manager.Learner_Manager(self.config, self.classifier, self.feature) current_error, learner_params = my_Learner_Manager.find_cv_error(res_file_name) # params_dict = sp.generate_params_dict(map(float, params), self.subject) params_dict = dict(params_dict.items() + learner_params.items()) return float(params.split(' ')[0]), params_dict, params_list, learner_params
'BCI_Framework', dataset) complete_jobs = np.zeros( config.configuration['number_of_subjects']) all_mvs_have_same_lebngth = all( map( lambda x: x == config.configuration[ 'movement_trial_size_list'][0], config.configuration['movement_trial_size_list'])) for subj_ind, subj in enumerate( config.configuration['subject_names_str']): if all_mvs_have_same_lebngth: all_subjects_candidates_list = all_subjects_candidates_dict[ (dataset_ind, optimization_type)][0] else: all_subjects_candidates_list = all_subjects_candidates_dict[ (dataset_ind, optimization_type)][subj_ind] sp = spearmint_lite.spearmint_lite( Job_Params, all_subjects_candidates_list, config, optimization_type) finished[(subj + str(dataset_ind), optimization_type)] = sp.main( Job_Params, complete_jobs, subj) sleep(30) first_iteration = False
os.chdir('../bci_framework') sys.path.append('./BCI_Framework') import Main import Configuration_BCI import numpy as np import spearmint_lite class Job_Params: job_dir = 'BCI_Framework' num_all_jobs = 100 dataset = 'BCICIV2b' seed = 1 classifier_name = 'LogisticRegression' feature_extraction = 'BP' n_concurrent_jobs = 3 chooser_module = "GPEIOptChooser" n_initial_candidates = 12 if __name__ == '__main__': BO_type = 2 config = Configuration_BCI.Configuration_BCI('BCI_Framework', 'BCICIV2b') sp = spearmint_lite.spearmint_lite(Job_Params, [], config, BO_type) params = [687.0, 1.0, 1.5, 3.5] subj = '100' sp.run_job(params, subj)
from random import randrange seed = randrange(50) classifier_name = classifier feature_extraction = feature n_concurrent_jobs = 1 chooser_module = bo_type Job_Params.n_initial_candidates = 0 config = Configuration_BCI.Configuration_BCI('BCI_Framework', dataset) complete_jobs = np.zeros(config.configuration['number_of_subjects']) all_mvs_have_same_lebngth = all(map(lambda x: x == config.configuration['movement_trial_size_list'][0], config.configuration['movement_trial_size_list'])) for subj_ind, subj in enumerate(config.configuration['subject_names_str']): if all_mvs_have_same_lebngth: all_subjects_candidates_list = all_subjects_candidates_dict[(dataset_ind, optimization_type)][0] else: all_subjects_candidates_list = all_subjects_candidates_dict[(dataset_ind, optimization_type)][subj_ind] sp = spearmint_lite.spearmint_lite(Job_Params, all_subjects_candidates_list, config, optimization_type) finished[(subj+str(dataset_ind), optimization_type)] = sp.main(Job_Params, complete_jobs, subj) # sleep(1) first_iteration = False # execution_time = time.time() - start_time # print execution_time
import sys os.chdir('../bci_framework') sys.path.append('./BCI_Framework') import Main import Configuration_BCI import numpy as np import spearmint_lite class Job_Params: job_dir = 'BCI_Framework' num_all_jobs = 100 dataset = 'BCICIV2b' seed = 1 classifier_name = 'LogisticRegression' feature_extraction = 'BP' n_concurrent_jobs = 3 chooser_module = "GPEIOptChooser" n_initial_candidates = 12 if __name__ == '__main__': BO_type = 2 config = Configuration_BCI.Configuration_BCI('BCI_Framework', 'BCICIV2b') sp = spearmint_lite.spearmint_lite(Job_Params, [], config, BO_type) params = [687.0, 1.0, 1.5, 3.5] subj = '100' sp.run_job(params, subj)