def feat_rnn(c=0): feats_eeg = scipy.stats.zscore(tools.feat_eeg(data[:,:,0])) feats_emg = scipy.stats.zscore(tools.feat_emg(data[:,:,1])) feats_eog = scipy.stats.zscore(tools.feat_eog(data[:,:,2])) feats_all = np.hstack([feats_eeg, feats_eog, feats_emg]) feats_seq, targ_seq, groups_seq = tools.to_sequences(feats_all, target, groups=groups, seqlen=6, tolist=False) r = cv(feats_seq, targ_seq, groups_seq, models.pure_rnn_do, name = 'feat-rnn-all', stop_after=15, counter=c, plot=plot) with open('edfxresults_recurrent_feat.pkl', 'wb') as f: pickle.dump(r, f)
def feat_ann(c=0): batch_size =700 feats_eeg = scipy.stats.zscore(tools.feat_eeg(data[:,:,0])) feats_emg = scipy.stats.zscore(tools.feat_emg(data[:,:,1])) feats_eog = scipy.stats.zscore(tools.feat_eog(data[:,:,2])) feats_all = np.hstack([feats_eeg, feats_emg, feats_eog]) results = dict() r = cv(feats_eeg, target, groups, models.ann, name = 'eeg', stop_after=15,batch_size=batch_size, counter=c, plot=plot) results.update(r) r = cv(np.hstack([feats_eeg,feats_eog]), target, groups, models.ann, name = 'eeg+eog',batch_size=batch_size, stop_after=15, counter=c, plot=plot) results.update(r) r = cv(np.hstack([feats_eeg,feats_emg]), target, groups, models.ann, name = 'eeg+emg',batch_size=batch_size, stop_after=15, counter=c, plot=plot) results.update(r) r = cv(feats_all, target, groups, models.ann, name = 'all',batch_size=batch_size, stop_after=15, counter=c, plot=plot) results.update(r) with open('results_electrodes_feat.pkl', 'wb') as f: pickle.dump(results, f)
def lstm(c=0): batch_size = 256 name = 'CNN+LSTM' rnn = {'model':models.pure_rnn_do, 'layers': ['fc1'], 'seqlen':6, 'epochs': 250, 'batch_size': 512, 'stop_after':15, 'balanced':False} model = models.cnn3adam_filter_l2 r = cv (data, target, groups, model, rnn, name=name, batch_size=batch_size, counter=counter, plot=plot, stop_after=15, balanced=False, cropsize=2800) with open('results_recurrent_lstm.pkl', 'wb') as f: pickle.dump(r, f)
#%% batch_size = 256 epochs = 256 ### rnn = { 'model': models.bi_lstm, 'layers': ['fc1'], 'seqlen': 6, 'epochs': 250, 'batch_size': 512, 'stop_after': 15, 'balanced': False } print(rnn) model = models.cnn3adam_filter_morel2 results = keras_utils.cv(data, target, groups, model, rnn=rnn, name='edfx-sample', epochs=epochs, folds=5, batch_size=batch_size, counter=0, plot=True, stop_after=15, balanced=False, cropsize=2800) with open('results_dataset_edfx-sample.pkl', 'wb') as f: pickle.dump(results, f)
# print(comment) # plot = False # ##%% # epochs = 250 # batch_size = 512 # results = dict() # # import stopping # with open('results_electrodes.pkl', 'wb') as f: # pickle.dump(results, f) ###%% epochs = 250 batch_size = 256 # cropsize = 2800 # r = cv(data[:,:,0:1], target, groups, models.cnn3adam_filter_morel2, epochs=epochs, name = 'eeg', stop_after=15, counter=counter,batch_size=batch_size, cropsize=cropsize) # results.update(r) ## r = cv(data[:,:,[0,1]], target, groups, models.cnn3adam_filter_morel2, epochs=epochs, name = 'eeg+emg', stop_after=15, counter=counter,batch_size=batch_size, cropsize=cropsize) # results.update(r) # r = cv(data[:,:,[0,2]], target, groups, models.cnn3adam_filter_morel2, epochs=epochs, name = 'eeg+eog', stop_after=15, counter=counter,batch_size=batch_size, cropsize=cropsize) # results.update(r) r = cv(data[:,:,:], target, groups, models.cnn3dilated, epochs=epochs, name = 'all', stop_after=15, counter=counter,batch_size=batch_size, cropsize=cropsize, balanced=True) # results.update(r) # with open('results_electrodes_morel2.pkl', 'wb') as f: # pickle.dump(results, f)
data, target, groups = load_data(dataset) #%% #s batch_size = 256 epochs = 250 name = dataset model = models.pure_rnn_do data = tools.get_all_features(data) feats = scipy.stats.zscore(data) feats_seq, target_seq, groups_seq = tools.to_sequences(data, target, groups=groups, seqlen=6) results = keras_utils.cv(feats_seq, target_seq, groups_seq, model, name=name, epochs=epochs, folds=5, batch_size=batch_size, counter=counter, plot=plot, stop_after=15, balanced=False) with open('results_dataset_feat_{}'.format(dataset), 'wb') as f: pickle.dump(results, f)
'balanced': False } print(rnn) data = data[:12000] target = target[:12000] groups = groups[:12000] # model = 'C:\\Users\\Simon\\dropbox\\Uni\\Masterthesis\\AutoSleepScorer\\weights\\balanced' model = models.cnn3adam_filter_morel2 r = keras_utils.cv(data, target, groups, model, rnn=rnn, trans_tuple=trans_tuple, name=name, epochs=epochs, folds=5, batch_size=batch_size, counter=counter, plot=True, stop_after=15, balanced=False, cropsize=2800) results.update(r) with open('results_recurrejsuttestingnt_morel2.pkl', 'wb') as f: pickle.dump(results, f) telegram_send.send(parse_mode='Markdown', messages=[ 'DONE {} {}\n```\n{}\n```\n'.format( os.path.basename(__file__), name, tools.print_string(results))
groups = np.load('groups.npy') feats_eeg = np.load('feats_eeg.npy') feats_emg = np.load('feats_emg.npy') feats_eog = np.load('feats_eog.npy') feats_all = np.hstack([feats_eeg, feats_emg, feats_eog]) batch_size = 512 epochs = 250 balanced = True results = {} r = cv(feats_eeg, target, groups, models.ann, epochs=epochs, name='eeg', stop_after=15, counter=counter, batch_size=batch_size, balanced=balanced) results.update(r) r = cv(np.hstack([feats_eeg, feats_emg]), target, groups, models.ann, epochs=epochs, name='eeg+emg', stop_after=15, counter=counter, batch_size=batch_size, balanced=balanced)
def cnn_all(c=0): r = cv(data[:,:,:], target, groups, models.cnn3adam_filter_l2, name = 'all', stop_after=15, counter=c, cropsize=2800, plot=plot) with open('results_electrodes_cnn_all.pkl', 'wb') as f: pickle.dump(r, f)
target[target==5] = 4 target[target>5] = 0 target = keras.utils.to_categorical(target) return data, target, groups data,target,groups = load_data(dataset) #%% #s # data = data[:15000] # target = target[:15000] # groups = groups[:15000] batch_size = 256 epochs = 256 name = dataset ### rnn = {'model':models.bi_lstm, 'layers': ['fc1'], 'seqlen':6, 'epochs': 250, 'batch_size': 512, 'stop_after':15, 'balanced':False} print(rnn) model = models.cnn3adam_filter_morel2 results = keras_utils.cv (data, target, groups, model, rnn=rnn, name=name, epochs=epochs, folds=5, batch_size=batch_size, counter=counter, plot=plot, stop_after=25, balanced=False, cropsize=2800) with open('results_dataset_{}_zscore.pkl'.format(dataset), 'wb') as f: pickle.dump(results, f) # telegram_send.send(parse_mode='Markdown',messages=['DONE {} {} \n```\n{}\n```\n'.format(os.path.basename(__file__), dataset, tools.print_string(results))]) #