loss_criterion = loss_criterion.cuda() torch.manual_seed(config['training']['random_seed']) np.random.seed(config['training']['random_seed']) model = models.SeqModel( src_vocab_size=src_vocab_size, tgt_vocab_size=tgt_vocab_size, pad_id_src=src['tok2id']['<pad>'], pad_id_tgt=tgt['tok2id']['<pad>'], config=config ) logging.info('MODEL HAS %s params' % model.count_params()) model, start_epoch = models.attempt_load_model( model=model, checkpoint_dir=working_dir) if CUDA: model = model.cuda() writer = SummaryWriter(working_dir) if config['training']['optimizer'] == 'adam': lr = config['training']['learning_rate'] optimizer = optim.Adam(model.parameters(), lr=lr) elif config['training']['optimizer'] == 'sgd': lr = config['training']['learning_rate'] optimizer = optim.SGD(model.parameters(), lr=lr) else: raise NotImplementedError("Learning method not recommend for task")
tgt_vocab_size = len(tgt['tok2id']) torch.manual_seed(config['training']['random_seed']) np.random.seed(config['training']['random_seed']) model = models.SeqModel( src_vocab_size=src_vocab_size, tgt_vocab_size=tgt_vocab_size, pad_id_src=src['tok2id']['<pad>'], pad_id_tgt=tgt['tok2id']['<pad>'], config=config ) logging.info('MODEL HAS %s params' % model.count_params()) model, start_epoch = models.attempt_load_model( model=model, checkpoint_path=args.checkpoint) if CUDA: model = model.cuda() start = time.time() model.eval() dev_loss = evaluation.evaluate_lpp( model, src_test, tgt_test, config) bleu, edit_distance, inputs, preds, golds, auxs = evaluation.inference_metrics( model, src_test, tgt_test, config) with open(working_dir + '/auxs', 'w') as f: f.write('\n'.join(auxs) + '\n') with open(working_dir + '/inputs', 'w') as f: