def processThread(self): variant = "Original" # TODO Pass as argument print('Loading data, this may take a while...') model = PluginLoader.get_model(variant)(self.arguments.model_dir) model.load(swapped=False) images_A = get_image_paths(self.arguments.input_A) images_B = get_image_paths(self.arguments.input_B) trainer = PluginLoader.get_trainer(variant)(model, images_A, images_B) try: print('Starting. Press "Enter" to stop training and save model') for epoch in range(0, 1000000): save_iteration = epoch % self.arguments.save_interval == 0 trainer.train_one_step(epoch, self.show if save_iteration else None) if save_iteration: model.save_weights() if self.stop: model.save_weights() exit() except KeyboardInterrupt: try: model.save_weights() except KeyboardInterrupt: print('Saving model weights has been cancelled!') exit(0)
def load_trainer(self, model): """ Load the trainer requested for training """ images_a, images_b = self.images trainer = PluginLoader.get_trainer(self.trainer_name) trainer = trainer(model, images_a, images_b, self.args.batch_size, self.args.perceptual_loss) return trainer
def processThread(self): try: if self.arguments.allow_growth: self.set_tf_allow_growth() print('Loading data, this may take a while...') # this is so that you can enter case insensitive values for trainer trainer = self.arguments.trainer trainer = "LowMem" if trainer.lower() == "lowmem" else trainer model = PluginLoader.get_model(trainer)(get_folder( self.arguments.model_dir)) model.load(swapped=False) images_A = get_image_paths(self.arguments.input_A) images_B = get_image_paths(self.arguments.input_B) trainer = PluginLoader.get_trainer(trainer) trainer = trainer(model, images_A, images_B, self.arguments.batch_size, self.arguments.perceptual_loss) print('Starting. Press "Enter" to stop training and save model') for epoch in range(0, self.arguments.epochs): save_iteration = epoch % self.arguments.save_interval == 0 trainer.train_one_step( epoch, self.show if (save_iteration or self.save_now) else None, self.arguments.save_interval) if save_iteration: model.save_weights() if self.stop: model.save_weights() exit() if self.save_now: model.save_weights() self.save_now = False except KeyboardInterrupt: try: model.save_weights() except KeyboardInterrupt: print('Saving model weights has been cancelled!') exit(0) except Exception as e: print(e) exit(1)
def processThread(self): print("Loading Data..! This may take a while") trainer = self.arguments.trainer trainer = "LowMem" if trainer.lower() == "lowmem" else trainer model = PluginLoader.get_model(trainer)(get_folder( self.arguments.model_dir)) model.load(swapped=False) images_A = get_image_paths(self.arguments.input_A) images_B = get_image_paths(self.arguments.input_B) trainer = PluginLoader.get_trainer(trainer) trainer = trainer(model, images_A, images_B, batch_size=self.arguments.batch_size) try: print("Starting. Press Enter to stop Training and Save model") for epoch in range(0, 100000): save_iteration = epoch % self.arguments.save_interval == 0 trainer.train_one_step( epoch, self.show if (save_iteration or self.save_now) else None) if save_iteration: model.save_weights() if self.stop: model.save_weights() exit() if self.save_now: model.save_weights() self.save_now = False except KeyboardInterrupt: try: model.save_weights() except KeyboardInterrupt: print("Saving model weights has been cancelled...!") exit(0)
def processThread(self): if self.arguments.allow_growth: self.set_tf_allow_growth() print('Loading data, this may take a while...') # this is so that you can enter case insensitive values for trainer trainer = self.arguments.trainer trainer = "LowMem" if trainer.lower() == "lowmem" else trainer model = PluginLoader.get_model(trainer)(get_folder(self.arguments.model_dir)) model.load(swapped=False) images_A = get_image_paths(self.arguments.input_A) images_B = get_image_paths(self.arguments.input_B) trainer = PluginLoader.get_trainer(trainer) trainer = trainer(model, images_A, images_B, batch_size=self.arguments.batch_size) try: print('Starting. Press "Enter" to stop training and save model') for epoch in range(0, self.arguments.epochs): save_iteration = epoch % self.arguments.save_interval == 0 trainer.train_one_step(epoch, self.show if (save_iteration or self.save_now) else None) if save_iteration: model.save_weights() if self.stop: model.save_weights() exit() if self.save_now: model.save_weights() self.save_now = False except KeyboardInterrupt: try: model.save_weights() except KeyboardInterrupt: print('Saving model weights has been cancelled!') exit(0) except Exception as e: print(e) exit(1)
def processThread(self): print('Loading data, this may take a while...') # this is so that you can enter case insensitive values for trainer trainer = self.arguments.trainer trainer = trainer if trainer != "Lowmem" else "LowMem" model = PluginLoader.get_model(trainer)(self.arguments.model_dir) model.load(swapped=False) images_A = get_image_paths(self.arguments.input_A) images_B = get_image_paths(self.arguments.input_B) trainer = PluginLoader.get_trainer(trainer)( model, images_A, images_B, batch_size=self.arguments.batch_size) try: print('Starting. Press "Enter" to stop training and save model') for epoch in range(0, 1000000): save_iteration = epoch % self.arguments.save_interval == 0 trainer.train_one_step( epoch, self.show if (save_iteration or self.save_now) else None) if save_iteration: model.save_weights() if self.stop: model.save_weights() exit() if self.save_now: model.save_weights() self.save_now = False except KeyboardInterrupt: try: model.save_weights() except KeyboardInterrupt: print('Saving model weights has been cancelled!') exit(0)