long run
parent
52949f6aab
commit
470c4453ae
|
@ -97,9 +97,7 @@ class eNoseTrainer:
|
|||
|
||||
def wrap_and_save(self):
|
||||
self.logger.info("{:=^60}".format(' Saving Summary and Wrap the output in a ZipFile '))
|
||||
|
||||
|
||||
with zipfile.ZipFile('{}-{}.zip'.format(self.name, self.start), 'w', zipfile.ZIP_DEFLATED) as zipf:
|
||||
with zipfile.ZipFile('{}-{}.zip'.format(self.name, self.start), 'w', zipfile.ZIP_LZMA) as zipf:
|
||||
for root, dirs, files in os.walk(self.name):
|
||||
for file in files:
|
||||
zipf.write(os.path.join(root, file))
|
||||
|
@ -109,49 +107,6 @@ class eNoseTrainer:
|
|||
self.logger.debug(f'Looking for {dataset}, {model}, {self.loader.target}, {self.ratio} => {search_result} {self.ledger.shape}')
|
||||
return search_result
|
||||
|
||||
def model_A(self, hp):
|
||||
|
||||
model = Sequential()
|
||||
model.add(Dense(units=hp.Int('units_input', min_value=48, max_value=56, step=8), input_dim=self.nvars, activation='relu'))
|
||||
model.add(BatchNormalization())
|
||||
model.add(Dropout(rate=hp.Float('dropout_input', min_value=0.1, max_value=0.1, step=0.1)))
|
||||
|
||||
model.add(Dense(units=hp.Int('units_hidden', min_value=32, max_value=48, step=8), activation='relu'))
|
||||
model.add(BatchNormalization())
|
||||
model.add(Dropout(rate=hp.Float('dropout_hidden', min_value=0.4, max_value=0.4, step=0.1)))
|
||||
|
||||
model.add(Dense(1, activation='sigmoid'))
|
||||
|
||||
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy', AUC()])
|
||||
|
||||
return model
|
||||
|
||||
def train_and_score_model_keras(self, X_train, X_test, Y_train, Y_test, seed, label):
|
||||
# set_random_seed(seed)
|
||||
ntrials = 6
|
||||
tuner = RandomSearch(
|
||||
self.get_model_train_keras,
|
||||
objective='val_loss', #val_loss
|
||||
# seed=seed,
|
||||
max_trials=ntrials,
|
||||
# executions_per_trial=1, # Número de ejecuciones por cada configuración
|
||||
directory=self.name,
|
||||
project_name='{}-{}'.format(label,seed))
|
||||
|
||||
self.logger.info("{:~^60}".format(' {}-{} '.format(label,seed)))
|
||||
|
||||
|
||||
search_dir = "{}/keras-tuner-{}/".format(self.name,label)
|
||||
os.makedirs(search_dir, exist_ok=True)
|
||||
search_callback = TensorBoard(log_dir=search_dir)
|
||||
early_stopping_search = EarlyStopping(monitor='val_loss', patience=13, min_delta=0.005, start_from_epoch=7, restore_best_weights=True)
|
||||
tuner.search(X_train, Y_train, epochs=150, batch_size=10, validation_data=(X_test, Y_test), callbacks=[early_stopping_search, search_callback])
|
||||
best_hps = tuner.get_best_hyperparameters(num_trials=1)[0]
|
||||
|
||||
self.trained += 1
|
||||
self.bar.update()
|
||||
return mse, mae, rmse, optimized_model, model_params
|
||||
|
||||
def get_model_train(self):
|
||||
return [
|
||||
XGBRegressor(objective='reg:squarederror'),
|
||||
|
|
|
@ -8,20 +8,21 @@ source_channels=["MQ 8", "MQ 9", "MQ 135", "TGS 813", "TGS 821", "TGS 2600", "TG
|
|||
target_variables=['C2H2', 'CH4', 'C3H6', 'CO', 'C2H6', 'C3H8', 'C2H4', 'H2', 'O2']
|
||||
|
||||
eNoseLoader = GasSensorDataLoader("enose_dataset", threshold=0.85, source_channels=source_channels, target_list=target_variables, debug=False)
|
||||
eNose = eNoseTrainer(eNoseLoader, test_size=0.2, debug=True)
|
||||
eNose = eNoseTrainer(eNoseLoader, test_size=0.2, debug=False)
|
||||
|
||||
eNoseLoader.target_list=['H2',]
|
||||
eNose.fit()
|
||||
# eNoseLoader.target_list=['C2H2',]
|
||||
# eNose.fit()
|
||||
# eNoseLoader.target_list=['CH4',]
|
||||
# eNose.fit()
|
||||
# eNoseLoader.target_list=['C2H4',]
|
||||
# eNose.fit()
|
||||
# eNoseLoader.target_list=['C2H6',]
|
||||
# eNose.fit()
|
||||
# eNoseLoader.target_list=['H2', 'C2H2', 'CH4', 'C2H4', 'C2H6',]
|
||||
# eNose.fit()
|
||||
# eNose.wrap_and_save()
|
||||
eNoseLoader.target_list=['C2H2',]
|
||||
eNose.fit()
|
||||
eNoseLoader.target_list=['CH4',]
|
||||
eNose.fit()
|
||||
eNoseLoader.target_list=['C2H4',]
|
||||
eNose.fit()
|
||||
eNoseLoader.target_list=['C2H6',]
|
||||
eNose.fit()
|
||||
eNoseLoader.target_list=['H2', 'C2H2', 'CH4', 'C2H4', 'C2H6',]
|
||||
eNose.fit()
|
||||
eNose.wrap_and_save()
|
||||
|
||||
# eNoseLoader.target_list=['H2',]
|
||||
# eNose.gen_plots('Tabular-conv3','XGBRegressor_0')
|
||||
|
|
Loading…
Reference in New Issue