Пример #1
0
 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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
 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)