is_training=False, num_gpus=args.num_gpus, ) # Create callbacks for train and eval modes train_callback = SimpleLossLoggerCallback( tensors=train_tensors, print_func=lambda x: logging.info(str(round(x[0].item(), 3))), tb_writer=nf.tb_writer, get_tb_values=lambda x: [["loss", x[0]]], step_freq=train_steps_per_epoch, ) eval_callback = nemo.core.EvaluatorCallback( eval_tensors=eval_tensors, user_iter_callback=lambda x, y: eval_iter_callback(x, y), user_epochs_done_callback=lambda x: eval_epochs_done_callback( x, intents_label_ids=data_desc.intents_label_ids, slots_label_ids=data_desc.slots_label_ids, graph_fold=f'{nf.work_dir}/graphs', normalize_cm=True, ), tb_writer=nf.tb_writer, eval_step=train_steps_per_epoch, ) # Create callback to save checkpoints ckpt_callback = CheckpointCallback(folder=nf.checkpoint_dir, epoch_freq=args.save_epoch_freq, step_freq=args.save_step_freq)
is_training=False, num_gpus=args.num_gpus, ) # Create callbacks for train and eval modes train_callback = SimpleLossLoggerCallback( tensors=train_tensors, print_func=lambda x: logging.info(str(round(x[0].item(), 3))), tb_writer=nf.tb_writer, get_tb_values=lambda x: [["loss", x[0]]], step_freq=train_steps_per_epoch, ) eval_callback = nemo.core.EvaluatorCallback( eval_tensors=eval_tensors, user_iter_callback=lambda x, y: eval_iter_callback(x, y, eval_data_layer), user_epochs_done_callback=lambda x: eval_epochs_done_callback( x, f'{nf.work_dir}/graphs'), tb_writer=nf.tb_writer, eval_step=train_steps_per_epoch, ) # Create callback to save checkpoints ckpt_callback = CheckpointCallback(folder=nf.checkpoint_dir, epoch_freq=args.save_epoch_freq, step_freq=args.save_step_freq) lr_policy_fn = get_lr_policy(args.lr_policy, total_steps=args.num_epochs * train_steps_per_epoch, warmup_ratio=args.lr_warmup_proportion)