def train_model(self): self._model() early_stopping = EarlyStopping( monitor="val_loss", patience=self.model_params["early_stopping_patience"], verbose=1) self.history = self.model.fit( x=self.train_feature, y=self.train_label, epochs=self.model_params["epochs"], verbose=self.model_params["verbose"], class_weight=self.class_weights, validation_data=(self.validation_feature, self.validation_label), batch_size=self.model_params["batch_size"], shuffle=self.model_params["shuffle"], callbacks=[early_stopping]) # logger.info("History : ", self.history) history_logger = self.history.history for i in range(len(history_logger["acc"])): logger.info( "Epoch : {:<4d} loss : {:.5f} acc : {:.5f} val_loss : {:.5f} val_acc : {:.5f}" .format(i, history_logger["loss"][i], history_logger["acc"][i], history_logger["val_loss"][i], history_logger["val_acc"][i])) self._save_model() self._save_figure(self.show_eval_figure) self._model_evaluate() self._get_predict_result_and_middle_feature() generate_metrics(self.dic_path) plot(self.dic_path, self.train_motor, self.test_motor)
def train_model(self): self._model() early_stopping = EarlyStopping( monitor="val_loss", patience=self.args.early_stopping_patience, verbose=1) self.history = self.model.fit( x=[ self.data_dic['train_feature'], self.data_dic['test_feature_for_transfer'], self.data_dic['train_label'], self.data_dic['test_label_for_transfer'] ], y=[ self.data_dic['train_label'], self.data_dic['test_label_for_transfer'] ], epochs=self.args.epochs, verbose=1, class_weight=[self.class_weights, self.class_weights], validation_data=([ self.data_dic['validation_feature'], self.data_dic['validation_feature_for_transfer'], self.data_dic['validation_label'], self.data_dic['validation_label_for_transfer'] ], [ self.data_dic['validation_label'], self.data_dic['validation_label_for_transfer'] ]), batch_size=self.args.batch_size, shuffle=True, callbacks=[early_stopping]) self._save_model() self._load_exist_model() # self._save_figure(self.show_eval_figure) # self._model_evaluate() self._get_predict_result_and_middle_feature() generate_metrics(self.dic_path) plot(self.dic_path, self.args.train_motor, self.args.test_motor)
def train_model(self): self._model() early_stopping = EarlyStopping( monitor="val_loss", patience=self.args.early_stopping_patience, verbose=1) # data generator training_generator = DataGenerator( self.data_dic['train_feature'], self.data_dic['test_feature_for_transfer'], self.data_dic['train_label'], self.data_dic['test_label_for_transfer'], self.model, self.one_hot_encoder, self.args.batch_size) validation_generator = DataGenerator( self.data_dic['validation_feature'], self.data_dic['validation_feature_for_transfer'], self.data_dic['validation_label'], self.data_dic['validation_label_for_transfer'], None, None, self.args.batch_size) self.history = self.model.fit_generator( generator=training_generator, validation_data=validation_generator, use_multiprocessing=True, workers=6, epochs=self.args.epochs, verbose=0, class_weight=[self.class_weights, self.class_weights], callbacks=[early_stopping]) self._save_model() self._load_exist_model() # self._save_figure(self.show_eval_figure) # self._model_evaluate() self._get_predict_result_and_middle_feature() generate_metrics(self.dic_path) plot(self.dic_path, self.args.train_motor, self.args.test_motor)
def predict_with_exist_model(self): self._load_exist_model() self._get_predict_result_and_middle_feature() generate_metrics(self.dic_path) plot(self.dic_path, self.train_motor, self.test_motor)