Python tensorboard_logger.log_value() Examples
The following are 28
code examples of tensorboard_logger.log_value().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
tensorboard_logger
, or try the search function
.
Example #1
Source File: worker_no_timelimit.py From Auto-PyTorch with Apache License 2.0 | 6 votes |
def optimize_pipeline(self, config, budget, config_id, random_state): random.setstate(random_state) if self.permutations is not None: current_sh_run = config_id[0] self.pipeline_config["dataset_order"] = self.permutations[current_sh_run%len(self.permutations)].tolist() try: self.autonet_logger.info("Fit optimization pipeline") return self.pipeline.fit_pipeline(hyperparameter_config=config, pipeline_config=self.pipeline_config, X_train=self.X_train, Y_train=self.Y_train, X_valid=self.X_valid, Y_valid=self.Y_valid, budget=budget, budget_type=self.budget_type, max_budget=self.max_budget, config_id=config_id, working_directory=self.working_directory), random.getstate() except Exception as e: if 'use_tensorboard_logger' in self.pipeline_config and self.pipeline_config['use_tensorboard_logger']: import tensorboard_logger as tl tl.log_value('Exceptions/' + str(e), budget, int(time.time())) #self.autonet_logger.exception('Exception occurred') raise e
Example #2
Source File: worker.py From Auto-PyTorch with Apache License 2.0 | 6 votes |
def optimize_pipeline(self, config, config_id, budget, optimize_start_time): """Fit the pipeline using the sampled hyperparameter configuration. Arguments: config {dict} -- The sampled hyperparameter configuration. config_id {tuple} -- An ID for the configuration. Assigned by BOHB. budget {float} -- The budget to evaluate the hyperparameter configuration. optimize_start_time {float} -- The time when optimization started. Returns: dict -- The result of fitting the pipeline. """ try: self.autonet_logger.info("Fit optimization pipeline") return self.pipeline.fit_pipeline(hyperparameter_config=config, pipeline_config=self.pipeline_config, X_train=self.X_train, Y_train=self.Y_train, X_valid=self.X_valid, Y_valid=self.Y_valid, budget=budget, budget_type=self.budget_type, max_budget=self.max_budget, optimize_start_time=optimize_start_time, refit=False, rescore=False, hyperparameter_config_id=config_id, dataset_info=self.dataset_info) except Exception as e: if 'use_tensorboard_logger' in self.pipeline_config and self.pipeline_config['use_tensorboard_logger']: import tensorboard_logger as tl tl.log_value('Exceptions/' + str(e), budget, int(time.time())) self.autonet_logger.info(str(e)) raise e
Example #3
Source File: train.py From VSE-C with MIT License | 6 votes |
def validate_caption_only(opt, val_loader, model): # compute the encoding for all the validation images and captions img_embs, cap_embs = encode_data( model, val_loader, opt.log_step, logging.info) # caption retrieval (r1, r5, r10, medr, meanr) = i2t_text_only(img_embs, cap_embs, measure=opt.measure) logging.info("Image to text: %.1f, %.1f, %.1f, %.1f, %.1f" % (r1, r5, r10, medr, meanr)) # sum of recalls to be used for early stopping currscore = r1 + r5 + r10 # record metrics in tensorboard tb_logger.log_value('r1', r1, step=model.Eiters) tb_logger.log_value('r5', r5, step=model.Eiters) tb_logger.log_value('r10', r10, step=model.Eiters) tb_logger.log_value('medr', medr, step=model.Eiters) tb_logger.log_value('meanr', meanr, step=model.Eiters) tb_logger.log_value('rsum', currscore, step=model.Eiters) return currscore
Example #4
Source File: optimization_algorithm.py From Auto-PyTorch with Apache License 2.0 | 6 votes |
def __call__(self, job): import tensorboard_logger as tl # id = job.id budget = job.kwargs['budget'] # config = job.kwargs['config'] timestamps = job.timestamps result = job.result exception = job.exception time_step = int(timestamps['finished'] - self.start_time) if result is not None: tl.log_value('BOHB/all_results', result['loss'] * -1, time_step) if result['loss'] < self.incumbent: self.incumbent = result['loss'] tl.log_value('BOHB/incumbent_results', self.incumbent * -1, time_step)
Example #5
Source File: Loggers.py From hardnet with MIT License | 5 votes |
def log_value(self, name, value): log_value(name, value, self.global_step) return self
Example #6
Source File: train_node.py From Auto-PyTorch with Apache License 2.0 | 5 votes |
def tensorboard_log(self, budget, epoch, log, logdir): import tensorboard_logger as tl worker_path = 'Train/' try: tl.log_value(worker_path + 'budget', float(budget), int(time.time())) except: tl.configure(logdir) tl.log_value(worker_path + 'budget', float(budget), int(time.time())) tl.log_value(worker_path + 'epoch', float(epoch + 1), int(time.time())) for name, value in log.items(): tl.log_value(worker_path + name, float(value), int(time.time()))
Example #7
Source File: train.py From CAMP_iccv19 with Apache License 2.0 | 5 votes |
def validate(opt, val_loader, model, tb_logger): # compute the encoding for all the validation images and captions print("start validate") model.val_start() img_embs, cap_embs, cap_masks = encode_data( model, val_loader, opt.log_step, logging.info) # caption retrieval (i2t_r1, i2t_r5, i2t_r10, i2t_medr, i2t_meanr), (t2i_r1, t2i_r5, t2i_r10, t2i_medr, t2i_meanr) = i2t(img_embs, cap_embs, cap_masks, measure=opt.measure, model=model) logging.info("Image to text: %.1f, %.1f, %.1f, %.1f, %.1f" % (i2t_r1, i2t_r5, i2t_r10, i2t_medr, i2t_meanr)) # image retrieval #(r1i, r5i, r10i, medri, meanr) = t2i( # img_embs, cap_embs, measure=opt.measure, model=model) logging.info("Text to image: %.1f, %.1f, %.1f, %.1f, %.1f" % (t2i_r1, t2i_r5, t2i_r10, t2i_medr, t2i_meanr)) # sum of recalls to be used for early stopping currscore = i2t_r1 + i2t_r5 + i2t_r10 + t2i_r1 + t2i_r5 + t2i_r10 # record metrics in tensorboard tb_logger.log_value('i2t_r1', i2t_r1, step=model.Eiters) tb_logger.log_value('i2t_r5', i2t_r5, step=model.Eiters) tb_logger.log_value('i2t_r10', i2t_r10, step=model.Eiters) tb_logger.log_value('i2t_medr', i2t_medr, step=model.Eiters) tb_logger.log_value('i2t_meanr', i2t_meanr, step=model.Eiters) tb_logger.log_value('t2i_r1', t2i_r1, step=model.Eiters) tb_logger.log_value('t2i_r5', t2i_r5, step=model.Eiters) tb_logger.log_value('t2i_r10', t2i_r10, step=model.Eiters) tb_logger.log_value('t2i_medr', t2i_medr, step=model.Eiters) tb_logger.log_value('t2i_meanr', t2i_meanr, step=model.Eiters) tb_logger.log_value('rsum', currscore, step=model.Eiters) return currscore
Example #8
Source File: train.py From pytorch-stochastic-depth with MIT License | 5 votes |
def test(epoch): global best_test_acc rnet.eval() total = 0 correct = 0 test_loss = 0 total_batch = 0 for batch_idx, (inputs, targets) in tqdm.tqdm(enumerate(testloader), total=len(testloader)): inputs, targets = inputs.to(device), targets.to(device) probs = rnet(inputs) loss = criterion(probs, targets) test_loss += loss.item() _, predicted = probs.max(1) total += targets.size(0) correct += predicted.eq(targets).sum().item() total_batch += 1 print('E:%d Test Loss: %.3f Test Acc: %.3f' % (epoch, test_loss / total_batch, correct / total)) # save best model acc = 100.*correct/total if acc > best_test_acc: best_test_acc = acc print('saving best model...') state = { 'net': rnet.state_dict(), 'acc': acc, 'epoch': epoch, } torch.save(state, 'resnet110.t7') tensorboard_logger.log_value('test_acc', acc, epoch) tensorboard_logger.log_value('test_loss', test_loss/total_batch, epoch)
Example #9
Source File: train.py From pytorch-stochastic-depth with MIT License | 5 votes |
def train(epoch): rnet.train() total = 0 correct = 0 train_loss = 0 total_batch = 0 for batch_idx, (inputs, targets) in tqdm.tqdm(enumerate(trainloader), total=len(trainloader)): inputs, targets = inputs.to(device), targets.to(device) probs = rnet(inputs, True) optimizer.zero_grad() loss = criterion(probs, targets) loss.backward() optimizer.step() train_loss += loss.item() _, predicted = probs.max(1) total += targets.size(0) correct += predicted.eq(targets).sum().item() total_batch += 1 print('E:%d Train Loss: %.3f Train Acc: %.3f LR %f' % (epoch, train_loss / total_batch, correct / total, optimizer.param_groups[0]['lr'])) tensorboard_logger.log_value('train_acc', correct/total, epoch) tensorboard_logger.log_value('train_loss', train_loss / total_batch, epoch)
Example #10
Source File: train.py From speech with Apache License 2.0 | 5 votes |
def run_epoch(model, optimizer, train_ldr, it, avg_loss): model_t = 0.0; data_t = 0.0 end_t = time.time() tq = tqdm.tqdm(train_ldr) for batch in tq: start_t = time.time() optimizer.zero_grad() loss = model.loss(batch) loss.backward() grad_norm = nn.utils.clip_grad_norm(model.parameters(), 200) loss = loss.data[0] optimizer.step() prev_end_t = end_t end_t = time.time() model_t += end_t - start_t data_t += start_t - prev_end_t exp_w = 0.99 avg_loss = exp_w * avg_loss + (1 - exp_w) * loss tb.log_value('train_loss', loss, it) tq.set_postfix(iter=it, loss=loss, avg_loss=avg_loss, grad_norm=grad_norm, model_time=model_t, data_time=data_t) it += 1 return it, avg_loss
Example #11
Source File: logger.py From FewShotLearning with MIT License | 5 votes |
def log_value(self, name, value): log_value(name, value, self.global_step) return self
Example #12
Source File: train_and_eval.py From Pointnet2.PyTorch with MIT License | 5 votes |
def eval_one_epoch(model, eval_loader, epoch, tb_log=None, log_f=None): model.train() log_print('===============EVAL EPOCH %d================' % epoch, log_f=log_f) iou_list = [] for it, batch in enumerate(eval_loader): pts_input, cls_labels = batch['pts_input'], batch['cls_labels'] pts_input = torch.from_numpy(pts_input).cuda(non_blocking=True).float() cls_labels = torch.from_numpy(cls_labels).cuda(non_blocking=True).long().view(-1) pred_cls = model(pts_input) pred_cls = pred_cls.view(-1) pred_class = (torch.sigmoid(pred_cls) > FG_THRESH) fg_mask = cls_labels > 0 correct = ((pred_class.long() == cls_labels) & fg_mask).float().sum() union = fg_mask.sum().float() + (pred_class > 0).sum().float() - correct iou = correct / torch.clamp(union, min=1.0) iou_list.append(iou.item()) log_print('EVAL: it=%d/%d, iou=%.3f' % (it, len(eval_loader), iou), log_f=log_f) iou_list = np.array(iou_list) avg_iou = iou_list.mean() if tb_log is not None: tb_log.log_value('eval_fg_iou', avg_iou, epoch) log_print('\nEpoch %d: Average IoU (samples=%d): %.6f' % (epoch, iou_list.__len__(), avg_iou), log_f=log_f) return avg_iou
Example #13
Source File: train_and_eval.py From Pointnet2.PyTorch with MIT License | 5 votes |
def train_one_epoch(model, train_loader, optimizer, epoch, lr_scheduler, total_it, tb_log, log_f): model.train() log_print('===============TRAIN EPOCH %d================' % epoch, log_f=log_f) loss_func = DiceLoss(ignore_target=-1) for it, batch in enumerate(train_loader): optimizer.zero_grad() pts_input, cls_labels = batch['pts_input'], batch['cls_labels'] pts_input = torch.from_numpy(pts_input).cuda(non_blocking=True).float() cls_labels = torch.from_numpy(cls_labels).cuda(non_blocking=True).long().view(-1) pred_cls = model(pts_input) pred_cls = pred_cls.view(-1) loss = loss_func(pred_cls, cls_labels) loss.backward() clip_grad_norm_(model.parameters(), 1.0) optimizer.step() total_it += 1 pred_class = (torch.sigmoid(pred_cls) > FG_THRESH) fg_mask = cls_labels > 0 correct = ((pred_class.long() == cls_labels) & fg_mask).float().sum() union = fg_mask.sum().float() + (pred_class > 0).sum().float() - correct iou = correct / torch.clamp(union, min=1.0) cur_lr = lr_scheduler.get_lr()[0] tb_log.log_value('learning_rate', cur_lr, epoch) if tb_log is not None: tb_log.log_value('train_loss', loss, total_it) tb_log.log_value('train_fg_iou', iou, total_it) log_print('training epoch %d: it=%d/%d, total_it=%d, loss=%.5f, fg_iou=%.3f, lr=%f' % (epoch, it, len(train_loader), total_it, loss.item(), iou.item(), cur_lr), log_f=log_f) return total_it
Example #14
Source File: LogMetric.py From nmp_qc with MIT License | 5 votes |
def log_value(self, name, value): log_value(name, value, self.global_step) return self
Example #15
Source File: logger.py From skiprnn_pytorch with MIT License | 5 votes |
def log_value(self, name, value): log_value(name, value, self.global_step) return self
Example #16
Source File: train.py From vsepp with Apache License 2.0 | 5 votes |
def validate(opt, val_loader, model): # compute the encoding for all the validation images and captions img_embs, cap_embs = encode_data( model, val_loader, opt.log_step, logging.info) # caption retrieval (r1, r5, r10, medr, meanr) = i2t(img_embs, cap_embs, measure=opt.measure) logging.info("Image to text: %.1f, %.1f, %.1f, %.1f, %.1f" % (r1, r5, r10, medr, meanr)) # image retrieval (r1i, r5i, r10i, medri, meanr) = t2i( img_embs, cap_embs, measure=opt.measure) logging.info("Text to image: %.1f, %.1f, %.1f, %.1f, %.1f" % (r1i, r5i, r10i, medri, meanr)) # sum of recalls to be used for early stopping currscore = r1 + r5 + r10 + r1i + r5i + r10i # record metrics in tensorboard tb_logger.log_value('r1', r1, step=model.Eiters) tb_logger.log_value('r5', r5, step=model.Eiters) tb_logger.log_value('r10', r10, step=model.Eiters) tb_logger.log_value('medr', medr, step=model.Eiters) tb_logger.log_value('meanr', meanr, step=model.Eiters) tb_logger.log_value('r1i', r1i, step=model.Eiters) tb_logger.log_value('r5i', r5i, step=model.Eiters) tb_logger.log_value('r10i', r10i, step=model.Eiters) tb_logger.log_value('medri', medri, step=model.Eiters) tb_logger.log_value('meanr', meanr, step=model.Eiters) tb_logger.log_value('rsum', currscore, step=model.Eiters) return currscore
Example #17
Source File: logger.py From DeepSpeaker-pytorch with MIT License | 5 votes |
def log_value(self, name, value): log_value(name, value, self.global_step) return self
Example #18
Source File: fit_harness.py From ibeis with Apache License 2.0 | 5 votes |
def validation_epoch(harn): ave_metrics = defaultdict(lambda: 0) final_metrics = ave_metrics.copy() for vali_idx, input_batch in enumerate(harn.vali_loader): input_batch = harn._to_xpu(*input_batch) # print('Begin batch {}'.format(vali_idx)) v_cur_metrics = harn.validation_batch(input_batch) for k, v in v_cur_metrics.items(): ave_metrics[k] += v final_metrics[k] += v if (vali_idx + 1) % harn.config['vail_displayInterval'] == 0: for k in ave_metrics.keys(): ave_metrics[k] /= harn.config['displayInterval'] harn.log('Epoch {0}: {1} / {2} | vloss:{3:.5f} acc:{4:.2f} | sdis:{5:.3f} ddis:{6:.3f}'.format( harn.epoch, vali_idx, len(harn.vali_loader), ave_metrics['loss'], ave_metrics['accuracy'], ave_metrics['pos_dist'], ave_metrics['neg_dist'])) for k in ave_metrics.keys(): ave_metrics[k] = 0 for k in final_metrics.keys(): final_metrics[k] /= len(harn.vali_loader) harn.log('Epoch {0}: final vloss:{1:.5f} acc:{2:.2f} | sdis:{3:.3f} ddis:{4:.3f}'.format( harn.epoch, final_metrics['loss'], final_metrics['accuracy'], final_metrics['pos_dist'], final_metrics['neg_dist'])) iter_idx = harn.epoch * len(harn.vali_loader) + vali_idx for key, value in final_metrics.items(): harn.log_value('validation ' + key, value, iter_idx) # def display_metrics(): # pass
Example #19
Source File: fit_harness.py From ibeis with Apache License 2.0 | 5 votes |
def train_epoch(harn): ave_metrics = defaultdict(lambda: 0) # change learning rate (modified optimizer inplace) lr = harn.lr_scheduler(harn.epoch, harn.optimizer) # train batch for batch_idx, input_batch in enumerate(harn.train_loader): input_batch = harn._to_xpu(*input_batch) # print('Begin batch {}'.format(batch_idx)) t_cur_metrics = harn.train_batch(input_batch) for k, v in t_cur_metrics.items(): ave_metrics[k] += v # display training info if (batch_idx + 1) % harn.config['displayInterval'] == 0: for k in ave_metrics.keys(): ave_metrics[k] /= harn.config['displayInterval'] n_train = len(harn.train_loader) harn.log('Epoch {0}: {1} / {2} | lr:{3} - tloss:{4:.5f} acc:{5:.2f} | sdis:{6:.3f} ddis:{7:.3f}'.format( harn.epoch, batch_idx, n_train, lr, ave_metrics['loss'], ave_metrics['accuracy'], ave_metrics['pos_dist'], ave_metrics['neg_dist'])) iter_idx = harn.epoch * n_train + batch_idx for key, value in ave_metrics.items(): harn.log_value('train ' + key, value, iter_idx) # diagnoseGradients(model.parameters()) for k in ave_metrics.keys(): ave_metrics[k] = 0
Example #20
Source File: fit_harness.py From ibeis with Apache License 2.0 | 5 votes |
def log_value(harn, key, value, n_iter): if False: print('{}={} @ {}'.format(key, value, n_iter)) if tensorboard_logger: tensorboard_logger.log_value(key, value, n_iter)
Example #21
Source File: trainer.py From dual_encoding with Apache License 2.0 | 5 votes |
def train(opt, train_loader, model, epoch): # average meters to record the training statistics batch_time = AverageMeter() data_time = AverageMeter() train_logger = LogCollector() # switch to train mode model.train_start() progbar = Progbar(len(train_loader.dataset)) end = time.time() for i, train_data in enumerate(train_loader): # measure data loading time data_time.update(time.time() - end) # make sure train logger is used model.logger = train_logger # Update the model b_size, loss = model.train_emb(*train_data) progbar.add(b_size, values=[('loss', loss)]) # measure elapsed time batch_time.update(time.time() - end) end = time.time() # Record logs in tensorboard tb_logger.log_value('epoch', epoch, step=model.Eiters) tb_logger.log_value('step', i, step=model.Eiters) tb_logger.log_value('batch_time', batch_time.val, step=model.Eiters) tb_logger.log_value('data_time', data_time.val, step=model.Eiters) model.logger.tb_log(tb_logger, step=model.Eiters)
Example #22
Source File: train.py From VSE-C with MIT License | 5 votes |
def validate(opt, val_loader, model): # compute the encoding for all the validation images and captions img_embs, cap_embs = encode_data( model, val_loader, opt.log_step, logging.info) # caption retrieval (r1, r5, r10, medr, meanr) = i2t(img_embs, cap_embs, measure=opt.measure) logging.info("Image to text: %.1f, %.1f, %.1f, %.1f, %.1f" % (r1, r5, r10, medr, meanr)) # image retrieval (r1i, r5i, r10i, medri, meanr) = t2i( img_embs, cap_embs, measure=opt.measure) logging.info("Text to image: %.1f, %.1f, %.1f, %.1f, %.1f" % (r1i, r5i, r10i, medri, meanr)) # sum of recalls to be used for early stopping currscore = r1 + r5 + r10 + r1i + r5i + r10i # record metrics in tensorboard tb_logger.log_value('r1', r1, step=model.Eiters) tb_logger.log_value('r5', r5, step=model.Eiters) tb_logger.log_value('r10', r10, step=model.Eiters) tb_logger.log_value('medr', medr, step=model.Eiters) tb_logger.log_value('meanr', meanr, step=model.Eiters) tb_logger.log_value('r1i', r1i, step=model.Eiters) tb_logger.log_value('r5i', r5i, step=model.Eiters) tb_logger.log_value('r10i', r10i, step=model.Eiters) tb_logger.log_value('medri', medri, step=model.Eiters) tb_logger.log_value('meanr', meanr, step=model.Eiters) tb_logger.log_value('rsum', currscore, step=model.Eiters) return currscore
Example #23
Source File: train.py From vsepp with Apache License 2.0 | 4 votes |
def train(opt, train_loader, model, epoch, val_loader): # average meters to record the training statistics batch_time = AverageMeter() data_time = AverageMeter() train_logger = LogCollector() # switch to train mode model.train_start() end = time.time() for i, train_data in enumerate(train_loader): if opt.reset_train: # Always reset to train mode, this is not the default behavior model.train_start() # measure data loading time data_time.update(time.time() - end) # make sure train logger is used model.logger = train_logger # Update the model model.train_emb(*train_data) # measure elapsed time batch_time.update(time.time() - end) end = time.time() # Print log info if model.Eiters % opt.log_step == 0: logging.info( 'Epoch: [{0}][{1}/{2}]\t' '{e_log}\t' 'Time {batch_time.val:.3f} ({batch_time.avg:.3f})\t' 'Data {data_time.val:.3f} ({data_time.avg:.3f})\t' .format( epoch, i, len(train_loader), batch_time=batch_time, data_time=data_time, e_log=str(model.logger))) # Record logs in tensorboard tb_logger.log_value('epoch', epoch, step=model.Eiters) tb_logger.log_value('step', i, step=model.Eiters) tb_logger.log_value('batch_time', batch_time.val, step=model.Eiters) tb_logger.log_value('data_time', data_time.val, step=model.Eiters) model.logger.tb_log(tb_logger, step=model.Eiters) # validate at every val_step if model.Eiters % opt.val_step == 0: validate(opt, val_loader, model)
Example #24
Source File: train.py From speech with Apache License 2.0 | 4 votes |
def run(config): opt_cfg = config["optimizer"] data_cfg = config["data"] model_cfg = config["model"] # Loaders batch_size = opt_cfg["batch_size"] preproc = loader.Preprocessor(data_cfg["train_set"], start_and_end=data_cfg["start_and_end"]) train_ldr = loader.make_loader(data_cfg["train_set"], preproc, batch_size) dev_ldr = loader.make_loader(data_cfg["dev_set"], preproc, batch_size) # Model model_class = eval("models." + model_cfg["class"]) model = model_class(preproc.input_dim, preproc.vocab_size, model_cfg) model.cuda() if use_cuda else model.cpu() # Optimizer optimizer = torch.optim.SGD(model.parameters(), lr=opt_cfg["learning_rate"], momentum=opt_cfg["momentum"]) run_state = (0, 0) best_so_far = float("inf") for e in range(opt_cfg["epochs"]): start = time.time() run_state = run_epoch(model, optimizer, train_ldr, *run_state) msg = "Epoch {} completed in {:.2f} (s)." print(msg.format(e, time.time() - start)) dev_loss, dev_cer = eval_dev(model, dev_ldr, preproc) # Log for tensorboard tb.log_value("dev_loss", dev_loss, e) tb.log_value("dev_cer", dev_cer, e) speech.save(model, preproc, config["save_path"]) # Save the best model on the dev set if dev_cer < best_so_far: best_so_far = dev_cer speech.save(model, preproc, config["save_path"], tag="best")
Example #25
Source File: train.py From CAMP_iccv19 with Apache License 2.0 | 4 votes |
def train(opt, train_loader, model, epoch, val_loader, tb_logger): print("start to train") # average meters to record the training statistics batch_time = AverageMeter() data_time = AverageMeter() train_logger = LogCollector() # switch to train mode model.train_start() end = time.time() print("start loading data...") for i, train_data in enumerate(train_loader): # measure data loading time data_time.update(time.time() - end) # make sure train logger is used model.logger = train_logger # Update the model model.train_emb(*train_data) # measure elapsed time batch_time.update(time.time() - end) end = time.time() # Print log info if model.Eiters % opt.log_step == 0: logging.info( 'Epoch: [{0}][{1}/{2}]\t' '{e_log}\t' 'Time {batch_time.val:.3f} ({batch_time.avg:.3f})\t' 'Data {data_time.val:.3f} ({data_time.avg:.3f})\t' .format( epoch, i, len(train_loader), batch_time=batch_time, data_time=data_time, e_log=str(model.logger))) # Record logs in tensorboard tb_logger.log_value('epoch', epoch, step=model.Eiters) tb_logger.log_value('step', i, step=model.Eiters) tb_logger.log_value('batch_time', batch_time.val, step=model.Eiters) tb_logger.log_value('data_time', data_time.val, step=model.Eiters) model.logger.tb_log(tb_logger, step=model.Eiters) # validate at every val_step #if model.Eiters % opt.val_step == 0: # validate(opt, val_loader, model, tb_logger) # switch to train mode # model.train_start()
Example #26
Source File: train.py From SCAN with Apache License 2.0 | 4 votes |
def validate(opt, val_loader, model): # compute the encoding for all the validation images and captions img_embs, cap_embs, cap_lens = encode_data( model, val_loader, opt.log_step, logging.info) img_embs = numpy.array([img_embs[i] for i in range(0, len(img_embs), 5)]) start = time.time() if opt.cross_attn == 't2i': sims = shard_xattn_t2i(img_embs, cap_embs, cap_lens, opt, shard_size=128) elif opt.cross_attn == 'i2t': sims = shard_xattn_i2t(img_embs, cap_embs, cap_lens, opt, shard_size=128) else: raise NotImplementedError end = time.time() print("calculate similarity time:", end-start) # caption retrieval (r1, r5, r10, medr, meanr) = i2t(img_embs, cap_embs, cap_lens, sims) logging.info("Image to text: %.1f, %.1f, %.1f, %.1f, %.1f" % (r1, r5, r10, medr, meanr)) # image retrieval (r1i, r5i, r10i, medri, meanr) = t2i( img_embs, cap_embs, cap_lens, sims) logging.info("Text to image: %.1f, %.1f, %.1f, %.1f, %.1f" % (r1i, r5i, r10i, medri, meanr)) # sum of recalls to be used for early stopping currscore = r1 + r5 + r10 + r1i + r5i + r10i # record metrics in tensorboard tb_logger.log_value('r1', r1, step=model.Eiters) tb_logger.log_value('r5', r5, step=model.Eiters) tb_logger.log_value('r10', r10, step=model.Eiters) tb_logger.log_value('medr', medr, step=model.Eiters) tb_logger.log_value('meanr', meanr, step=model.Eiters) tb_logger.log_value('r1i', r1i, step=model.Eiters) tb_logger.log_value('r5i', r5i, step=model.Eiters) tb_logger.log_value('r10i', r10i, step=model.Eiters) tb_logger.log_value('medri', medri, step=model.Eiters) tb_logger.log_value('meanr', meanr, step=model.Eiters) tb_logger.log_value('rsum', currscore, step=model.Eiters) return currscore
Example #27
Source File: train.py From SCAN with Apache License 2.0 | 4 votes |
def train(opt, train_loader, model, epoch, val_loader): # average meters to record the training statistics batch_time = AverageMeter() data_time = AverageMeter() train_logger = LogCollector() end = time.time() for i, train_data in enumerate(train_loader): # switch to train mode model.train_start() # measure data loading time data_time.update(time.time() - end) # make sure train logger is used model.logger = train_logger # Update the model model.train_emb(*train_data) # measure elapsed time batch_time.update(time.time() - end) end = time.time() # Print log info if model.Eiters % opt.log_step == 0: logging.info( 'Epoch: [{0}][{1}/{2}]\t' '{e_log}\t' 'Time {batch_time.val:.3f} ({batch_time.avg:.3f})\t' 'Data {data_time.val:.3f} ({data_time.avg:.3f})\t' .format( epoch, i, len(train_loader), batch_time=batch_time, data_time=data_time, e_log=str(model.logger))) # Record logs in tensorboard tb_logger.log_value('epoch', epoch, step=model.Eiters) tb_logger.log_value('step', i, step=model.Eiters) tb_logger.log_value('batch_time', batch_time.val, step=model.Eiters) tb_logger.log_value('data_time', data_time.val, step=model.Eiters) model.logger.tb_log(tb_logger, step=model.Eiters) # validate at every val_step if model.Eiters % opt.val_step == 0: validate(opt, val_loader, model)
Example #28
Source File: train.py From VSE-C with MIT License | 4 votes |
def train(opt, train_loader, model, epoch, val_loader): # average meters to record the training statistics batch_time = AverageMeter() data_time = AverageMeter() train_logger = LogCollector() # switch to train mode model.train_start() model.epoch = epoch end = time.time() for i, train_data in enumerate(train_loader): # measure data loading time data_time.update(time.time() - end) # make sure train logger is used model.logger = train_logger # Update the model if not opt.use_external_captions: model.train_emb(*train_data) else: model.train_emb_with_extended_captions(*train_data) # measure elapsed time batch_time.update(time.time() - end) end = time.time() # Print log info if model.Eiters % opt.log_step == 0: logging.info( 'Epoch: [{0}][{1}/{2}]\t' '{e_log}\t' 'Time {batch_time.val:.3f} ({batch_time.avg:.3f})\t' 'Data {data_time.val:.3f} ({data_time.avg:.3f})\t' .format( epoch, i, len(train_loader), batch_time=batch_time, data_time=data_time, e_log=str(model.logger))) # Record logs in tensorboard tb_logger.log_value('epoch', epoch, step=model.Eiters) tb_logger.log_value('step', i, step=model.Eiters) tb_logger.log_value('batch_time', batch_time.val, step=model.Eiters) tb_logger.log_value('data_time', data_time.val, step=model.Eiters) model.logger.tb_log(tb_logger, step=model.Eiters) # validate at every val_step if model.Eiters % opt.val_step == 0: if not opt.use_external_captions: validate(opt, val_loader, model) else: validate_caption_only(opt, val_loader, model)