Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
 #%%
 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)
Exemplo n.º 5
0
#    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)
Exemplo n.º 7
0
     '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))
Exemplo n.º 8
0
    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)
Exemplo n.º 9
0
 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)
Exemplo n.º 10
0
        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))])
#