def train(self, niter, piter, siter, save_dir=None, asset_dir=None): self.logger.info("Model training starts") final_iter = self.start_iter + niter max_accuracy = -1 max_acc_iter = -1 for iter_ in tqdm_range(self.start_iter, final_iter): # train_idx = (iter_ - self.start_iter)//piter train_idx = iter_ // piter self.run_batch(train_idx) if (iter_ + 1) % siter == 0 or iter_ + 1 == final_iter: include_discrete = False if train_idx < self.args.ntime else True accuracy = self.evaluate(include_discrete=include_discrete) self.latent_traversal_gif(path=asset_dir + '{}.gif'.format(iter_ + 1), include_discrete=include_discrete) if max_accuracy == -1 or max_accuracy < accuracy: self.save(iter_, save_dir) self.logger.info("Save process") max_accuracy = accuracy max_acc_iter = iter_ print('max_accuracy:', max_accuracy) self.logger.info('max_accuracy: ' + str(max_accuracy)) self.logger.info('max_acc_iter: ' + str(max_acc_iter)) self.logger.info("Model training ends")
def train(self, niter, piter, siter, save_dir=None, asset_dir=None): self.logger.info("Model training starts") final_iter = self.start_iter + niter max_accuracy = -1 for iter_ in tqdm_range(self.start_iter, final_iter): train_idx = (iter_ - self.start_iter) // piter self.run_batch(train_idx) if (iter_ + 1) % siter == 0 or iter_ + 1 == final_iter: accuracy = self.evaluate() self.latent_traversal_gif(path=asset_dir + '{}.gif'.format(iter_ + 1)) if max_accuracy == -1 or max_accuracy < accuracy: self.save(iter_, save_dir) self.logger.info("Save process") max_accuracy = accuracy self.logger.info("Model training ends")
def train(self, niter, piter, siter, save_dir=None, asset_dir=None): self.logger.info("Model training starts") current_time = datetime.datetime.now().strftime("%Y%m%d-%H%M%S") train_log_dir = os.path.join(asset_dir, current_time, 'train') # test_log_dir = os.path.join(asset_dir, current_time, '/test') train_summary_writer = tf.summary.FileWriter(train_log_dir, self.sess.graph) final_iter = self.start_iter + niter max_accuracy = -1 max_acc_iter = -1 for iter_ in tqdm_range(self.start_iter, final_iter): train_idx = (iter_ - self.start_iter) // piter summary = self.run_batch(train_idx) train_summary_writer.add_summary(summary, iter_) if (iter_ + 1) % siter == 0 or iter_ + 1 == final_iter: if self.args.use_discrete: include_discrete = False if train_idx < self.args.ntime else True else: include_discrete = False accuracy = self.evaluate(include_discrete=include_discrete) self.latent_traversal_gif(path=asset_dir + '{}.gif'.format(iter_ + 1), include_discrete=include_discrete) if max_accuracy == -1 or max_accuracy < accuracy: self.save(iter_, save_dir) self.logger.info("Save process") max_accuracy = accuracy max_acc_iter = iter_ self.logger.info('max_accuracy: ' + str(max_accuracy)) self.logger.info('max_acc_iter: ' + str(max_acc_iter)) with open(os.path.join(asset_dir, 'acc.txt'), 'a') as f: f.write('iter: '+str(iter_) + ', acc: ' + str(accuracy) + \ '; max_iter:' + str(max_acc_iter) + \ ', max_acc:' + str(max_accuracy)) self.logger.info("Model training ends")