Beispiel #1
0
    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)
Beispiel #2
0
    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)