def do_train(args): device = paddle.set_device(args.select_device) # Define dataloader train_loader, eval_loader, src_vocab_size, tgt_vocab_size, eos_id = create_train_loader( args) model = paddle.Model( Seq2SeqAttnModel(src_vocab_size, tgt_vocab_size, args.hidden_size, args.hidden_size, args.num_layers, args.dropout, eos_id)) grad_clip = nn.ClipGradByGlobalNorm(args.max_grad_norm) optimizer = paddle.optimizer.Adam(learning_rate=args.learning_rate, parameters=model.parameters(), grad_clip=grad_clip) ppl_metric = Perplexity() model.prepare(optimizer, CrossEntropyCriterion(), ppl_metric) print(args) if args.init_from_ckpt: model.load(args.init_from_ckpt) print("Loaded checkpoint from %s" % args.init_from_ckpt) model.fit(train_data=train_loader, eval_data=eval_loader, epochs=args.max_epoch, eval_freq=1, save_freq=1, save_dir=args.model_path, log_freq=args.log_freq)
def do_train(args): device = paddle.set_device("gpu" if args.use_gpu else "cpu") # Define dataloader train_loader, vocab_size, pad_id = create_train_loader(args.batch_size) model = paddle.Model( Seq2SeqAttnModel(vocab_size, args.hidden_size, args.hidden_size, args.num_layers, pad_id)) optimizer = paddle.optimizer.Adam( learning_rate=args.learning_rate, parameters=model.parameters()) ppl_metric = Perplexity() model.prepare(optimizer, CrossEntropyCriterion(), ppl_metric) print(args) model.fit(train_data=train_loader, epochs=args.max_epoch, eval_freq=1, save_freq=1, save_dir=args.model_path, log_freq=args.log_freq, callbacks=[paddle.callbacks.VisualDL('./log')])
def do_train(args): device = paddle.set_device(args.device) # Define dataloader train_loader, vocab = create_train_loader(args.batch_size) vocab_size = len(vocab) pad_id = vocab[vocab.eos_token] model = paddle.Model( Seq2SeqAttnModel(vocab_size, args.hidden_size, args.hidden_size, args.num_layers, pad_id)) optimizer = paddle.optimizer.Adam(learning_rate=args.learning_rate, parameters=model.parameters()) ppl_metric = Perplexity() model.prepare(optimizer, CrossEntropyCriterion(), ppl_metric) print(args) model.fit(train_data=train_loader, epochs=args.max_epoch, eval_freq=1, save_freq=1, save_dir=args.model_path, log_freq=args.log_freq)