Ejemplo n.º 1
0
 def training_all_data(self, model, x, y, splits, patience_value=25):
     for i in splits:
         # shuffle, sort = 0
         x_train = x[i[0]]
         y_train = y[i[0]]
         x_val = x[i[1]]
         y_val = y[i[1]]
         self.sp_obj = sp(patience=patience_value,
                          verbose=True,
                          save_the_best=True)
         self.sp_obj.set_validation_data((x_val, y_val))
         # print("FOLD: ", i)
         hist = self.training(model, x_train, y_train, x_val, y_val)
         histories_fold = {}
         histories_fold['val_loss'] = hist.history['val_loss'][-1]
         histories_fold['val_acc'] = hist.history['val_acc'][-1]
         histories_fold['loss'] = hist.history['loss'][-1]
         histories_fold['acc'] = hist.history['acc'][-1]
         histories_fold['max_sp_val'] = hist.history['max_sp_val'][-1]
         histories_fold['max_sp_fa_val'] = hist.history['max_sp_fa_val'][-1]
         histories_fold['max_sp_pd_val'] = hist.history['max_sp_pd_val'][-1]
         histories_fold['max_sp_best_epoch_val'] = hist.history[
             'max_sp_best_epoch_val'][-1]
         self.histories.append(histories_fold)
         self.weights_model.append(model.get_weights())
     best_sp = []
     for i in self.histories:
         best_sp.append(i['max_sp_val'])
     model.set_weights(self.weights_model[np.argmax(best_sp)])
     return model
Ejemplo n.º 2
0
 def training(self, model, x, y, x_val, y_val, patience_value=25):
     self.sp_obj = sp(patience=patience_value,
                      verbose=True,
                      save_the_best=True)
     return model.fit(x,
                      y,
                      epochs=300,
                      batch_size=1024,
                      verbose=False,
                      validation_data=(x_val, y_val),
                      callbacks=[self.sp_obj],
                      class_weight=compute_class_weight(
                          'balanced', np.unique(y), y),
                      shuffle=True)
Ejemplo n.º 3
0
model = Sequential()
model.add(Conv1D(16, kernel_size=2, activation='relu', input_shape=(100, 1)))
model.add(Conv1D(32, kernel_size=2, activation='relu'))
model.add(Flatten())
model.add(Dense(32, activation='relu'))
model.add(Dense(1, activation='linear'))
model.add(Activation('sigmoid'))

# compile the model
model.compile(
    'adam',
    loss='binary_crossentropy',
    metrics=['acc'],
)

sp_obj = sp(patience=25, verbose=True, save_the_best=True)
# sp_obj.set_validation_data( (x_val, y_val) )

for i in splits:
    # shuffle, sort = 0
    x = data[i[0]]
    y = target[i[0]]
    x_val = data[i[1]]
    y_val = target[i[1]]

    sp_obj.set_validation_data((x_val, y_val))
    # train the model
    history = model.fit(x,
                        y,
                        epochs=10,
                        batch_size=1024,
Ejemplo n.º 4
0
 def __init__(self):
     self.model = Sequential()
     self.sp_obj = sp(patience=25, verbose=True, save_the_best=True)
     self.histories = []
     self.weights_model = []