Full Code of memray/OpenNMT-kpg-release for AI

master d16bf09e2152 cached
1331 files
24.3 MB
6.5M tokens
1617 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (25,855K chars total). Download the full file to get everything.
Repository: memray/OpenNMT-kpg-release
Branch: master
Commit: d16bf09e2152
Files: 1331
Total size: 24.3 MB

Directory structure:
gitextract_s_i7zdr9/

├── .github/
│   └── workflows/
│       ├── push.yml
│       └── release.yml
├── .gitignore
├── CHANGELOG.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE.md
├── README.md
├── available_models/
│   └── example.conf.json
├── build_vocab.py
├── config/
│   ├── diversity/
│   │   ├── keyphrase-one2one-diversity.yml
│   │   └── keyphrase-one2seq-diversity.yml
│   ├── empirical/
│   │   ├── preprocess/
│   │   │   ├── config-preprocess-keyphrase-kp20k.yml
│   │   │   ├── config-preprocess-keyphrase-magkp.yml
│   │   │   ├── config-preprocess-keyphrase-magkp_subset.yml
│   │   │   ├── config-preprocess-keyphrase-small.yml
│   │   │   ├── config-preprocess-keyphrase-stackexchange.yml
│   │   │   ├── config-preprocess-mt_demo.yml
│   │   │   └── config-preprocess-summarization.yml
│   │   ├── test/
│   │   │   ├── config-test-keyphrase-one2one.yml
│   │   │   └── config-test-keyphrase-one2seq.yml
│   │   └── train/
│   │       ├── jsonl/
│   │       │   └── config-rnn-keyphrase.yml
│   │       └── pt/
│   │           ├── 1st/
│   │           │   ├── config-rnn-keyphrase-magkp.yml
│   │           │   ├── config-rnn-keyphrase-one2one-stackexchange.yml
│   │           │   ├── config-rnn-keyphrase-one2seq-diverse.yml
│   │           │   ├── config-rnn-keyphrase-one2seq.yml
│   │           │   ├── config-rnn-keyphrase.drop00.yml
│   │           │   ├── config-rnn-keyphrase.drop05.coverage.noreuse.yml
│   │           │   ├── config-rnn-keyphrase.drop05.coverage.yml
│   │           │   ├── config-rnn-keyphrase.drop05.yml
│   │           │   ├── config-rnn-summarization.yml
│   │           │   ├── config-transformer-base-1GPU.yml
│   │           │   ├── config-transformer-base-4GPU.yml
│   │           │   ├── config-transformer-keyphrase-local.yml
│   │           │   ├── config-transformer-keyphrase-magkp.yml
│   │           │   ├── config-transformer-keyphrase-test.yml
│   │           │   ├── config-transformer-keyphrase.yml
│   │           │   ├── config-transformer-summarization-local.yml
│   │           │   └── config-transformer-summarization.yml
│   │           ├── 3rd/
│   │           │   ├── config-kpgen-one2one-transformer-copycovfalse-kp20k.yml
│   │           │   ├── config-kpgen-one2one-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2one-transformer-magkp+kp20kFT.yml
│   │           │   ├── config-kpgen-one2one-transformer-magkp.yml
│   │           │   ├── config-kpgen-one2one-transformer-magkp20k.yml
│   │           │   ├── config-kpgen-one2seq-alphabetical-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-alphabetical_reverse-rnn-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-alphabetical_reverse-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-length-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-length_reverse-rnn-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-length_reverse-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-no_sort-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-no_sort_reverse-rnn-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-no_sort_reverse-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-random-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_LN+kp20kFT.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_LN.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge+kp20kFT.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall+kp20kFT.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-copycovfalse-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-copycovfalse-magkp20k.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_LN.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nlarge.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nsmall.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-magkp+kp20kFT.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-magkp.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-magkp20k+kp20kFT.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-magkp20k.yml
│   │           │   └── config-kpgen-one2seq-verbatim_prepend-transformer-kp20k.yml
│   │           ├── base/
│   │           │   ├── config-rnn-keyphrase-magkp.yml
│   │           │   ├── config-rnn-keyphrase-one2one-stackexchange.yml
│   │           │   ├── config-rnn-keyphrase-one2seq-diverse.yml
│   │           │   ├── config-rnn-keyphrase-one2seq-localtest.yml
│   │           │   ├── config-rnn-keyphrase-one2seq.yml
│   │           │   ├── config-rnn-keyphrase.drop00.yml
│   │           │   ├── config-rnn-keyphrase.drop05.coverage.noreuse.yml
│   │           │   ├── config-rnn-keyphrase.drop05.coverage.yml
│   │           │   ├── config-rnn-keyphrase.drop05.yml
│   │           │   ├── config-rnn-summarization.yml
│   │           │   ├── config-transformer-base-1GPU.yml
│   │           │   ├── config-transformer-base-4GPU.yml
│   │           │   ├── config-transformer-keyphrase-local.yml
│   │           │   ├── config-transformer-keyphrase-magkp.yml
│   │           │   ├── config-transformer-keyphrase-test.yml
│   │           │   ├── config-transformer-keyphrase.yml
│   │           │   ├── config-transformer-summarization-local.yml
│   │           │   └── config-transformer-summarization.yml
│   │           ├── config-rnn-keyphrase-crc.yml
│   │           ├── config-rnn-keyphrase-one2seq-debug.yml
│   │           └── config-transformer-keyphrase-crc.yml
│   ├── transfer_kp/
│   │   └── infer/
│   │       ├── keyphrase-one2one.yml
│   │       ├── keyphrase-one2seq-controlled.yml
│   │       └── keyphrase-one2seq.yml
│   └── translate/
│       └── config-rnn-keyphrase.yml
├── docs/
│   ├── Makefile
│   ├── requirements.txt
│   └── source/
│       ├── CONTRIBUTING.md
│       ├── FAQ.md
│       ├── _static/
│       │   └── theme_overrides.css
│       ├── conf.py
│       ├── examples/
│       │   ├── GGNN.md
│       │   ├── LanguageModelGeneration.md
│       │   ├── Library.ipynb
│       │   ├── Library.md
│       │   ├── Summarization.md
│       │   └── Translation.md
│       ├── index.rst
│       ├── legacy/
│       │   ├── FAQ.md
│       │   ├── im2text.md
│       │   ├── speech2text.md
│       │   └── vid2text.rst
│       ├── main.md
│       ├── onmt.inputters.rst
│       ├── onmt.modules.rst
│       ├── onmt.rst
│       ├── onmt.translate.translation_server.rst
│       ├── onmt.translation.rst
│       ├── options/
│       │   ├── build_vocab.rst
│       │   ├── server.rst
│       │   ├── train.rst
│       │   └── translate.rst
│       ├── quickstart.md
│       ├── ref.rst
│       └── refs.bib
├── examples/
│   ├── README.md
│   ├── cnndm.yaml
│   ├── ggnn.yaml
│   ├── onmt.train.fp16.transformer.yaml
│   ├── scripts/
│   │   ├── prepare_wikitext-103_data.sh
│   │   └── prepare_wmt_data.sh
│   ├── wiki_103.yaml
│   ├── wikibart_inference.ipynb
│   └── wmt14_en_de.yaml
├── floyd.yml
├── floyd_requirements.txt
├── kp_convert.sh
├── kp_data_converter.py
├── kp_evaluate.py
├── kp_gen_eval.py
├── kp_gen_eval_transfer.py
├── kp_gen_magkp_transfer_labelling.py
├── kp_generate.py
├── kp_report.py
├── notebook/
│   ├── PRauc_example.ipynb
│   ├── __init__.py
│   ├── beam_stats.ipynb
│   ├── dataset_stat.ipynb
│   ├── empirical_analysis_v2_lite.ipynb
│   ├── inference.ipynb
│   ├── json_process.ipynb
│   ├── kpeval.ipynb
│   ├── phrase_stats.ipynb
│   ├── pred_phrase_stats.ipynb
│   ├── scikp_dataset_stats.ipynb
│   ├── split_magkp.ipynb
│   ├── test.py
│   ├── transfer_analysis.ipynb
│   ├── transfer_dataset_stats.ipynb
│   ├── transfer_figures.ipynb
│   ├── transfer_learning_curve.ipynb
│   ├── transfer_pseudo_labels_and_np.ipynb
│   ├── visualize_domain_gap.ipynb
│   ├── wikibart_inference.ipynb
│   └── wikibart_inference_buggy.ipynb
├── onmt/
│   ├── __init__.py
│   ├── bin/
│   │   ├── __init__.py
│   │   ├── average_models.py
│   │   ├── build_vocab.py
│   │   ├── release_model.py
│   │   ├── server.py
│   │   ├── train.py
│   │   └── translate.py
│   ├── constants.py
│   ├── decoders/
│   │   ├── __init__.py
│   │   ├── bart_decoder.py
│   │   ├── cnn_decoder.py
│   │   ├── decoder.py
│   │   ├── ensemble.py
│   │   └── transformer.py
│   ├── encoders/
│   │   ├── __init__.py
│   │   ├── bart_encoder.py
│   │   ├── cnn_encoder.py
│   │   ├── encoder.py
│   │   ├── ggnn_encoder.py
│   │   ├── mean_encoder.py
│   │   ├── pretrained_encoder.py
│   │   ├── rnn_encoder.py
│   │   └── transformer.py
│   ├── inputters/
│   │   ├── __init__.py
│   │   ├── corpus.py
│   │   ├── datareader_base.py
│   │   ├── dataset_base.py
│   │   ├── dynamic_iterator.py
│   │   ├── fields.py
│   │   ├── inputter.py
│   │   ├── iterator.py
│   │   ├── keyphrase_dataset.py
│   │   ├── news_dataset.py
│   │   └── text_dataset.py
│   ├── keyphrase/
│   │   ├── __init__.py
│   │   ├── baseline/
│   │   │   ├── evaluate.py
│   │   │   └── export_dataset.py
│   │   ├── best_scores_in_report.py
│   │   ├── bleu.py
│   │   ├── check_pred_file.py
│   │   ├── concat.py
│   │   ├── eval.py
│   │   ├── extract_np.py
│   │   ├── json_plus_process.py
│   │   ├── kpg_example.py
│   │   ├── kpg_example_hfdatasets.py
│   │   ├── mag/
│   │   │   ├── __init__.py
│   │   │   ├── export_mag_cs.py
│   │   │   └── post_clean.py
│   │   ├── migrated/
│   │   │   ├── README
│   │   │   └── post_evaluate.py
│   │   ├── move_ckpt_by_devscore.py
│   │   ├── pke/
│   │   │   ├── __init__.py
│   │   │   ├── base.py
│   │   │   ├── data_structures.py
│   │   │   ├── readers.py
│   │   │   ├── supervised/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── api.py
│   │   │   │   ├── feature_based/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── kea.py
│   │   │   │   │   ├── topiccorank.py
│   │   │   │   │   └── wingnus.py
│   │   │   │   └── neural_based/
│   │   │   │       ├── __init__.py
│   │   │   │       └── seq2seq.py
│   │   │   ├── unsupervised/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── graph_based/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── expandrank.py
│   │   │   │   │   ├── multipartiterank.py
│   │   │   │   │   ├── positionrank.py
│   │   │   │   │   ├── single_tpr.py
│   │   │   │   │   ├── singlerank.py
│   │   │   │   │   ├── textrank.py
│   │   │   │   │   └── topicrank.py
│   │   │   │   └── statistical/
│   │   │   │       ├── __init__.py
│   │   │   │       ├── firstphrases.py
│   │   │   │       ├── kpminer.py
│   │   │   │       ├── tfidf.py
│   │   │   │       └── yake.py
│   │   │   └── utils.py
│   │   ├── preprocess.py
│   │   ├── run_infer_hfkpg.py
│   │   ├── shrink_pred_files.py
│   │   └── utils.py
│   ├── model_builder.py
│   ├── models/
│   │   ├── __init__.py
│   │   ├── model.py
│   │   ├── model_saver.py
│   │   ├── sru.py
│   │   └── stacked_rnn.py
│   ├── modules/
│   │   ├── __init__.py
│   │   ├── average_attn.py
│   │   ├── conv_multi_step_attention.py
│   │   ├── copy_generator.py
│   │   ├── embeddings.py
│   │   ├── gate.py
│   │   ├── global_attention.py
│   │   ├── multi_headed_attn.py
│   │   ├── position_ffn.py
│   │   ├── sparse_activations.py
│   │   ├── sparse_losses.py
│   │   ├── structured_attention.py
│   │   ├── util_class.py
│   │   └── weight_norm.py
│   ├── newssum/
│   │   ├── __init__.py
│   │   ├── bart/
│   │   │   ├── __init__.py
│   │   │   └── example.py
│   │   ├── cnndm/
│   │   │   ├── docid_url_mapping.py
│   │   │   ├── evaluate_bart_cnn.py
│   │   │   └── resort_examples.py
│   │   ├── docutils.py
│   │   ├── files2rouge.py
│   │   ├── fragutils.py
│   │   ├── json_to_shards.py
│   │   ├── news_preprocess.py
│   │   ├── rouge_eval/
│   │   │   ├── __init__.py
│   │   │   ├── rouge.py
│   │   │   ├── rouge_score.py
│   │   │   └── smart_common_words.txt
│   │   ├── torchviz/
│   │   │   ├── __init__.py
│   │   │   └── example.ipynb
│   │   └── wandb/
│   │       └── example_mnist.py
│   ├── opts.py
│   ├── tests/
│   │   ├── __init__.py
│   │   ├── output_hyp.txt
│   │   ├── pull_request_chk.sh
│   │   ├── rebuild_test_models.sh
│   │   ├── sample_glove.txt
│   │   ├── test_attention.py
│   │   ├── test_beam.py
│   │   ├── test_beam_search.py
│   │   ├── test_copy_generator.py
│   │   ├── test_data_prepare.py
│   │   ├── test_embeddings.py
│   │   ├── test_greedy_search.py
│   │   ├── test_models.py
│   │   ├── test_models.sh
│   │   ├── test_random_sampling.py
│   │   ├── test_simple.py
│   │   ├── test_structured_attention.py
│   │   ├── test_text_dataset.py
│   │   ├── test_translation_server.py
│   │   └── utils_for_tests.py
│   ├── train_single.py
│   ├── trainer.py
│   ├── transforms/
│   │   ├── __init__.py
│   │   ├── bart.py
│   │   ├── keyphrase.py
│   │   ├── misc.py
│   │   ├── sampling.py
│   │   ├── tokenize.py
│   │   └── transform.py
│   ├── translate/
│   │   ├── __init__.py
│   │   ├── beam.py
│   │   ├── beam_search.py
│   │   ├── decode_strategy.py
│   │   ├── greedy_search.py
│   │   ├── penalties.py
│   │   ├── process_zh.py
│   │   ├── random_sampling.py
│   │   ├── translation.py
│   │   ├── translation_server.py
│   │   └── translator.py
│   └── utils/
│       ├── __init__.py
│       ├── alignment.py
│       ├── cnn_factory.py
│       ├── distributed.py
│       ├── earlystopping.py
│       ├── logging.py
│       ├── loss.py
│       ├── misc.py
│       ├── optimizers.py
│       ├── parse.py
│       ├── report_manager.py
│       ├── rnn_factory.py
│       └── statistics.py
├── requirements.opt.txt
├── requirements.txt
├── script/
│   ├── batch_kill_by_cluster.sh
│   ├── batch_kill_by_range.sh
│   ├── empirical_study/
│   │   ├── diverse/
│   │   │   ├── kpeval_gpu_o2o_template.sh
│   │   │   ├── kpeval_gpu_template.sh
│   │   │   ├── rnn/
│   │   │   │   ├── done/
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC00.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC00.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC01.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC01.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC05.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC05.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR01-SC00.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR01-SC00.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR01-SC01.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR01-SC01.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC00.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC00.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC05.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC05.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR10-SC10.sh
│   │   │   │   │   └── one2seq-rnn-presabs-kp20k-OR10-SC10.yml
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR001-SC001.sh
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR001-SC001.yml
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR005-SC005.sh
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR005-SC005.yml
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR005-SC05.sh
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR005-SC05.yml
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC005.sh
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC005.yml
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR10-SC005.sh
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR10-SC005.yml
│   │   │   │   ├── rnn-one2one-kp20k.sh
│   │   │   │   ├── rnn-one2one-kp20k.yml
│   │   │   │   ├── rnn-presabs-kp20k-E1D2.sh
│   │   │   │   ├── rnn-presabs-kp20k-E1D2.yml
│   │   │   │   ├── rnn-presabs-kp20k-E2D1.sh
│   │   │   │   ├── rnn-presabs-kp20k-E2D1.yml
│   │   │   │   ├── rnn-presabs-kp20k-E2D2.sh
│   │   │   │   ├── rnn-presabs-kp20k-E2D2.yml
│   │   │   │   ├── rnn-presabs-kp20k.sh
│   │   │   │   └── rnn-presabs-kp20k.yml
│   │   │   ├── run_pred_o2o_dev.sh
│   │   │   ├── run_pred_o2s_dev.sh
│   │   │   └── transformer/
│   │   │       ├── one2seq-transformer-presabs-kp20k-E6D6.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-E6D6.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-E6D9.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-E6D9.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-E9D6.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-E9D6.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR00-SC01.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR00-SC01.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR00-SC05.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR00-SC05.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR001-SC001.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR001-SC001.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR005-SC005.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR005-SC005.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR01-SC00.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR01-SC00.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR01-SC01.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR01-SC01.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR05-SC00.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR05-SC00.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR05-SC05.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR05-SC05.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR10-SC10.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR10-SC10.yml
│   │   │       ├── transformer-one2one-kp20k.sh
│   │   │       ├── transformer-one2one-kp20k.yml
│   │   │       ├── transformer-presabs-kp20k.sh
│   │   │       └── transformer-presabs-kp20k.yml
│   │   ├── empirical_cmd.txt
│   │   ├── preprocess/
│   │   │   ├── kp20k.sh
│   │   │   └── magkp.sh
│   │   ├── srun_one2one/
│   │   │   ├── eval/
│   │   │   │   ├── kpeval_duc.sh
│   │   │   │   ├── kpeval_inspec.sh
│   │   │   │   ├── kpeval_kp20k.sh
│   │   │   │   ├── kpeval_kp20k_gpu.sh
│   │   │   │   ├── kpeval_kp20k_valid2k.sh
│   │   │   │   ├── kpeval_krapivin.sh
│   │   │   │   ├── kpeval_nus.sh
│   │   │   │   ├── kpeval_semeval.sh
│   │   │   │   ├── kpeval_stackexchange.sh
│   │   │   │   └── kpeval_stackexchange_valid2k.sh
│   │   │   ├── eval_cpu_template.sh
│   │   │   ├── eval_gpu_template.sh
│   │   │   ├── eval_v2/
│   │   │   │   ├── kpeval_duc.sh
│   │   │   │   ├── kpeval_inspec.sh
│   │   │   │   ├── kpeval_kp20k.sh
│   │   │   │   ├── kpeval_kp20k_gpu.sh
│   │   │   │   ├── kpeval_kp20k_topmodel_gpu.sh
│   │   │   │   ├── kpeval_kp20k_valid2k.sh
│   │   │   │   ├── kpeval_kp20k_valid2k_gpu.sh
│   │   │   │   ├── kpeval_krapivin.sh
│   │   │   │   ├── kpeval_nus.sh
│   │   │   │   └── kpeval_semeval.sh
│   │   │   ├── run_predeval.sh
│   │   │   ├── run_predeval_v1_gpu.sh
│   │   │   ├── run_predeval_v2.sh
│   │   │   ├── run_predeval_v2_eval.sh
│   │   │   ├── run_predeval_v2_pred_cpu.sh
│   │   │   ├── run_predeval_v2_pred_gpu.sh
│   │   │   └── train/
│   │   │       ├── 1st/
│   │   │       │   ├── run_train.txt
│   │   │       │   ├── srun_kp-rnn-1gpu.sh
│   │   │       │   ├── srun_kp-transformer-1gpu.sh
│   │   │       │   └── srun_stackexchange-rnn-1gpu.sh
│   │   │       └── 2nd/
│   │   │           ├── kp20k-rnn-BS128-Layer1-Dim150-Emb100-Dropout0.0-Copyfalse-Covfalse-Contboth-IF1.sh
│   │   │           ├── kp20k-rnn-BS128-Layer1-Dim512-Emb128-Dropout0.1-Copytrue-Covtrue-Contboth-IF1.sh
│   │   │           ├── kp20k-transformer-BS4096-Layer2-Heads4-Dim128-Emb128-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   │           ├── kp20k-transformer-BS4096-Layer4-Heads8-Dim128-Emb128-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   │           ├── kp20k-transformer-BS4096-Layer4-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   │           ├── kp20k-transformer-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   │           ├── magkp-rnn-BS128-Layer1-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue-Contboth-IF1.sh
│   │   │           ├── magkp-rnn-BS128-Layer1-Dim150-Emb100-Dropout0.1-Copytrue-Covtrue-Contboth-IF1.sh
│   │   │           ├── magkp-transformer-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   │           ├── magkp20k-rnn-BS128-Layer1-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue-Contboth-IF1.sh
│   │   │           ├── magkp20k-rnn-BS128-Layer1-Dim512-Emb128-Dropout0.1-Copytrue-Covtrue-Contboth-IF1.sh
│   │   │           └── magkp20k-transformer-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   └── srun_one2seq/
│   │       ├── kpeval_cpu.sh
│   │       ├── kpeval_gpu.sh
│   │       ├── old/
│   │       │   ├── kpeval-beam10-maxlen40/
│   │       │   │   ├── config-test-keyphrase-one2many.yml
│   │       │   │   ├── kpeval_duc.sh
│   │       │   │   ├── kpeval_inspec.sh
│   │       │   │   ├── kpeval_kp20k_valid500.sh
│   │       │   │   ├── kpeval_krapivin.sh
│   │       │   │   ├── kpeval_nus.sh
│   │       │   │   └── kpeval_semeval.sh
│   │       │   ├── kpeval-beam25-maxlen40/
│   │       │   │   ├── config-test-keyphrase-one2many.yml
│   │       │   │   ├── kpeval_duc.sh
│   │       │   │   ├── kpeval_inspec.sh
│   │       │   │   ├── kpeval_kp20k_valid500.sh
│   │       │   │   ├── kpeval_krapivin.sh
│   │       │   │   ├── kpeval_nus.sh
│   │       │   │   └── kpeval_semeval.sh
│   │       │   └── kpeval-beam50-maxlen40/
│   │       │       ├── config-test-keyphrase-one2many.yml
│   │       │       ├── kpeval_duc.sh
│   │       │       ├── kpeval_inspec.sh
│   │       │       ├── kpeval_kp20k_valid500.sh
│   │       │       ├── kpeval_krapivin.sh
│   │       │       ├── kpeval_nus.sh
│   │       │       └── kpeval_semeval.sh
│   │       ├── run_eval_exhaustive.sh
│   │       ├── run_eval_selfterminating.sh
│   │       ├── run_pred.sh
│   │       ├── run_pred_gpu.sh
│   │       ├── run_pred_v2.sh
│   │       ├── run_pred_v2_gpu.sh
│   │       └── train/
│   │           ├── 1st/
│   │           │   ├── srun_kp-rnn-1gpu-alphabetical.sh
│   │           │   ├── srun_kp-rnn-1gpu-length.sh
│   │           │   ├── srun_kp-rnn-1gpu-no_sort.sh
│   │           │   ├── srun_kp-rnn-1gpu-random.sh
│   │           │   ├── srun_kp-rnn-1gpu-verbatim_append.sh
│   │           │   ├── srun_kp-rnn-1gpu-verbatim_prepend.sh
│   │           │   ├── srun_kp-transformer-1gpu-alphabetical.sh
│   │           │   ├── srun_kp-transformer-1gpu-length.sh
│   │           │   ├── srun_kp-transformer-1gpu-no_sort.sh
│   │           │   ├── srun_kp-transformer-1gpu-random.sh
│   │           │   ├── srun_kp-transformer-1gpu-verbatim_append.sh
│   │           │   └── srun_kp-transformer-1gpu-verbatim_prepend.sh
│   │           ├── 2nd/
│   │           │   ├── kp20k-verbatim_append-rnn-BS64-Layer1-Dim100-Emb100-Dropout0.0-Copytrue-Reusetrue-Covfalse-PEfalse-Contboth-IF1.sh
│   │           │   ├── kp20k-verbatim_append-rnn-BS64-Layer1-Dim100-Emb100-Dropout0.0-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── kp20k-verbatim_append-rnn-BS64-Layer1-Dim150-Emb100-Dropout0.0-Copytrue-Reusetrue-Covfalse-PEfalse-Contboth-IF1.sh
│   │           │   ├── kp20k-verbatim_append-rnn-BS64-Layer1-Dim512-Emb128-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── magkp20k-verbatim_append-rnn-BS64-Layer1-Dim150-Emb100-Dropout0.0-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── magkp20k-verbatim_append-rnn-BS64-Layer1-Dim512-Emb128-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── magkp20k-verbatim_append-transformer-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   ├── verbatim_append-rnn-kp20k-BS64-Layer1-Dim150-Emb100-Dropout0.0-Copyfalse-Reusefalse-Covfalse-PEfalse-Contboth-IF1.sh
│   │           │   ├── verbatim_append-rnn-kp20k-BS64-Layer1-Dim150-Emb100-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── verbatim_append-rnn-magkp-BS64-Layer1-Dim150-Emb100-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── verbatim_append-rnn-magkp-BS64-Layer1-Dim512-Emb128-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── verbatim_append-transformer-kp20k-BS4096-Layer2-Heads4-Dim128-Emb128-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   ├── verbatim_append-transformer-kp20k-BS4096-Layer4-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   ├── verbatim_append-transformer-kp20k-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   ├── verbatim_append-transformer-magkp-BS4096-Layer2-Heads4-Dim128-Emb128-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   ├── verbatim_append-transformer-magkp-BS4096-Layer4-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   └── verbatim_append-transformer-magkp-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           └── 3rd/
│   │               ├── kpgen-one2one-transformer-copycovfalse-kp20k.sh
│   │               ├── kpgen-one2one-transformer-kp20k.sh
│   │               ├── kpgen-one2one-transformer-magkp.sh
│   │               ├── kpgen-one2one-transformer-magkp20k.sh
│   │               ├── kpgen-one2seq-alphabetical-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-alphabetical_reverse-rnn-kp20k.sh
│   │               ├── kpgen-one2seq-alphabetical_reverse-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-length-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-length_reverse-rnn-kp20k.sh
│   │               ├── kpgen-one2seq-length_reverse-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-no_sort-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-no_sort_reverse-rnn-kp20k.sh
│   │               ├── kpgen-one2seq-no_sort_reverse-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-random-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_LN+kp20kFT.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_LN.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge+kp20kFT.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall+kp20kFT.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-copycovfalse-kp20k.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-copycovfalse-magkp20k.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_LN.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nlarge.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nsmall.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-magkp+kp20kFT.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-magkp.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-magkp20k+kp20kFT.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-magkp20k.sh
│   │               └── kpgen-one2seq-verbatim_prepend-transformer-kp20k.sh
│   ├── release/
│   │   ├── bart/
│   │   │   ├── DA-kp20k_4gpu.sh
│   │   │   ├── PTDA-kp20k_4gpu.sh
│   │   │   ├── PTDAFT-kp20k-fewshot100.sh
│   │   │   ├── PTDAFT-kp20k-fewshot10k.sh
│   │   │   ├── PTDAFT-kp20k-fewshot1k.sh
│   │   │   ├── nohup-bart-PTDA-magcs12m-lr1e5-step20k-bs256.sh
│   │   │   └── nohup-bart-wiki-lr1e5-step40k-bs256.sh
│   │   ├── mag/
│   │   │   ├── mag_transfer_labelling_bart.sh
│   │   │   ├── mag_transfer_labelling_tf.sh
│   │   │   ├── nohup-transformer-PTDA-magcs12m-tlrs55-step200k.sh
│   │   │   ├── prev/
│   │   │   │   ├── nohup-bart-DA_MagTL100k-lr1e5-step20k.sh
│   │   │   │   ├── nohup-bart-DA_MagTL13m-FT_full-lr1e5-step100k.sh
│   │   │   │   ├── nohup-bart-DA_MagTL13m-lr1e5-step200k.sh
│   │   │   │   └── nohup-bart-DA_MagTL3m-lr1e5-step200k.sh
│   │   │   ├── transformer-PTDA-magcs12m-tlrs55-step200k.yml
│   │   │   ├── transformer-PTDAFT-magcs12m-FT100k-step20k.yml
│   │   │   ├── transformer-PTDAFT-magcs12m-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-PTDAFT-magcs12m-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-PTDAFT-magcs12m-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-PTDAFT-magcs12m-full-step100k.yml
│   │   │   ├── transformer-PTDAFT-magcs1m-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-PTDAFT-magcs1m-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-PTDAFT-magcs1m-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-PTFT-kp20k_100k-step20k.yml
│   │   │   └── transformer-kp20k_100k-step100k.yml
│   │   ├── tf/
│   │   │   ├── DA/
│   │   │   │   ├── transformer-DA-kp20k-tlrs55.yml
│   │   │   │   ├── transformer-DA-kp20k.yml
│   │   │   │   ├── transformer-DA-kptimes-tlrs55.yml
│   │   │   │   ├── transformer-DA-kptimes.yml
│   │   │   │   ├── transformer-DA-openkp-tlrs55.yml
│   │   │   │   ├── transformer-DA-openkp.yml
│   │   │   │   ├── transformer-DA-stackex-tlrs55.yml
│   │   │   │   └── transformer-DA-stackex.yml
│   │   │   ├── DAFT/
│   │   │   │   ├── deprecated/
│   │   │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot100_step1k_lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot10k_step4k_lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot1k_step2k_lr1e5.yml
│   │   │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   └── transformer-stackex-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-stackex-DA-tlrs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-stackex-DA-tlrs55-step40k-FT-fewshot10k.yml
│   │   │   │   └── transformer-stackex-DA-tlrs55-step40k-FT-fewshot1k.yml
│   │   │   ├── DAcompare/
│   │   │   │   ├── transformer-DA-kp20k-step20k.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-NP.sh
│   │   │   │   ├── transformer-DA-kp20k-step40k-NP.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-RS.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-TL.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-nprs_55.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tl_beam10.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tl_beam25.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tl_beam3.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tl_beam5.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tl_beam50.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlnp_28.sh
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlnp_28.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlnp_55.sh
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlnp_55.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlnp_82.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlrs_28.sh
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlrs_28.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlrs_55.sh
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlrs_55.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlrs_82.yml
│   │   │   │   ├── transformer-PTDA-kp20k-step20k-NP.yml
│   │   │   │   ├── transformer-PTDA-kp20k-step20k-RS.yml
│   │   │   │   ├── transformer-PTDA-kp20k-step20k-TL.yml
│   │   │   │   ├── transformer-PTDA-kp20k-step20k-nprs55.yml
│   │   │   │   ├── transformer-PTDA-kp20k-step20k-tlnp55.yml
│   │   │   │   └── transformer-PTDA-kp20k-step20k-tlrs55.yml
│   │   │   ├── DAcompareFT/
│   │   │   │   ├── deprecated/
│   │   │   │   │   ├── transformer-kp20k-DA-NP-step75k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-RS-step100k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-TLbart-step100k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-TLbart-tlnp55-step100k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-TLtf-beam25-step40k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-TLtf-beam50-step40k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   └── transformer-kp20k-DA-TLtf-step20k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot10k.yml
│   │   │   │   └── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot1k.yml
│   │   │   ├── FT/
│   │   │   │   ├── transformer-kp20k-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-fewshot1k.yml
│   │   │   │   ├── transformer-kptimes-fewshot100.yml
│   │   │   │   ├── transformer-kptimes-fewshot10k.yml
│   │   │   │   ├── transformer-kptimes-fewshot1k.yml
│   │   │   │   ├── transformer-openkp-fewshot100.yml
│   │   │   │   ├── transformer-openkp-fewshot10k.yml
│   │   │   │   ├── transformer-openkp-fewshot1k.yml
│   │   │   │   ├── transformer-stackex-fewshot100.yml
│   │   │   │   ├── transformer-stackex-fewshot10k.yml
│   │   │   │   └── transformer-stackex-fewshot1k.yml
│   │   │   ├── PT/
│   │   │   │   └── transformer-PT-wiki.yml
│   │   │   ├── PTDA/
│   │   │   │   ├── transformer-PTDA-kp20k-tlrs55.yml
│   │   │   │   ├── transformer-PTDA-kp20k.yml
│   │   │   │   ├── transformer-PTDA-kptimes-tlrs55.yml
│   │   │   │   ├── transformer-PTDA-kptimes.yml
│   │   │   │   ├── transformer-PTDA-openkp-tlrs55.yml
│   │   │   │   ├── transformer-PTDA-openkp.yml
│   │   │   │   ├── transformer-PTDA-stackex-tlrs55.yml
│   │   │   │   └── transformer-PTDA-stackex.yml
│   │   │   ├── PTDAFT_tl/
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-stackex-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-stackex-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   └── transformer-stackex-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── PTDAFT_tlrs55/
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-stackex-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-stackex-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   └── transformer-stackex-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── selftrain/
│   │   │   │   ├── DA/
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round10.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round2.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round3.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round4.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round5.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round6.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round7.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round8.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round9.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf.sh
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round1.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round10.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round2.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round3.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round4.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round5.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round6.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round7.sh
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round7.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round8.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round9.yml
│   │   │   │   │   └── transformer-PTDA-magkp1m-TLtf.sh
│   │   │   │   ├── FT/
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-fewshot10k.sh
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round1-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round10-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round2-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round3-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round4-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round5-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round6-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round7-fewshot10k.sh
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round7-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round8-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round9-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-fewshot10k.sh
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round1-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round10-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round2-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round3-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round4-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round5-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round6-fewshot10k.sh
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round6-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round7-fewshot10k.sh
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round7-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round8-fewshot10k.yml
│   │   │   │   │   └── transformer-PTDAFT-magkp1m-round9-fewshot10k.yml
│   │   │   │   ├── kppred_selftrain_kp20k.sh
│   │   │   │   ├── kppred_selftrain_kp20k100k.sh
│   │   │   │   └── kppred_selftrain_magkp1m.sh
│   │   │   ├── tf_tlgenerate_pseudokp.sh
│   │   │   └── tl_gpu_template.sh
│   │   └── transfer_cmd.txt
│   ├── transfer/
│   │   ├── kpeval_cpu_template.sh
│   │   ├── kpeval_gpu_scavenger_template.sh
│   │   ├── kpeval_gpu_template.sh
│   │   ├── kpeval_o2o_gpu_template.sh
│   │   ├── kppred_selftrain_magkp1m.sh
│   │   ├── kppred_v100.sh
│   │   ├── mag/
│   │   │   ├── bart/
│   │   │   │   ├── nohup-bart-DA_MagTL12m-lr1e5-step20k-bs256.sh
│   │   │   │   ├── nohup-bart-DA_MagTL13m-FT_full-lr1e5-step100k.sh
│   │   │   │   ├── nohup-bart-DA_MagTL13m-lr1e5-step200k.sh
│   │   │   │   ├── nohup-bart-DA_MagTL1m-lr1e5-step5k-bs256.sh
│   │   │   │   └── nohup-bart-DA_MagTL3m-lr1e5-step200k.sh
│   │   │   ├── mag_np.sh
│   │   │   ├── mag_np_sbatch.sh
│   │   │   ├── mag_transfer_labelling.sh
│   │   │   ├── run_pred_o2s_scipaper.sh
│   │   │   └── tf/
│   │   │       ├── nohup_train_transformer-kp20k-PTDA_100k-FT_full-step100k-lr5e5.sh
│   │   │       ├── transformer-DA-kp20k.sh
│   │   │       ├── transformer-DA_mag_TLbart-step500k-lr3e4-tlnp82.yml
│   │   │       ├── transformer-MagTL-singleshard.yml
│   │   │       ├── transformer-PT-MagDA-step300k-lr1e5-tlnp82-nohup.sh
│   │   │       ├── transformer-PT-MagDA-step300k-lr1e5-tlnp82.yml
│   │   │       ├── transformer-PT-MagTL-lr5e5-step100k-tl:np=8:2.yml
│   │   │       ├── transformer-PT-MagTL-lr5e5-step300k-tl:np=8:2.sh
│   │   │       ├── transformer-PT-MagTL-lr5e5-step300k-tl:np=8:2.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot100-step1k-lr1e5.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot100-step1k-lr5e6.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot10k-step4k-lr1e5.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot10k-step4k-lr5e6.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot1k-step2k-lr1e5.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot1k-step2k-lr5e6.yml
│   │   │       ├── transformer-kp20k-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │       ├── transformer-kp20k-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │       ├── transformer-kp20k-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │       ├── transformer-kp20k-PTDA_kp20k_20k-FT_full-step100k-lr1e5.yml
│   │   │       ├── transformer-kp20k-PTDA_kp20k_20k-FT_full-step20k-lr1e5-warmup2k.sh
│   │   │       ├── transformer-kp20k-PTDA_kp20k_20k-FT_full-step20k-lr1e5-warmup2k.yml
│   │   │       ├── transformer-kp20k-PTDA_kp20k_20k-FT_full-step50k-lr1e4-warmup5k.sh
│   │   │       ├── transformer-kp20k-PTDA_kp20k_20k-FT_full-step50k-lr1e4-warmup5k.yml
│   │   │       ├── transformer-kp20k-PT_step200k-DA_step20k-FT_full_step100k_lr5e5_warmup10k.sh
│   │   │       ├── transformer-kp20k-PT_step200k-DA_step20k-FT_full_step100k_lr5e5_warmup10k.yml
│   │   │       ├── transformer-kp20k-PT_step200k-FT_full_step100k_lr5e5_warmup10k.sh
│   │   │       ├── transformer-kp20k-PT_step200k-FT_full_step100k_lr5e5_warmup10k.yml
│   │   │       ├── transformer-kp20k-PT_step200k-FT_full_step20k-lr1e5-warmup2k.sh
│   │   │       ├── transformer-kp20k-PT_step200k-FT_full_step20k-lr1e5-warmup2k.yml
│   │   │       ├── transformer-kp20k_DAFT-fulldata-step100k-lr1e5.sh
│   │   │       ├── transformer-kp20k_DAFT-fulldata-step100k-lr1e5.yml
│   │   │       └── transformer-kp20k_PTDAFT-fulldata-step100k-lr5e5.yml
│   │   ├── run_eval.sh
│   │   ├── run_eval_o2o.sh
│   │   ├── run_eval_o2s.sh
│   │   ├── run_eval_o2s_fewshot.sh
│   │   ├── run_pred_o2o_gpu.sh
│   │   ├── run_pred_o2s_gpu.sh
│   │   ├── run_pred_o2s_gpu_debug.sh
│   │   ├── run_pred_o2s_gpu_fewshot.sh
│   │   ├── run_pred_o2s_gpu_fewshot_dev.sh
│   │   ├── run_pred_o2s_gpu_fewshot_scavenger.sh
│   │   ├── train_bart_DA/
│   │   │   ├── wikida-kp20k_4gpu.sh
│   │   │   ├── wikida-kptimes_4gpu.sh
│   │   │   ├── wikida-openkp_4gpu.sh
│   │   │   └── wikida-stackex_4gpu.sh
│   │   ├── train_bart_fewshot/
│   │   │   ├── kpgen-bart-presabs-kp20k-fewshot100.sh
│   │   │   ├── kpgen-bart-presabs-kp20k-fewshot10k.sh
│   │   │   ├── kpgen-bart-presabs-kp20k-fewshot1k.sh
│   │   │   ├── kpgen-bart-presabs-kptimes-fewshot100.sh
│   │   │   ├── kpgen-bart-presabs-kptimes-fewshot10k.sh
│   │   │   ├── kpgen-bart-presabs-kptimes-fewshot1k.sh
│   │   │   ├── kpgen-bart-presabs-openkp-fewshot100.sh
│   │   │   ├── kpgen-bart-presabs-openkp-fewshot10k-resume.sh
│   │   │   ├── kpgen-bart-presabs-openkp-fewshot10k.sh
│   │   │   ├── kpgen-bart-presabs-openkp-fewshot1k.sh
│   │   │   ├── kpgen-bart-presabs-stackex-fewshot100.sh
│   │   │   ├── kpgen-bart-presabs-stackex-fewshot10k.sh
│   │   │   ├── kpgen-bart-presabs-stackex-fewshot1k.sh
│   │   │   ├── kpgen-bartwikikp-presabs-kp20k.sh
│   │   │   ├── kpgen-bartwikikp-presabs-kptimes.sh
│   │   │   ├── kpgen-bartwikikp-presabs-openkp-fewshot10k-resume.sh
│   │   │   ├── kpgen-bartwikikp-presabs-openkp-fewshot10k.sh
│   │   │   └── kpgen-bartwikikp-presabs-stackex.sh
│   │   ├── train_bartwikikp_DAFT_fewshot/
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kp20k-fewshot100.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kp20k-fewshot10k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kp20k-fewshot1k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kptimes-fewshot100.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kptimes-fewshot10k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kptimes-fewshot1k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-openkp-fewshot100.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-openkp-fewshot10k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-openkp-fewshot1k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-stackex-fewshot100.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-stackex-fewshot10k.sh
│   │   │   └── kpgen-bartwikikp-DAFT-presabs-stackex-fewshot1k.sh
│   │   ├── train_fulldata/
│   │   │   ├── kpgen-bart-one2one-kp20k.sh
│   │   │   ├── kpgen-bart-one2one-kptimes.sh
│   │   │   ├── kpgen-bart-one2one-openkp.sh
│   │   │   ├── kpgen-bart-one2one-stackex.sh
│   │   │   ├── kpgen-bart-presabs-kp20k-resume.sh
│   │   │   ├── kpgen-bart-presabs-kp20k.sh
│   │   │   ├── kpgen-bart-presabs-kptimes-resume.sh
│   │   │   ├── kpgen-bart-presabs-kptimes.sh
│   │   │   ├── kpgen-bart-presabs-openkp-rerun.sh
│   │   │   ├── kpgen-bart-presabs-openkp-resume.sh
│   │   │   ├── kpgen-bart-presabs-openkp.sh
│   │   │   ├── kpgen-bart-presabs-stackex-rerun.sh
│   │   │   ├── kpgen-bart-presabs-stackex-resume.sh
│   │   │   ├── kpgen-transformer-one2one-kp20k.sh
│   │   │   ├── kpgen-transformer-one2one-kptimes.sh
│   │   │   ├── kpgen-transformer-one2one-openkp.sh
│   │   │   ├── kpgen-transformer-one2one-stackex.sh
│   │   │   ├── kpgen-transformer-presabs-kp20k-lower.sh
│   │   │   ├── kpgen-transformer-presabs-kp20k-nocopy-lower.sh
│   │   │   ├── kpgen-transformer-presabs-kp20k-nocopy.sh
│   │   │   ├── kpgen-transformer-presabs-kp20k.sh
│   │   │   ├── kpgen-transformer-presabs-kptimes.sh
│   │   │   ├── kpgen-transformer-presabs-openkp.sh
│   │   │   ├── kpgen-transformer-presabs-stackex.sh
│   │   │   ├── transformer-one2one-kp20k.yml
│   │   │   ├── transformer-one2one-kptimes.yml
│   │   │   ├── transformer-one2one-openkp.yml
│   │   │   ├── transformer-one2one-stackex.yml
│   │   │   ├── transformer-presabs-kp20k-lower.yml
│   │   │   ├── transformer-presabs-kp20k-nocopy-lower.yml
│   │   │   ├── transformer-presabs-kp20k-nocopy.yml
│   │   │   ├── transformer-presabs-kp20k.yml
│   │   │   ├── transformer-presabs-kptimes.yml
│   │   │   ├── transformer-presabs-openkp.yml
│   │   │   └── transformer-presabs-stackex.yml
│   │   ├── train_tf_DA/
│   │   │   ├── transformer-DA-kp20k-NP.sh
│   │   │   ├── transformer-DA-kp20k-NP.yml
│   │   │   ├── transformer-DA-kp20k-RS.yml
│   │   │   ├── transformer-DA-kp20k-TL.sh
│   │   │   ├── transformer-DA-kp20k-TL.yml
│   │   │   ├── transformer-DA-kp20k.sh
│   │   │   ├── transformer-DA-kp20k.yml
│   │   │   ├── transformer-DA-kptimes.sh
│   │   │   ├── transformer-DA-kptimes.yml
│   │   │   ├── transformer-DA-openkp.sh
│   │   │   ├── transformer-DA-openkp.yml
│   │   │   ├── transformer-DA-stackex.sh
│   │   │   ├── transformer-DA-stackex.yml
│   │   │   ├── transformer-PT-wiki.yml
│   │   │   ├── transformer-PTDA-kp20k.yml
│   │   │   ├── transformer-PTDA-kptimes.yml
│   │   │   ├── transformer-PTDA-openkp.yml
│   │   │   └── transformer-PTDA-stackex.yml
│   │   ├── train_tf_ablation/
│   │   │   ├── transformer-kp20k-fewshot100-DA-NP-step50k-FT-step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot100-DA-RS-step50k-FT-step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot100-DA-TL-step50k-FT-step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot10k-DA-NP-step50k-FT-step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot10k-DA-RS-step50k-FT-step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot10k-DA-TL-step50k-FT-step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot1k-DA-NP-step50k-FT-step2k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot1k-DA-RS-step50k-FT-step2k-lr1e5.yml
│   │   │   └── transformer-kp20k-fewshot1k-DA-TL-step50k-FT-step2k-lr1e5.yml
│   │   ├── train_tf_fewshot/
│   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr1e3.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr1e4.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr1e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr3e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr5e4.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr5e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr5e6.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100.sh
│   │   │   ├── transformer-kp20k-DAFT-fewshot100.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot10k-step4k-lr1e6.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot10k-step4k-lr5e6.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot1k-step2k-lr1e6.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot1k-step2k-lr5e6.yml
│   │   │   ├── transformer-kp20k-fewshot100.sh
│   │   │   ├── transformer-kp20k-fewshot100.yml
│   │   │   ├── transformer-kp20k-fewshot10k.yml
│   │   │   ├── transformer-kp20k-fewshot1k.yml
│   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot10k-step8k-lr1e5.yml
│   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-kptimes-fewshot100.sh
│   │   │   ├── transformer-kptimes-fewshot100.yml
│   │   │   ├── transformer-kptimes-fewshot10k.yml
│   │   │   ├── transformer-kptimes-fewshot1k.yml
│   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-openkp-DAFT-fewshot10k-step4k-lr5e6.yml
│   │   │   ├── transformer-openkp-DAFT-fewshot1k-step2k-lr5e6.yml
│   │   │   ├── transformer-openkp-fewshot100.sh
│   │   │   ├── transformer-openkp-fewshot100.yml
│   │   │   ├── transformer-openkp-fewshot10k.yml
│   │   │   ├── transformer-openkp-fewshot1k.yml
│   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-stackex-DAFT-fewshot10k-step4k-lr5e6.yml
│   │   │   ├── transformer-stackex-DAFT-fewshot1k-step2k-lr5e6.yml
│   │   │   ├── transformer-stackex-fewshot100.sh
│   │   │   ├── transformer-stackex-fewshot100.yml
│   │   │   ├── transformer-stackex-fewshot10k.yml
│   │   │   └── transformer-stackex-fewshot1k.yml
│   │   ├── train_tf_fewshot_v2/
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr1e4.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr1e6.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr3e5.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr5e5.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr5e6.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-kp20k-PTDA-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-PTDA-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-PTDA-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PT-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PT-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PT-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PTDA-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PTDA-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PTDA-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-openkp-PT-FT-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-openkp-PT-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-openkp-PT-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-openkp-PTDA-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-openkp-PTDA-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-openkp-PTDA-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-stackex-PT-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-stackex-PT-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-stackex-PT-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-stackex-PTDA-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-stackex-PTDA-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   └── transformer-stackex-PTDA-FT_fewshot1k_step2k-lr1e5.yml
│   │   ├── transfer_cmd.txt
│   │   └── transformer-presabs-kp20k-test.yml
│   └── transfer_v2/
│       ├── bart/
│       │   ├── DA/
│       │   │   ├── bart-DA-kp20k.yml
│       │   │   ├── bart-DA-kptimes.yml
│       │   │   ├── bart-DA-openkp.yml
│       │   │   ├── bart-DA-stackex.yml
│       │   │   ├── wikida-kp20k_4gpu.sh
│       │   │   ├── wikida-kptimes_4gpu.sh
│       │   │   ├── wikida-openkp_4gpu.sh
│       │   │   └── wikida-stackex_4gpu.sh
│       │   ├── nohup-bart-PTDA-magcs12m-lr1e5-step20k-bs256.sh
│       │   ├── nohup-bart-wiki-lr1e5-step200k.sh
│       │   └── nohup-bart-wiki-lr1e5-step40k-bs256.sh
│       ├── mag/
│       │   ├── mag_transfer_labelling_bart.sh
│       │   ├── mag_transfer_labelling_tf.sh
│       │   ├── nohup-bart-PTDA_magcs12m-tlrs55-lr1e5-step200k.sh
│       │   ├── nohup-transformer-PTDA-magcs12m-tlrs55-step200k.sh
│       │   ├── prev/
│       │   │   ├── nohup-bart-DA_MagTL100k-lr1e5-step20k.sh
│       │   │   ├── nohup-bart-DA_MagTL13m-FT_full-lr1e5-step100k.sh
│       │   │   ├── nohup-bart-DA_MagTL13m-lr1e5-step200k.sh
│       │   │   └── nohup-bart-DA_MagTL3m-lr1e5-step200k.sh
│       │   ├── transformer-PTDA-magcs12m-tlrs55-step200k.yml
│       │   ├── transformer-PTDAFT-magcs12m-FT100k-step20k.yml
│       │   ├── transformer-PTDAFT-magcs12m-fewshot100-step1k-lr1e5.yml
│       │   ├── transformer-PTDAFT-magcs12m-fewshot10k-step4k-lr1e5.yml
│       │   ├── transformer-PTDAFT-magcs12m-fewshot1k-step2k-lr1e5.yml
│       │   ├── transformer-PTDAFT-magcs12m-full-step100k.yml
│       │   ├── transformer-PTDAFT-magcs1m-fewshot100-step1k-lr1e5.yml
│       │   ├── transformer-PTDAFT-magcs1m-fewshot10k-step4k-lr1e5.yml
│       │   ├── transformer-PTDAFT-magcs1m-fewshot1k-step2k-lr1e5.yml
│       │   ├── transformer-PTFT-kp20k_100k-step20k.yml
│       │   └── transformer-kp20k_100k-step100k.yml
│       ├── tf/
│       │   ├── DA/
│       │   │   ├── transformer-DA-kp20k-tlrs55.yml
│       │   │   ├── transformer-DA-kp20k.yml
│       │   │   ├── transformer-DA-kptimes-tlrs55.yml
│       │   │   ├── transformer-DA-kptimes.yml
│       │   │   ├── transformer-DA-openkp-tlrs55.yml
│       │   │   ├── transformer-DA-openkp.yml
│       │   │   ├── transformer-DA-stackex-tlrs55.yml
│       │   │   └── transformer-DA-stackex.yml
│       │   ├── DAFT/
│       │   │   ├── deprecated/
│       │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot100_step1k_lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot10k_step4k_lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot1k_step2k_lr1e5.yml
│       │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│       │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│       │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│       │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│       │   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│       │   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   └── transformer-stackex-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-stackex-DA-tlrs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-stackex-DA-tlrs55-step40k-FT-fewshot10k.yml
│       │   │   └── transformer-stackex-DA-tlrs55-step40k-FT-fewshot1k.yml
│       │   ├── DAcompare/
│       │   │   ├── transformer-DA-kp20k-step20k.yml
│       │   │   ├── transformer-DA-kp20k-step40k-NP.sh
│       │   │   ├── transformer-DA-kp20k-step40k-NP.yml
│       │   │   ├── transformer-DA-kp20k-step40k-RS.yml
│       │   │   ├── transformer-DA-kp20k-step40k-TL.yml
│       │   │   ├── transformer-DA-kp20k-step40k-nprs_55.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tl_beam10.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tl_beam25.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tl_beam3.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tl_beam5.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tl_beam50.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlnp_28.sh
│       │   │   ├── transformer-DA-kp20k-step40k-tlnp_28.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlnp_55.sh
│       │   │   ├── transformer-DA-kp20k-step40k-tlnp_55.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlnp_82.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlrs_28.sh
│       │   │   ├── transformer-DA-kp20k-step40k-tlrs_28.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlrs_55.sh
│       │   │   ├── transformer-DA-kp20k-step40k-tlrs_55.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlrs_82.yml
│       │   │   ├── transformer-PTDA-kp20k-step20k-NP.yml
│       │   │   ├── transformer-PTDA-kp20k-step20k-RS.yml
│       │   │   ├── transformer-PTDA-kp20k-step20k-TL.yml
│       │   │   ├── transformer-PTDA-kp20k-step20k-nprs55.yml
│       │   │   ├── transformer-PTDA-kp20k-step20k-tlnp55.yml
│       │   │   └── transformer-PTDA-kp20k-step20k-tlrs55.yml
│       │   ├── DAcompareFT/
│       │   │   ├── deprecated/
│       │   │   │   ├── transformer-kp20k-DA-NP-step75k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-RS-step100k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-TLbart-step100k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-TLbart-tlnp55-step100k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-TLtf-beam25-step40k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-TLtf-beam50-step40k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   └── transformer-kp20k-DA-TLtf-step20k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot10k.yml
│       │   │   └── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot1k.yml
│       │   ├── FT/
│       │   │   ├── transformer-kp20k-fewshot100.yml
│       │   │   ├── transformer-kp20k-fewshot10k.yml
│       │   │   ├── transformer-kp20k-fewshot1k.yml
│       │   │   ├── transformer-kptimes-fewshot100.yml
│       │   │   ├── transformer-kptimes-fewshot10k.yml
│       │   │   ├── transformer-kptimes-fewshot1k.yml
│       │   │   ├── transformer-openkp-fewshot100.yml
│       │   │   ├── transformer-openkp-fewshot10k.yml
│       │   │   ├── transformer-openkp-fewshot1k.yml
│       │   │   ├── transformer-stackex-fewshot100.yml
│       │   │   ├── transformer-stackex-fewshot10k.yml
│       │   │   └── transformer-stackex-fewshot1k.yml
│       │   ├── PT/
│       │   │   └── transformer-PT-wiki.yml
│       │   ├── PTDA/
│       │   │   ├── transformer-PTDA-kp20k-tlrs55.yml
│       │   │   ├── transformer-PTDA-kp20k.yml
│       │   │   ├── transformer-PTDA-kptimes-tlrs55.yml
│       │   │   ├── transformer-PTDA-kptimes.yml
│       │   │   ├── transformer-PTDA-openkp-tlrs55.yml
│       │   │   ├── transformer-PTDA-openkp.yml
│       │   │   ├── transformer-PTDA-stackex-tlrs55.yml
│       │   │   └── transformer-PTDA-stackex.yml
│       │   ├── PTDAFT_tl/
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-stackex-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-stackex-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   └── transformer-stackex-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   ├── PTDAFT_tlrs55/
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-stackex-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-stackex-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   └── transformer-stackex-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   ├── selftrain/
│       │   │   ├── DA/
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round10.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round2.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round3.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round4.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round5.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round6.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round7.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round8.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round9.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf.sh
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round1.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round10.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round2.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round3.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round4.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round5.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round6.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round7.sh
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round7.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round8.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round9.yml
│       │   │   │   └── transformer-PTDA-magkp1m-TLtf.sh
│       │   │   ├── FT/
│       │   │   │   ├── transformer-PTDAFT-kp20k-fewshot10k.sh
│       │   │   │   ├── transformer-PTDAFT-kp20k-round1-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round10-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round2-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round3-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round4-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round5-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round6-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round7-fewshot10k.sh
│       │   │   │   ├── transformer-PTDAFT-kp20k-round7-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round8-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round9-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-fewshot10k.sh
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round1-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round10-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round2-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round3-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round4-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round5-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round6-fewshot10k.sh
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round6-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round7-fewshot10k.sh
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round7-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round8-fewshot10k.yml
│       │   │   │   └── transformer-PTDAFT-magkp1m-round9-fewshot10k.yml
│       │   │   ├── kppred_selftrain_kp20k.sh
│       │   │   ├── kppred_selftrain_kp20k100k.sh
│       │   │   └── kppred_selftrain_magkp1m.sh
│       │   ├── tf_tlgenerate_pseudokp.sh
│       │   └── tl_gpu_template.sh
│       └── transfer_cmd.txt
├── server.py
├── setup.py
├── tokenizer_test.py
├── tools/
│   ├── README.md
│   ├── apply_bpe.py
│   ├── average_models.py
│   ├── bpe_pipeline.sh
│   ├── detokenize.perl
│   ├── embeddings_to_torch.py
│   ├── extract_embeddings.py
│   ├── extract_vocabulary.py
│   ├── learn_bpe.py
│   ├── multi-bleu-detok.perl
│   ├── nonbreaking_prefixes/
│   │   ├── README.txt
│   │   ├── nonbreaking_prefix.ca
│   │   ├── nonbreaking_prefix.cs
│   │   ├── nonbreaking_prefix.de
│   │   ├── nonbreaking_prefix.el
│   │   ├── nonbreaking_prefix.en
│   │   ├── nonbreaking_prefix.es
│   │   ├── nonbreaking_prefix.fi
│   │   ├── nonbreaking_prefix.fr
│   │   ├── nonbreaking_prefix.ga
│   │   ├── nonbreaking_prefix.hu
│   │   ├── nonbreaking_prefix.is
│   │   ├── nonbreaking_prefix.it
│   │   ├── nonbreaking_prefix.lt
│   │   ├── nonbreaking_prefix.lv
│   │   ├── nonbreaking_prefix.nl
│   │   ├── nonbreaking_prefix.pl
│   │   ├── nonbreaking_prefix.ro
│   │   ├── nonbreaking_prefix.ru
│   │   ├── nonbreaking_prefix.sk
│   │   ├── nonbreaking_prefix.sl
│   │   ├── nonbreaking_prefix.sv
│   │   ├── nonbreaking_prefix.ta
│   │   ├── nonbreaking_prefix.yue
│   │   └── nonbreaking_prefix.zh
│   ├── release_model.py
│   ├── spm_to_vocab.py
│   ├── stanfordcorenlp/
│   │   ├── __init__.py
│   │   └── corenlp.py
│   ├── test_rouge.py
│   └── tokenizer.perl
├── train.py
└── translate.py

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/workflows/push.yml
================================================
name: Lint & Tests

on: [push, pull_request]

jobs:
  lint-and-tests:

    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [3.6] # build only for 3.6 for now

    steps:
    - uses: actions/checkout@v2
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v2
      with:
        python-version: ${{ matrix.python-version }}
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install --upgrade setuptools==50.3.0
        python setup.py install
        pip install -r requirements.opt.txt
        pip install flake8
        if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
    - name: Lint with flake8
      run: |
        # stop the build if there are Python syntax errors or undefined names
        flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
        # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
        flake8 . --count --exit-zero --statistics
    - name: Unit tests
      run: |
        python -m unittest discover
    - name: Test vocabulary build
      run: |
        python onmt/bin/build_vocab.py \
          -config data/data.yaml \
          -save_data /tmp/onmt \
          -n_sample 5000 \
          -src_vocab /tmp/onmt.vocab.src \
          -tgt_vocab /tmp/onmt.vocab.tgt \
          && rm -rf /tmp/sample
    - name: Test field/transform dump
      run: |
        # The dumped fields are used later when testing tools
        python train.py \
          -config data/data.yaml \
          -save_data /tmp/onmt.train.check \
          -dump_fields \
          -dump_transforms \
          -n_sample 30 \
          -src_vocab /tmp/onmt.vocab.src \
          -tgt_vocab /tmp/onmt.vocab.tgt \
          -src_vocab_size 1000 \
          -tgt_vocab_size 1000
    - name: Test RNN training
      run: |
        python train.py \
          -config data/data.yaml \
          -src_vocab /tmp/onmt.vocab.src \
          -tgt_vocab /tmp/onmt.vocab.tgt \
          -src_vocab_size 1000 \
          -tgt_vocab_size 1000 \
          -rnn_size 2 \
          -batch_size 10 \
          -word_vec_size 5 \
          -report_every 5\
          -rnn_size 10 \
          -train_steps 10
    - name: Test RNN training with copy
      run: |
        python train.py \
          -config data/data.yaml \
          -src_vocab /tmp/onmt.vocab.src \
          -tgt_vocab /tmp/onmt.vocab.tgt \
          -src_vocab_size 1000 \
          -tgt_vocab_size 1000 \
          -rnn_size 2 \
          -batch_size 10 \
          -word_vec_size 5 \
          -report_every 5 \
          -rnn_size 10 \
          -train_steps 10 \
          -copy_attn
    - name: Test RNN training with coverage
      run: |
        python train.py \
          -config data/data.yaml \
          -src_vocab /tmp/onmt.vocab.src \
          -tgt_vocab /tmp/onmt.vocab.tgt \
          -src_vocab_size 1000 \
          -tgt_vocab_size 1000 \
          -rnn_size 2 -batch_size 10 \
          -word_vec_size 5 -report_every 5        \
          -coverage_attn true -lambda_coverage 0.1 \
          -rnn_size 10 -train_steps 10
    - name: Test Transformer training with align
      run: |
        python train.py \
          -config data/align_data.yaml \
          -src_vocab /tmp/onmt.vocab.src \
          -tgt_vocab /tmp/onmt.vocab.tgt \
          -src_vocab_size 1000 \
          -tgt_vocab_size 1000 \
          -max_generator_batches 0 \
          -encoder_type transformer \
          -decoder_type transformer \
          -layers 4 \
          -word_vec_size 16 \
          -rnn_size 16 \
          -heads 2 \
          -transformer_ff 64 \
          -lambda_align 0.05 \
          -alignment_layer 2 \
          -alignment_heads 0 \
          -report_every 5 \
          -train_steps 10
    - name: Test LM training
      run: |
        python train.py \
            -config data/lm_data.yaml \
            -src_vocab /tmp/onmt.vocab.src \
            -tgt_vocab /tmp/onmt.vocab.src \
            -model_task lm \
            -encoder_type transformer_lm \
            -decoder_type transformer_lm \
            -src_vocab_size 1000 \
            -tgt_vocab_size 1000 \
            -dec_layers 2 -batch_size 10 \
            -heads 4 -transformer_ff 64 \
            -word_vec_size 16 -report_every 5 \
            -rnn_size 16 -train_steps 10
    - name: Test LM training with copy
      run: |
        python train.py \
          -config data/lm_data.yaml \
          -src_vocab /tmp/onmt.vocab.src \
          -tgt_vocab /tmp/onmt.vocab.src \
          -model_task lm \
          -encoder_type transformer_lm \
          -decoder_type transformer_lm \
          -src_vocab_size 1000 \
          -tgt_vocab_size 1000 \
          -dec_layers 2 -batch_size 10 \
          -heads 4 -transformer_ff 64 \
          -word_vec_size 16 -report_every 5        \
          -rnn_size 16 -train_steps 10 \
          -copy_attn
    - name: Test Graph neural network training
      run: |
        python train.py \
          -config data/ggnn_data.yaml \
          -src_seq_length 1000 \
          -tgt_seq_length 30 \
          -encoder_type ggnn \
          -layers 2 \
          -decoder_type rnn \
          -rnn_size 256 \
          -learning_rate 0.1 \
          -learning_rate_decay 0.8 \
          -global_attention general \
          -batch_size 32 \
          -word_vec_size 256 \
          -bridge \
          -train_steps 10 \
          -n_edge_types 9 \
          -state_dim 256 \
          -n_steps 10 \
          -n_node 64
    - name: Test RNN translation
      run: |
        head data/src-test.txt > /tmp/src-test.txt
        python translate.py \
          -model onmt/tests/test_model.pt \
          -src /tmp/src-test.txt \
          -verbose
    - name: Test RNN ensemble translation
      run: |
        head data/src-test.txt > /tmp/src-test.txt
        python translate.py \
          -model onmt/tests/test_model.pt \
          onmt/tests/test_model.pt \
          -src /tmp/src-test.txt \
          -verbose
    - name: Test RNN translation with beam search
      run: |
        python translate.py \
          -model onmt/tests/test_model2.pt \
          -src data/morph/src.valid \
          -verbose \
          -batch_size 10 \
          -beam_size 10 \
          -tgt data/morph/tgt.valid \
          -out /tmp/trans
        diff data/morph/tgt.valid /tmp/trans && rm /tmp/trans
    - name: Test RNN translation with random sampling
      run: |
        python translate.py \
          -model onmt/tests/test_model2.pt \
          -src data/morph/src.valid \
          -verbose \
          -batch_size 10 \
          -beam_size 1 \
          -seed 1 \
          -random_sampling_topk "-1" \
          -random_sampling_temp 0.0001 \
          -tgt data/morph/tgt.valid \
          -out /tmp/trans
        diff data/morph/tgt.valid /tmp/trans && rm /tmp/trans
    - name: Test LM generation
      run: |
        head data/src-test.txt > /tmp/src-test.txt
        python translate.py \
          -model onmt/tests/test_model_lm.pt \
          -src data/src-test.txt \
          -verbose
    - name: Test LM generation with beam search
      run: |
        python translate.py \
          -model onmt/tests/test_model_lm.pt \
          -src data/data_lm/src-gen.txt \
          -verbose -batch_size 10 \
          -beam_size 10 \
          -out /tmp/gen
        diff data/data_lm/gen-beam-sol.txt /tmp/gen && rm /tmp/gen
    - name: Test LM generation with random sampling
      run: |
        python translate.py -model onmt/tests/test_model_lm.pt \
          -src data/data_lm/src-gen.txt \
          -verbose -batch_size 10 \
          -beam_size 1 \
          -seed 1 \
          -random_sampling_topk=-1 \
          -random_sampling_temp=0.0001 \
          -out /tmp/gen
        diff data/data_lm/gen-sampling-sol.txt /tmp/gen && rm /tmp/gen
    - name: Test extract_vocabulary tool
      run: |
        python tools/extract_vocabulary.py \
          -file /tmp/onmt.train.check.vocab.pt \
          -file_type field \
          -side src \
          -out_file /tmp/onmt.vocab.txt
        if ! wc -l /tmp/onmt.vocab.txt | grep -qF  "1002"
          then echo "wrong word count" && exit 1
        else
          echo "create vocabulary pass"
        fi
    - name: Test embeddings_to_torch tool
      run: |
        python tools/embeddings_to_torch.py \
          -emb_file_enc onmt/tests/sample_glove.txt \
          -emb_file_dec onmt/tests/sample_glove.txt \
          -dict_file /tmp/onmt.train.check.vocab.pt \
          -output_file /tmp/q_gloveembeddings \
          && rm /tmp/q_gloveembeddings*
        rm /tmp/onmt.train.check.*.pt
    - name: Test extract_embeddings tool
      run: |
        python tools/extract_embeddings.py \
          -model onmt/tests/test_model.pt
  build-docs:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.6
      uses: actions/setup-python@v2
      with:
        python-version: 3.6
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install --upgrade setuptools
        python setup.py install
        pip install -r docs/requirements.txt
    - name: Build docs
      run: |
        set -e
        # Check that docs are built without errors
        cd docs/ && make html && cd ..


================================================
FILE: .github/workflows/release.yml
================================================
name: Deploy Docs & Publish to PyPi

on:
  release:
    types: [published]

jobs:
  deploy-docs:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.6
      uses: actions/setup-python@v2
      with:
        python-version: 3.6
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install --upgrade setuptools
        python setup.py install
        pip install -r docs/requirements.txt
    - name: Build docs
      run: |
        set -e
        # Check that docs are built without errors
        cd docs/ && make html && cd ..
    - name: Deploy docs
      uses: JamesIves/github-pages-deploy-action@3.7.1
      with:
        GITHUB_TOKEN:  ${{ secrets.GITHUB_TOKEN }}
        BRANCH: gh-pages
        FOLDER: docs/build/html
        CLEAN: true
  publish-pypi:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Set up Python 3.6
      uses: actions/setup-python@v2
      with:
        python-version: 3.6
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install --upgrade setuptools wheel
    - name: Build a binary wheel and a source tarball
      run: |
        python setup.py sdist bdist_wheel
    - name: Publish release to PyPi
      uses: pypa/gh-action-pypi-publish@54b39fb
      with:
        user: __token__
        password: ${{ secrets.pypi_password }}
        verbose: true


================================================
FILE: .gitignore
================================================
# repo-specific stuff
*.pkl
multi-bleu.perl
*.pt
\#*#
.idea
*.sublime-*
.DS_Store
data/
runs/
output/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/



================================================
FILE: CHANGELOG.md
================================================

**Notes on versioning**


## [Unreleased]

## [2.0.0rc2](https://github.com/OpenNMT/OpenNMT-py/tree/2.0.0rc2) (2020-11-10)

### Fixes and improvements
* Parallelize onmt_build_vocab (422d824)
* Some fixes to the on-the-fly transforms
* Some CTranslate2 related updates
* Some fixes to the docs

## [2.0.0rc1](https://github.com/OpenNMT/OpenNMT-py/tree/2.0.0rc1) (2020-09-25)

This is the first release candidate for OpenNMT-py major upgdate to 2.0.0!

The major idea behind this release is the -- almost -- complete **makeover of the data loading pipeline** . A new 'dynamic' paradigm is introduced, allowing to apply on the fly transforms to the data.

This has a few advantages, amongst which:

* remove or drastically reduce the preprocessing required to train a model;
* increase and simplify the possibilities of data augmentation and manipulation through on-the fly transforms.

These transforms can be specific **tokenization** methods, **filters**, **noising**, or **any custom transform** users may want to implement. Custom transform implementation is quite straightforward thanks to the existing base class and example implementations.

You can check out how to use this new data loading pipeline in the updated [docs and examples](https://opennmt.net/OpenNMT-py).

All the **readily available transforms** are described [here](https://opennmt.net/OpenNMT-py/FAQ.html#what-are-the-readily-available-on-the-fly-data-transforms).

### Performance

Given sufficient CPU resources according to GPU computing power, most of the transforms should not slow the training down. (Note: for now, one producer process per GPU is spawned -- meaning you would ideally need 2N CPU threads for N GPUs).

### Breaking changes

A few features are dropped, at least for now:

* audio, image and video inputs;
* source word features.

Some very old checkpoints with previous fields and vocab structure are also incompatible with this new version.

For any user that still need some of these features, the previous codebase will be retained as [`legacy` in a separate branch](https://github.com/OpenNMT/OpenNMT-py/tree/legacy). It will no longer receive extensive development from the core team but PRs may still be accepted.


-----

## [1.2.0](https://github.com/OpenNMT/OpenNMT-py/tree/1.2.0) (2020-08-17)
### Fixes and improvements
* Support pytorch 1.6 (e813f4d, eaaae6a)
* Support official torch 1.6 AMP for mixed precision training (2ac1ed0)
* Flag to override batch_size_multiple in FP16 mode, useful in some memory constrained setups (23e5018)
* Pass a dict and allow custom options in preprocess/postprocess functions of REST server (41f0c02, 8ec54d2)
* Allow different tokenization for source and target in REST server (bb2d045, 4659170)
* Various bug fixes

### New features
* Gated Graph Sequence Neural Networks encoder (11e8d0), thanks @SteveKommrusch
* Decoding with a target prefix (95aeefb, 0e143ff, 91ab592), thanks @Zenglinxiao

## [1.1.1](https://github.com/OpenNMT/OpenNMT-py/tree/1.1.1) (2020-03-20)
### Fixes and improvements
* Fix backcompatibility when no 'corpus_id' field (c313c28)

## [1.1.0](https://github.com/OpenNMT/OpenNMT-py/tree/1.1.0) (2020-03-19)
### New features
* Support CTranslate2 models in REST server (91d5d57)
* Extend support for custom preprocessing/postprocessing function in REST server by using return dictionaries (d14613d, 9619ac3, 92a7ba5)
* Experimental: BART-like source noising (5940dcf)

### Fixes and improvements
* Add options to CTranslate2 release (e442f3f)
* Fix dataset shard order (458fc48)
* Rotate only the server logs, not training (189583a)
* Fix alignment error with empty prediction (91287eb)

## [1.0.2](https://github.com/OpenNMT/OpenNMT-py/tree/1.0.2) (2020-03-05)
### Fixes and improvements
* Enable CTranslate2 conversion of Transformers with relative position (db11135)
* Adapt `-replace_unk` to use with learned alignments if they exist (7625b53)

## [1.0.1](https://github.com/OpenNMT/OpenNMT-py/tree/1.0.1) (2020-02-17)
### Fixes and improvements
* Ctranslate2 conversion handled in release script (1b50e0c)
* Use `attention_dropout` properly in MHA (f5c9cd4)
* Update apex FP16_Optimizer path (d3e2268)
* Some REST server optimizations
* Fix and add some docs

## [1.0.0](https://github.com/OpenNMT/OpenNMT-py/tree/1.0.0) (2019-10-01)
### New features
* Implementation of "Jointly Learning to Align & Translate with Transformer" (@Zenglinxiao)

### Fixes and improvements
* Add nbest support to REST server (@Zenglinxiao)
* Merge greedy and beam search codepaths (@Zenglinxiao)
* Fix "block ngram repeats" (@KaijuML, @pltrdy)
* Small fixes, some more docs

## [1.0.0.rc2](https://github.com/OpenNMT/OpenNMT-py/tree/1.0.0.rc1) (2019-10-01)
* Fix Apex / FP16 training (Apex new API is buggy)
* Multithread preprocessing way faster (Thanks @francoishernandez)
* Pip Installation v1.0.0.rc1 (thanks @pltrdy)

## [0.9.2](https://github.com/OpenNMT/OpenNMT-py/tree/0.9.2) (2019-09-04)
* Switch to Pytorch 1.2
* Pre/post processing on the translation server
* option to remove the FFN layer in AAN + AAN optimization (faster)
* Coverage loss (per Abisee paper 2017) implementation
* Video Captioning task: Thanks Dylan Flaute!
* Token batch at inference
* Small fixes and add-ons


## [0.9.1](https://github.com/OpenNMT/OpenNMT-py/tree/0.9.1) (2019-06-13)
* New mechanism for MultiGPU training "1 batch producer / multi batch consumers"
  resulting in big memory saving when handling huge datasets
* New APEX AMP (mixed precision) API
* Option to overwrite shards when preprocessing
* Small fixes and add-ons

## [0.9.0](https://github.com/OpenNMT/OpenNMT-py/tree/0.9.0) (2019-05-16)
* Faster vocab building when processing shards (no reloading)
* New dataweighting feature
* New dropout scheduler.
* Small fixes and add-ons

## [0.8.2](https://github.com/OpenNMT/OpenNMT-py/tree/0.8.2) (2019-02-16)
* Update documentation and Library example
* Revamp args
* Bug fixes, save moving average in FP32
* Allow FP32 inference for FP16 models

## [0.8.1](https://github.com/OpenNMT/OpenNMT-py/tree/0.8.1) (2019-02-12)
* Update documentation
* Random sampling scores fixes
* Bug fixes

## [0.8.0](https://github.com/OpenNMT/OpenNMT-py/tree/0.8.0) (2019-02-09)
* Many fixes and code cleaning thanks @flauted, @guillaumekln
* Datasets code refactor (thanks @flauted) you need to r-preeprocess datasets

### New features
* FP16 Support: Experimental, using Apex, Checkpoints may break in future version.
* Continuous exponential moving average (thanks @francoishernandez, and Marian)
* Relative positions encoding (thanks @francoishernanndez, and Google T2T)
* Deprecate the old beam search, fast batched beam search supports all options


## [0.7.2](https://github.com/OpenNMT/OpenNMT-py/tree/0.7.2) (2019-01-31)
* Many fixes and code cleaning thanks @bpopeters, @flauted, @guillaumekln

### New features
* Multilevel fields for better handling of text featuer embeddinggs. 


## [0.7.1](https://github.com/OpenNMT/OpenNMT-py/tree/0.7.1) (2019-01-24)
* Many fixes and code refactoring thanks @bpopeters, @flauted, @guillaumekln

### New features
* Random sampling thanks @daphnei
* Enable sharding for huge files at translation

## [0.7.0](https://github.com/OpenNMT/OpenNMT-py/tree/0.7.0) (2019-01-02)
* Many fixes and code refactoring thanks @benopeters
* Migrated to Pytorch 1.0

## [0.6.0](https://github.com/OpenNMT/OpenNMT-py/tree/0.6.0) (2018-11-28)
* Many fixes and code improvements
* New: Ability to load a yml config file. See examples in config folder.

## [0.5.0](https://github.com/OpenNMT/OpenNMT-py/tree/0.5.0) (2018-10-24)
* Fixed advance n_best beam in translate_batch_fast
* Fixed remove valid set vocab from total vocab
* New: Ability to reset optimizer when using train_from
* New: create_vocabulary tool + fix when loading existing vocab.

## [0.4.1](https://github.com/OpenNMT/OpenNMT-py/tree/0.4.1) (2018-10-11)
* Fixed preprocessing files names, cleaning intermediary files.

## [0.4.0](https://github.com/OpenNMT/OpenNMT-py/tree/0.4.0) (2018-10-08)
* Fixed Speech2Text training (thanks Yuntian)

* Removed -max_shard_size, replaced by -shard_size = number of examples in a shard.
  Default value = 1M which works fine in most Text dataset cases. (will avoid Ram OOM in most cases)


## [0.3.0](https://github.com/OpenNMT/OpenNMT-py/tree/0.3.0) (2018-09-27)
* Now requires Pytorch 0.4.1

* Multi-node Multi-GPU with Torch Distributed

  New options are:
  -master_ip: ip address of the master node
  -master_port: port number of th emaster node
  -world_size = total number of processes to be run (total GPUs accross all nodes)
  -gpu_ranks = list of indices of processes accross all nodes

* gpuid is deprecated
See examples in https://github.com/OpenNMT/OpenNMT-py/blob/master/docs/source/FAQ.md

* Fixes to img2text now working

* New sharding based on number of examples

* Fixes to avoid 0.4.1 deprecated functions.


## [0.2.1](https://github.com/OpenNMT/OpenNMT-py/tree/0.2.1) (2018-08-31)

### Fixes and improvements

* First compatibility steps with Pytorch 0.4.1 (non breaking)
* Fix TranslationServer (when various request try to load the same model at the same time)
* Fix StopIteration error (python 3.7)

### New features
* Ensemble at inference (thanks @Waino)

## [0.2](https://github.com/OpenNMT/OpenNMT-py/tree/v0.2) (2018-08-28)

### improvements

* Compatibility fixes with Pytorch 0.4 / Torchtext 0.3
* Multi-GPU based on Torch Distributed
* Average Attention Network (AAN) for the Transformer (thanks @francoishernandez )
* New fast beam search (see -fast in translate.py) (thanks @guillaumekln)
* Sparse attention / sparsemax (thanks to @bpopeters)
* Refactoring of many parts of the code base:
 - change from -epoch to -train_steps -valid_steps (see opts.py)
 - reorg of the logic train => train_multi / train_single => trainer
* Many fixes / improvements in the translationserver (thanks @pltrdy @francoishernandez)
* fix BPTT

## [0.1](https://github.com/OpenNMT/OpenNMT-py/tree/v0.1) (2018-06-08)

### First and Last Release using Pytorch 0.3.x




================================================
FILE: CONTRIBUTING.md
================================================
# Contributors

OpenNMT-py is a community developed project and we love developer contributions.

## Guidelines
Before sending a PR, please do this checklist first:

- Please run `onmt/tests/pull_request_chk.sh` and fix any errors. When adding new functionality, also add tests to this script. Included checks:
    1. flake8 check for coding style;
    2. unittest;
    3. continuous integration tests listed in `.travis.yml`.
- When adding/modifying class constructor, please make the arguments as same naming style as its superclass in PyTorch.
- If your change is based on a paper, please include a clear comment and reference in the code (more on that below).

### Docstrings
Above all, try to follow the Google docstring format
([Napoleon example](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html),
[Google styleguide](http://google.github.io/styleguide/pyguide.html)).
This makes it easy to include your contributions in the Sphinx documentation. And, do feel free
to autodoc your contributions in the API ``.rst`` files in the `docs/source` folder! If you do, check that
your additions look right.

```bash
cd docs
# install some dependencies if necessary:
# recommonmark, sphinx_rtd_theme, sphinxcontrib-bibtex
make html
firefox build/html/main.html  # or your browser of choice
```

Some particular advice:
- Try to follow Python 3 [``typing`` module](https://docs.python.org/3/library/typing.html) conventions when documenting types.
    - Exception: use "or" instead of unions for more readability
    - For external types, use the full "import name". Common abbreviations (e.g. ``np``) are acceptable.
      For ``torch.Tensor`` types, the ``torch.`` is optional.
    - Please don't use tics like `` (`str`) `` or rst directives like `` (:obj:`str`) ``. Napoleon handles types
      very well without additional help, so avoid the clutter.
- [Google docstrings don't support multiple returns](https://stackoverflow.com/questions/29221551/can-sphinx-napoleon-document-function-returning-multiple-arguments).
For multiple returns, the following works well with Sphinx and is still very readable.
  ```python
  def foo(a, b):
      """This is my docstring.

      Args:
          a (object): Something.
          b (class): Another thing.

      Returns:
          (object, class):

          * a: Something or rather with a long
            description that spills over.
          * b: And another thing.
      """

      return a, b
  ```
- When citing a paper, avoid directly linking in the docstring! Add a Bibtex entry to `docs/source/refs.bib`.
E.g., to cite "Attention Is All You Need", visit [arXiv](https://arxiv.org/abs/1706.03762), choose the
[bibtext](https://dblp.uni-trier.de/rec/bibtex/journals/corr/VaswaniSPUJGKP17) link, search `docs/source/refs.bib`
using `CTRL-F` for `DBLP:journals/corr/VaswaniSPUJGKP17`, and if you do not find it then copy-paste the
citation into `refs.bib`. Then, in your docstring, use ``:cite:`DBLP:journals/corr/VaswaniSPUJGKP17` ``.
    - However, a link is better than nothing.
- Please document tensor shapes. Prefer the format
  ``` ``(a, b, c)`` ```. This style is easy to read, allows using ``x`` for multplication, and is common
  (PyTorch uses a few variations on the parentheses format, AllenNLP uses exactly this format, Fairseq uses
  the parentheses format with single ticks).
    - Again, a different style is better than no shape documentation.
- Please avoid unnecessary space characters, try to capitalize, and try to punctuate.

  For multi-line docstrings, add a blank line after the closing ``"""``.
  Don't use a blank line before the closing quotes.

  ``""" not this """`` ``"""This."""``

  ```python
  """
      Not this.
  """
  ```
  ```python
  """This."""
  ```

  This note is the least important. Focus on content first, but remember that consistent docs look good.
- Be sensible about the first line. Generally, one stand-alone summary line (per the Google guidelines) is good.
  Sometimes, it's better to cut directly to the args or an extended description. It's always acceptable to have a
  "trailing" citation.


================================================
FILE: Dockerfile
================================================
FROM pytorch/pytorch:latest
RUN git clone https://github.com/OpenNMT/OpenNMT-py.git && cd OpenNMT-py && pip install -r requirements.txt && python setup.py install


================================================
FILE: LICENSE.md
================================================
MIT License

Copyright (c) 2017-Present OpenNMT

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: README.md
================================================
# Keyphrase Generation (built on OpenNMT-py)

This is a repository providing code and datasets for keyphrase generation.

## Update (October 2022)
Release the resources of paper [**General-to-Specific Transfer Labeling for Domain Adaptable Keyphrase Generation**](https://arxiv.org/pdf/2208.09606.pdf). 

All datasets and selected model checkpoints in the papers can be downloaded from Huggingface Hub ([data](https://huggingface.co/memray) and [ckpt](https://huggingface.co/memray/opennmt-kpg/tree/main)).
Config files can be found at [script/](https://github.com/memray/OpenNMT-kpg-release/tree/master/script/transfer/train_fulldata). 

For example, you can start training a Transformer model on KP20k using OpenNMT:
```bash
CUDA_VISIBLE_DEVICES=0 python train.py -config config/transfer_kp/train/transformer-presabs-kp20k.yml
```
To train a BART model on KP20k using [fairseq-kpg](https://github.com/memray/fairseq-kpg), vocab can be downloaded [here](https://huggingface.co/memray/opennmt-kpg/blob/main/roberta-base-kp.zip):
```bash
cd $FAIRSEQ_DIR
CUDA_VISIBLE_DEVICES=0 python train.py data/kp/json/kp20k/ --save-dir exps/kp/bartFT_presabs_kp20k_100k_rerun/ckpts --disable-validation --task keyphrasification --max-source-length 512 --max-target-length 128 --kp-concat-type pres_abs --arch bart_large --restore-file cache/bart.large/model.pt --bpe hf_pretrained_bpe --bpe-vocab hf_vocab/roberta-base-kp/vocab.json --bpe-merges hf_vocab/roberta-base-kp/merges.txt --dict-path hf_vocab/roberta-base-kp/dict.txt --bpe-dropout 0.0 --ddp-backend=no_c10d --criterion label_smoothed_cross_entropy --share-all-embeddings --layernorm-embedding --share-all-embeddings --share-decoder-input-output-embed --reset-optimizer --reset-dataloader --reset-meters --required-batch-size-multiple 1 --optimizer adam --adam-betas (0.9,0.999) --adam-eps 1e-08 --clip-norm 0.1 --lr 1e-5 --update-freq 8 --lr-scheduler polynomial_decay --label-smoothing 0.1 --dropout 0.1 --attention-dropout 0.1 --weight-decay 0.01 --log-format simple --log-interval 100 --fixed-validation-seed 7 --max-tokens 1024 --save-interval-updates 5000 --warmup-updates 10000 --total-num-update 100000 --num-workers 4 --find-unused-parameters --fp16 --ddp-backend=no_c10d --wandb-project kp-project
```


## Update (April 2022)
Several pretrained checkpoints are available at Huggingface model repos.
- BART-large-KPG model pretrained with wikipedia phrases: [https://huggingface.co/memray/bart_wikikp](https://huggingface.co/memray/bart_wikikp/tree/main)
- BART/Transformers trained on four different keyphrase datasets: [https://huggingface.co/memray/opennmt-kpg/](https://huggingface.co/memray/opennmt-kpg/tree/main)

Two examples:
- Run kpg inference with Huggingface Transformers
```bash
CUDA_VISIBLE_DEVICES=0 python onmt/keyphrase/run_infer_hfkpg.py --config_name memray/bart_wikikp --model_name_or_path memray/bart_wikikp --tokenizer_name memray/bart_wikikp --dataset_name midas/duc2001 --do_predict --output_dir kp_output/duc2001/ --overwrite_output_dir --per_device_eval_batch_size 8 --predict_with_generate --text_column document --keyphrase_column extractive_keyphrases --source_prefix <present>10<header>5<category>5<seealso>2<infill>0<s> --num_beams 5 --generation_max_length 60
```
- Run kpg inference with OpenNMT-kpg (parameters are hard-coded)
```bash
CUDA_VISIBLE_DEVICES=0 python onmt/keyphrase/kpg_example_hfdatasets.py
```

## Update (Jan 2022)

Merged with OpenNMT v2 and integrated a new pre-processing pipeline. Now training/inference can directly load **JSON data** from disk, without any hassle of tokenization or conversion to tensor files.
Please check out Huggingface [repo](https://huggingface.co/datasets/memray/keyphrase/) for all resources.
~~- Paper datasets and DUC: KP20k/Inspec/Krapivin/NUS/SemEval2010/DUC2001.~~
~~- 4 large annotated datasets: KP20k, OpenKP, KPTimes+JPTimes, StackExchange.~~ 

Some config examples can be of help for you to kick off:
- [Configs](https://github.com/memray/OpenNMT-kpg-release/tree/master/script/transfer/train_fulldata) using RoBERTa subword tokenization. Vocab (including merges.txt/vocab.json/tokenizer.json) can be found [here](https://huggingface.co/memray/opennmt-kpg/blob/main/roberta-base-kp.zip).
- [Configs](https://github.com/memray/OpenNMT-kpg-release/tree/master/script/empirical_study/diverse) using word tokenization. Vocab (magkp20k.vocab.json, 50k most frequent words in KP20k and MagKP) can be found [here](https://huggingface.co/memray/opennmt-kpg/blob/main/magkp20k.vocab.json).

Please note that hf_vocab.tar.gz contains the vocab of subword tokenization (RoBERTa vocab with some new special tokens such as <SEP>), and [magkp20k.vocab.json](https://huggingface.co/memray/opennmt-kpg/blob/main/magkp20k.vocab.json) is for previous word tokenization based models (top 50k frequent words in magcs and kp20k).


## Quickstart

All the config files used for training and evaluation can be found in folder `config/`.
For more examples, you can refer to scripts placed in folder `script/`.


### Train a One2Seq model

```bash
python train.py -config config/transfer_kp/train/transformer-presabs-kp20k.yml
```

### Train a One2One model

```bash
python train.py -config config/transfer_kp/train/transformer-one2one-kp20k.yml
```

### Run generation and evaluation

```bash
# beam search (beamwidth=50)
python kp_gen_eval_transfer.py -config config/transfer_kp/infer/keyphrase-one2seq.yml -tasks pred eval -data_dir kp/data/kp/json/ -exp_root_dir kp/exps/transformer_exp_devbest/ -gpu 0 -batch_size 16 -beam_size 50 -max_length 40 -testsets kp20k openkp kptimes jptimes stackex kp20k_valid2k openkp_valid2k kptimes_valid2k jptimes_valid2k stackex_valid2k duc -splits test --data_format jsonl -gpu 0

# greedy decoding (beamwidth=1)
python kp_gen_eval_transfer.py -config config/transfer_kp/infer/keyphrase-one2seq.yml -tasks pred eval -data_dir kp/data/kp/json/ -exp_root_dir kp/exps/transformer_exp_devbest/ -gpu 0 -batch_size 16 -beam_size 1 -max_length 40 -testsets kp20k openkp kptimes jptimes stackex kp20k_valid2k openkp_valid2k kptimes_valid2k jptimes_valid2k stackex_valid2k duc -splits test --data_format jsonl -gpu 0
```

## Evaluation and Datasets
You may refer to `notebook/json_process.ipynb` to have a glance at the pre-processing.

We follow the data pre-processing and evaluation protocols in [Meng et al. 2017](https://arxiv.org/pdf/1704.06879.pdf). We pre-process both document texts and ground-truth keyphrases, including word segmentation, lowercasing and replacing all digits with symbol \<digit\>.

We manually clean the data examples in the valid/test set of KP20k (clean noisy text, replace erroneous keyphrases with actual author keyphrases, remove examples without any ground-truth keyphrases) and use scripts to remove invalid training examples (without any author keyphrase).

We evaluate models' performance on predicting present and absent phrases separately. Specifically, we first tokenize, lowercase and stem (using the Porter Stemmer of [NLTK](https://www.nltk.org/api/nltk.stem.html\#module-nltk.stem.porter)) the text, then we determine the presence of each ground-truth keyphrase by checking whether its words can be found verbatim in the source text.

To evaluate present phrase performance, we compute Precision/Recall/F1-score for each document taking only present ground-truth keyphrases as target and ignore the absent ones. We report the macro-averaged scores over documents that have at least one present ground-truth phrases (corresponding to the column \#PreDoc in the Table below, and similarly to the case of absent phrase evaluation.


![metrics](images/metric_formula.gif "metrics")

where #(pred) and #(target) are the number of predicted and ground-truth keyphrases respectively; and #(correct@k) is the number of correct predictions among the first k results.


We clarify that, since our study mainly focuses on keyword/keyphrase extraction/generation on short text, we only used the abstract of Semeval and NUS as source text. Therefore statistics like #PreKP may be different from the ones computed with fulltext, which also affect the final F1-scores. For the ease of reproduction, we post the detailed statistics in the following table and processed testsets with present/absent phrases split can be found in the released data (e.g. `data/json/kp20k/kp20k_test_meng17token.json`).


| **Dataset** | **#Train** | **#Valid** | **#Test** | **#KP** | **#PreDoc** | **#PreKP** | **#AbsDoc** | **#AbsKP** |
| :---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: 
| **KP20k** | 514k | 19,992 | 19,987 | 105,181 | 19,048 | 66,595 | 16,357 | 38,586|
| **Inspec** | -- | 1,500 | 500| 4,913 | 497 | 3,858 | 381 | 1,055 |
| **Krapivin** | -- | 1,844 | 460 | 2,641 | 437 | 1,485 | 417 | 1,156 |
| **NUS** | -- | - | 211 | 2,461 | 207 | 1,263 | 195 | 1,198 |
| **Semeval** | -- | 144 | 100 | 1,507 | 100 | 671 | 99 | 836|
| **StackEx** | 298k | 16,000 | 16,000 | 43,131 | 13,475 | 24,809 | 10,984 | 18,322 |
| **DUC** | -- | -- | 308 | 2,484 | 308 | 2,421 | 38 | 63 |




## Contributers
Major contributors are:
- [Rui Meng](https://github.com/memray/) (Salesforce Research, previously at University of Pittsburgh)
- [Eric Yuan](https://github.com/xingdi-eric-yuan) (Microsoft Research, Montréal)
- [Tong Wang](https://github.com/wangtong106) (Microsoft Research, Montréal)
- [Khushboo Thaker](https://github.com/khushsi) (University of Pittsburgh)


## Citation

Please cite the following papers if you are interested in using our code and datasets.
```
@article{meng2022general2specific,
  title={General-to-Specific Transfer Labeling for Domain Adaptable Keyphrase Generation},
  author={Meng, Rui and Wang, Tong and Yuan, Xingdi and Zhou, Yingbo and He, Daqing},
  journal={arXiv preprint arXiv:2208.09606},
  year={2022}
}
```
```
@inproceedings{meng2021empirical,
  title={An Empirical Study on Neural Keyphrase Generation},
  author={Meng, Rui and Yuan, Xingdi and Wang, Tong and Zhao, Sanqiang and Trischler, Adam and He, Daqing},
  booktitle={Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies},
  pages={4985--5007},
  year={2021}
}
```
```
@article{yuan2018onesizenotfit,
  title={One Size Does Not Fit All: Generating and Evaluating Variable Number of Keyphrases},
  author={Yuan, Xingdi and Wang, Tong and Meng, Rui and Thaker, Khushboo and He, Daqing and Trischler, Adam},
  booktitle={Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics},
  url={https://arxiv.org/pdf/1810.05241.pdf},
  year={2020}
}
```
```
@article{meng2019ordermatters,
  title={Does Order Matter? An Empirical Study on Generating Multiple Keyphrases as a Sequence},
  author={Meng, Rui and Yuan, Xingdi and Wang, Tong and Brusilovsky, Peter and Trischler, Adam and He, Daqing},
  journal={arXiv preprint arXiv:1909.03590},
  url={https://arxiv.org/pdf/1909.03590.pdf},
  year={2019}
}
```
```
@inproceedings{meng2017kpgen,
  title={Deep keyphrase generation},
  author={Meng, Rui and Zhao, Sanqiang and Han, Shuguang and He, Daqing and Brusilovsky, Peter and Chi, Yu},
  booktitle={Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)},
  pages={582--592},
  url={https://arxiv.org/pdf/1704.06879.pdf},
  year={2017}
}
```


================================================
FILE: available_models/example.conf.json
================================================
{
    "models_root": "./available_models",
    "models": [
        {
            "id": 100,
            "model": "model_0.pt",
            "timeout": 600,
            "on_timeout": "to_cpu",
            "load": true,
            "opt": {
                "gpu": 0,
                "beam_size": 5
            },
            "tokenizer": {
                "type": "sentencepiece",
                "model": "wmtenfr.model"
            }
        },{
            "model": "model_0.light.pt",
            "timeout": -1,
            "on_timeout": "unload",
            "model_root": "../other_models",
            "opt": {
                "batch_size": 1,
                "beam_size": 10
            }
        }
    ]
}


================================================
FILE: build_vocab.py
================================================
#!/usr/bin/env python
from onmt.bin.build_vocab import main


if __name__ == "__main__":
    main()


================================================
FILE: config/diversity/keyphrase-one2one-diversity.yml
================================================
# Translation / inference options
#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt
cache_dir: /zfs1/hdaqing/rum20/kp/data/kp/cache/

model_type: keyphrase
data_type: keyphrase
data:
    valid:
        path_src: none
        path_tgt: none
        path_align: none
        type: keyphrase
        transforms: [keyphrase, onmt_tokenize]
        weight: 1

### Transform related opts:
#### Keyphrase specific
kp_concat_type: one2one
beam_terminate: full
use_given_inputs: false

#### Subword and vocab
share_vocab: True
#### Word and vocab
src_vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.json
src_vocab_size: 50000
lowercase: True
return_tokens: True
keep_punctuations: True
add_src_boseos: False

# Data options
#model_dtype: fp16
src_seq_length_trunc: 512
tgt_seq_length_trunc: 128

# Evaluation options
report_time: 'true'

# Options most relevant to summarization.
#dynamic_dict: 'true'

# Beam search
#beam_size: 8
min_length: 1
#max_length: 32

# Alpha and Beta values for Google Length + Coverage penalty
stepwise_penalty: 'false'

# Logging
verbose: 'false'
#log_file: output/pred/kp20k/kp20k.one2one_step_40000.pred.log
log_file_level: 'DEBUG'
n_best: 500

# Decoding
random_sampling_temp: 0.0

# Efficiency
#gpu: 0
gpu: -1

seed: 97
#beam_terminate: full/topbeam

================================================
FILE: config/diversity/keyphrase-one2seq-diversity.yml
================================================
# Translation / inference options
#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt
cache_dir: /zfs1/hdaqing/rum20/kp/data/kp/cache/

model_type: keyphrase
data_type: keyphrase
data:
    valid:
        path_src: none
        path_tgt: none
        path_align: none
        type: keyphrase
        transforms: [keyphrase, onmt_tokenize]
        weight: 1

### Transform related opts:
#### Keyphrase specific
kp_concat_type: pres_abs
use_given_inputs: false

beam_terminate: full
#### Subword and vocab
share_vocab: True
#### Word and vocab
src_vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.json
src_vocab_size: 50000
lowercase: True
return_tokens: True
keep_punctuations: True
add_src_boseos: False

# Data options
#model_dtype: fp16
src_seq_length_trunc: 512
tgt_seq_length_trunc: 128

# Evaluation options
report_time: 'true'

# Options most relevant to summarization.
#dynamic_dict: 'true'

# Beam search
#beam_size: 8
min_length: 1
#max_length: 32

# Alpha and Beta values for Google Length + Coverage penalty
stepwise_penalty: 'false'

# Logging
verbose: 'false'
#log_file: output/pred/kp20k/kp20k.one2one_step_40000.pred.log
log_file_level: 'DEBUG'
n_best: 500

# Decoding
random_sampling_temp: 0.0

# Efficiency
#gpu: 0
gpu: -1

seed: 97
#beam_terminate: full/topbeam

================================================
FILE: config/empirical/preprocess/config-preprocess-keyphrase-kp20k.yml
================================================
data_type: keyphrase

train_src: data/keyphrase/meng17/kp20k/kp20k_train.src
train_tgt: data/keyphrase/meng17/kp20k/kp20k_train.tgt
valid_src: data/keyphrase/meng17/kp20k/kp20k_valid.src
valid_tgt: data/keyphrase/meng17/kp20k/kp20k_valid.tgt

save_data: data/keyphrase/meng17/kp20k_pt_shard10k/
shard_size: 10000
dynamic_dict: 'true'
share_vocab: 'true'

src_vocab: data/keyphrase/meng17/magkp20k.vocab.pt # use the pre-generated vocab
src_seq_length_trunc: 512
tgt_seq_length_trunc: 8
lower: 'true'
filter_valid: 'false'

report_every: 1000
log_file: data/keyphrase/meng17/preprocess.kp20k_shard10k.log



================================================
FILE: config/empirical/preprocess/config-preprocess-keyphrase-magkp.yml
================================================
data_type: keyphrase

train_src: data/keyphrase/meng17/magkp/magkp_train.src
train_tgt: data/keyphrase/meng17/magkp/magkp_train.tgt
valid_src: data/keyphrase/meng17/kp20k/kp20k_valid.src
valid_tgt: data/keyphrase/meng17/kp20k/kp20k_valid.tgt

save_data: data/keyphrase/meng17/magkp_pt_shard10k/
shard_size: 10000
dynamic_dict: 'true'
share_vocab: 'true'

src_vocab: data/keyphrase/meng17/magkp20k.vocab.pt # use the pre-generated vocab
src_seq_length_trunc: 512
tgt_seq_length_trunc: 8
lower: 'true'
filter_valid: 'false'

report_every: 1000
log_file: data/keyphrase/meng17/preprocess.magkp_shard10k.log



================================================
FILE: config/empirical/preprocess/config-preprocess-keyphrase-magkp_subset.yml
================================================
data_type: keyphrase

train_src: data/keyphrase/meng17/magkp_Nsmall/magkp_Nsmall_train.src
train_tgt: data/keyphrase/meng17/magkp_Nsmall/magkp_Nsmall_train.tgt
valid_src: data/keyphrase/meng17/kp20k/kp20k_valid.src
valid_tgt: data/keyphrase/meng17/kp20k/kp20k_valid.tgt

save_data: data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
shard_size: 10000
dynamic_dict: 'true'
share_vocab: 'true'

src_vocab: data/keyphrase/meng17/magkp20k.vocab.pt # use the pre-generated vocab
src_seq_length_trunc: 512
tgt_seq_length_trunc: 8
lower: 'true'
filter_valid: 'false'

report_every: 1000
log_file: data/keyphrase/meng17/preprocess.magkp_Nsmall_shard10k.log



================================================
FILE: config/empirical/preprocess/config-preprocess-keyphrase-small.yml
================================================
data_type: keyphrase

train_src: data/keyphrase/meng17/kp20k_small/kp20k_small_train.src
train_tgt: data/keyphrase/meng17/kp20k_small/kp20k_small_train.tgt
valid_src: data/keyphrase/meng17/kp20k_small/kp20k_small_valid.src
valid_tgt: data/keyphrase/meng17/kp20k_small/kp20k_small_valid.tgt

save_data: data/keyphrase/meng17/kp20k_small
shard_size: 100000
dynamic_dict: 'true'
share_vocab: 'true'

src_seq_length_trunc: 300
tgt_seq_length_trunc: 8
lower: 'true'
filter_valid: 'false'

report_every: 1000
log_file: data/keyphrase/kp20k/preprocess.small.log


================================================
FILE: config/empirical/preprocess/config-preprocess-keyphrase-stackexchange.yml
================================================
data_type: keyphrase

train_src: data/keyphrase/meng17/stackexchange/stackexchange_train.src
train_tgt: data/keyphrase/meng17/stackexchange/stackexchange_train.tgt
valid_src: data/keyphrase/meng17/stackexchange/stackexchange_valid.src
valid_tgt: data/keyphrase/meng17/stackexchange/stackexchange_valid.tgt

save_data: data/keyphrase/meng17/stackexchange
shard_size: 100000
dynamic_dict: 'true'
share_vocab: 'true'

src_seq_length_trunc: 500
tgt_seq_length_trunc: 8
lower: 'true'
filter_valid: 'false'

report_every: 1000
log_file: data/keyphrase/meng17/preprocess.stackexchange.log


================================================
FILE: config/empirical/preprocess/config-preprocess-mt_demo.yml
================================================
data_type: text
train_src: data/mt/demo/src-train.txt
train_tgt: data/mt/demo/tgt-train.txt
valid_src: data/mt/demo/src-val.txt
valid_tgt: data/mt/demo/tgt-val.txt

save_data: data/mt/demo/demo
shard_size: 1000
dynamic_dict: 'true'
share_vocab: 'true'

src_seq_length: 10000
tgt_seq_length: 10000
src_seq_length_trunc: 400
tgt_seq_length_trunc: 100
lower: 'true'

report_every: 1000
log_file: data/mt/demo/preprocess.log


================================================
FILE: config/empirical/preprocess/config-preprocess-summarization.yml
================================================
data_type: text
train_src: data/summarization/cnndm/train.txt.src
train_tgt: data/summarization/cnndm/train.txt.tgt.tagged
valid_src: data/summarization/cnndm/val.txt.src
valid_tgt: data/summarization/cnndm/val.txt.tgt.tagged

save_data: data/summarization/cnndm/cnndm
shard_size: 100000
dynamic_dict: 'true'
share_vocab: 'true'

src_seq_length: 10000
tgt_seq_length: 10000
src_seq_length_trunc: 400
tgt_seq_length_trunc: 100
lower: 'true'

report_every: 1000
log_file: data/summarization/cnndm/preprocess.log


================================================
FILE: config/empirical/test/config-test-keyphrase-one2one.yml
================================================
# Translation / inference options
#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt

# Data options
data_type: keyphrase
#src: data/keyphrase/kp20k/kp20k_test_small.meng17.lower.src
#tgt: data/keyphrase/kp20k/kp20k_test_small.meng17.lower.tgt
shard_size: 0
#output: output/pred/kp20k/kp20k.one2one_step_40000.pred

# Evaluation options
report_bleu: 'false'
report_rouge: 'false'
report_kpeval: 'false'
report_time: 'true'

# Options most relevant to summarization.
#dynamic_dict: 'true'
share_vocab: 'true'

# Beam search
#beam_size: 32
#beam_size: 200
min_length: 1
#max_length: 6

# Alpha and Beta values for Google Length + Coverage penalty
stepwise_penalty: 'false'

# Logging
verbose: 'false'
#log_file: output/pred/kp20k/kp20k.one2one_step_40000.pred.log
log_file_level: 'DEBUG'
n_best: 500

# Efficiency
#batch_size: 16
#gpu: 0
gpu: -1

tgt_type: multiple

================================================
FILE: config/empirical/test/config-test-keyphrase-one2seq.yml
================================================
# Translation / inference options
#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt

# Data options
data_type: keyphrase
#src: data/keyphrase/kp20k/kp20k_test_small.meng17.lower.src
#tgt: data/keyphrase/kp20k/kp20k_test_small.meng17.lower.tgt
shard_size: 0
#output: output/pred/kp20k/kp20k.one2one_step_40000.pred

# Evaluation options
report_bleu: 'false'
report_rouge: 'false'
report_kpeval: 'false'
report_time: 'true'

# Options most relevant to summarization.
#dynamic_dict: 'true'
share_vocab: 'true'

# Beam search
#beam_size: 8
min_length: 1
#max_length: 32

# Alpha and Beta values for Google Length + Coverage penalty
stepwise_penalty: 'false'

# Logging
verbose: 'false'
#log_file: output/pred/kp20k/kp20k.one2one_step_40000.pred.log
log_file_level: 'DEBUG'
n_best: 500

# Efficiency
#batch_size: 32
#gpu: 0
gpu: -1

tgt_type: multiple
#beam_terminate: full/topbeam

================================================
FILE: config/empirical/train/jsonl/config-rnn-keyphrase.yml
================================================
data_type: keyphrase
tgt_type: random

exp: kp20k-one2seq-birnn-GRU150-EMB100-diverse-local
exp_dir: output/meng17-one2seq-debug/kp20k-one2seq-birnn-GRU150-EMB100-diverse-local
wandb_project: kp20k-meng17-one2seq
wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'

#data_format: jsonl
#data: data/keyphrase/jsonl_tokenized/kp20k/
data_format: pt
vocab: data/keyphrase/meng17/kp20k.vocab.pt
data: data/keyphrase/meng17/kp20k
#save_checkpoint_steps: 10000
#keep_checkpoint: 20
seed: 3435
#train_steps: 100000
#valid_steps: 20000
report_every: 10

encoder_type: brnn
rnn_type: GRU
#word_vec_size: 100
#rnn_size: 150
#layers: 1

optim: adam
#learning_rate: 0.002
adagrad_accumulator_init: 0.1
max_grad_norm: 1

#batch_size: 128
#valid_batch_size: 128
#dropout: 0.0
batch_type: sents
normalization: sents

global_attention: mlp
#copy_attn: 'true'
#reuse_copy_attn: 'true'
#bridge: 'true'
tensorboard: 'false'
log_file_level: DEBUG

world_size: 1
gpu_ranks:
#[]
- 0
#- 1
#master_port: 5000


================================================
FILE: config/empirical/train/pt/1st/config-rnn-keyphrase-magkp.yml
================================================
model_type: keyphrase

data: data/keyphrase/magkp/magkp_train.one2many
save_model: models/magkp/magkp.one2one.birnn
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 200000
valid_steps: 10000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 128
rnn_size: 512
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 256
valid_batch_size: 128
dropout: 0.0

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'true'
copy_loss_by_seqlength: 'true'
bridge: 'true'

log_file: output/magkp.one2one.birnn.log
log_file_level: DEBUG
exp: magkp-one2one-birnn-GRU512-EMB128-ATTNmlp-Dropout0.0
tensorboard: 'true'
tensorboard_log_dir: runs/magkp.one2one.birnn/

world_size: 2
gpu_ranks:
- 0
- 1
master_port: 5001

================================================
FILE: config/empirical/train/pt/1st/config-rnn-keyphrase-one2one-stackexchange.yml
================================================
model_type: keyphrase
tgt_type: one2one


data: data/keyphrase/meng17/stackexchange
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 100000
valid_steps: 20000
report_every: 1

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.05
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 8
valid_batch_size: 128
dropout: 0.0

global_attention: mlp
copy_attn: 'true'
reuse_copy_attn: 'true'
bridge: 'true'
tensorboard: 'true'
log_file_level: DEBUG

# new added on April 17, 2019
context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
position_encoding: 'true'
copy_loss_by_seqlength: 'false'

exp: kp20k-one2one-birnn-GRU150-EMB100-ATTNmlp-local
save_model: models/keyphrase/meng17/kp20k.one2one.birnn.local
log_file: output/keyphrase/meng17/kp20k.one2one.birnn.local.log
tensorboard_log_dir: runs/keyphrase/meng17/kp20k.one2one.birnn.local/

world_size: 1
gpu_ranks: []
#- 0
#- 1
#master_port: 5000

================================================
FILE: config/empirical/train/pt/1st/config-rnn-keyphrase-one2seq-diverse.yml
================================================
model_type: keyphrase
tgt_type: verbatim_append

data: data/keyphrase/meng17/kp20k
# data: data/keyphrase/meng17/kp20k_small
#data: data/keyphrase/meng17/stackexchange
save_checkpoint_steps: 5000
keep_checkpoint: 10000
seed: 3435
train_steps: 100000
valid_steps: 200000 # no validation
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adam
learning_rate: 1e-3
max_grad_norm: 2

batch_size: 64
valid_batch_size: 128
dropout: 0.1

global_attention: mlp

tensorboard: 'true'
log_file_level: DEBUG

copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'

context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
bridge: 'true'

orth_reg: 'true'
lambda_orth_reg: 0.1
sem_cov: 'true'
lambda_sem_cov: 0.1

tgt_enc: 'rnn'
detach_tgt_enc: 'true'
num_negsample: 16
use_ending_state: 'true'

exp: kp20k-one2seq-birnn-GRU150-EMB100-ATTNmlp-Dropout00
save_model: models/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00
log_file: output/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00.log
tensorboard_log_dir: runs/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00/

world_size: 1
gpu_ranks: []
#- 0
#- 1
master_port: 5000

================================================
FILE: config/empirical/train/pt/1st/config-rnn-keyphrase-one2seq.yml
================================================
model_type: keyphrase
tgt_type: random

data: data/keyphrase/meng17/kp20k
#data: data/keyphrase/meng17/kp20k_small
#data: data/keyphrase/meng17/stackexchange
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 200000
valid_steps: 20000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 8
valid_batch_size: 128
dropout: 0.0

global_attention: mlp

tensorboard: 'true'
log_file_level: DEBUG

copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
position_encoding: 'true'

context_gate: 'both'
input_feed: 1
copy_loss_by_seqlength: 'false'
share_embeddings: 'true'
bridge: 'true'

exp: kp20k-one2seq-birnn-GRU150-EMB100-ATTNmlp-Dropout00
save_model: models/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00
log_file: output/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00.log
tensorboard_log_dir: runs/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00/

world_size: 1
gpu_ranks: []
#- 0
#- 1
master_port: 5000

================================================
FILE: config/empirical/train/pt/1st/config-rnn-keyphrase.drop00.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/kp20k
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 100000
valid_steps: 20000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 128
valid_batch_size: 128
dropout: 0.0

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'true'
bridge: 'true'
tensorboard: 'true'
log_file_level: DEBUG

# new added on April 17, 2019
context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
position_encoding: 'true'
copy_loss_by_seqlength: 'false'

exp: kp20k-one2one-birnn-GRU512-EMB128-ATTNmlp-Dropout00
save_model: models/keyphrase/meng17/kp20k.one2one.birnn.Dropout00
log_file: output/keyphrase/meng17/kp20k.one2one.birnn.Dropout00.log
tensorboard_log_dir: runs/keyphrase/meng17/kp20k.one2one.birnn.Dropout00/

world_size: 1
gpu_ranks:
- 0
#- 1
master_port: 5000

================================================
FILE: config/empirical/train/pt/1st/config-rnn-keyphrase.drop05.coverage.noreuse.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/kp20k
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 100000
valid_steps: 20000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 128
valid_batch_size: 128
dropout: 0.5

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'false'
bridge: 'true'
coverage_attn: 'true'
tensorboard: 'true'
log_file_level: DEBUG

# new added on April 17, 2019
context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
position_encoding: 'true'
copy_loss_by_seqlength: 'false'

save_model: models/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT.NoReuse
exp: kp20k-one2one-birnn-GRU512-EMB128-ATTNmlp-Dropout05-CovATT-NoReuse
log_file: output/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT.NoReuse.log
tensorboard_log_dir: runs/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT.NoReuse/

world_size: 1
gpu_ranks:
- 0
#- 1
master_port: 5003

================================================
FILE: config/empirical/train/pt/1st/config-rnn-keyphrase.drop05.coverage.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/kp20k
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 100000
valid_steps: 20000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 128
valid_batch_size: 128
dropout: 0.5

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'true'
bridge: 'true'
coverage_attn: 'true'
tensorboard: 'true'
log_file_level: DEBUG

# new added on April 17, 2019
context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
position_encoding: 'true'
copy_loss_by_seqlength: 'false'


save_model: models/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT
log_file: output/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT.log
exp: kp20k-one2one-birnn-GRU512-EMB128-ATTNmlp-Dropout05-CovATT
tensorboard_log_dir: runs/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT/

world_size: 1
gpu_ranks:
- 0
#- 1
master_port: 5002

================================================
FILE: config/empirical/train/pt/1st/config-rnn-keyphrase.drop05.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/kp20k
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 100000
valid_steps: 20000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 128
valid_batch_size: 128
dropout: 0.5

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'true'
bridge: 'true'
tensorboard: 'true'
log_file_level: DEBUG

# new added on April 17, 2019
context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
position_encoding: 'true'
copy_loss_by_seqlength: 'false'

save_model: models/keyphrase/meng17/kp20k.one2one.birnn.Dropout05
log_file: output/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.log
exp: kp20k-one2one-birnn-GRU512-EMB128-ATTNmlp-Dropout05
tensorboard_log_dir: runs/keyphrase/meng17/kp20k.one2one.birnn.Dropout05/

world_size: 1
gpu_ranks:
- 0
#- 1
master_port: 5001

================================================
FILE: config/empirical/train/pt/1st/config-rnn-summarization.yml
================================================
data: data/summarization/cnndm/cnndm
save_model: models/cnndm
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435
train_steps: 100000
valid_steps: 10000
report_every: 100

encoder_type: brnn
word_vec_size: 128
rnn_size: 512
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 16
valid_batch_size: 16
dropout: 0.0

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'true'
copy_loss_by_seqlength: 'true'
bridge: 'true'

world_size: 2
gpu_ranks:
- 0
- 1


================================================
FILE: config/empirical/train/pt/1st/config-transformer-base-1GPU.yml
================================================
data: exp/dataset.de-en
save_model: exp/model.de-en
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435
train_steps: 500000
valid_steps: 10000
warmup_steps: 8000
report_every: 100

decoder_type: transformer
encoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
transformer_ff: 2048
heads: 8

accum_count: 8
optim: adam
adam_beta1: 0.9
adam_beta2: 0.998
decay_method: noam
learning_rate: 2.0
max_grad_norm: 0.0

batch_size: 4096
batch_type: tokens
normalization: tokens
dropout: 0.1
label_smoothing: 0.1

max_generator_batches: 2

param_init: 0.0
param_init_glorot: 'true'
position_encoding: 'true'

world_size: 1
gpu_ranks:
- 0



================================================
FILE: config/empirical/train/pt/1st/config-transformer-base-4GPU.yml
================================================
data: exp/dataset.de-en
save_model: exp/model.de-en
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435
train_steps: 200000
valid_steps: 10000
warmup_steps: 8000
report_every: 100

decoder_type: transformer
encoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
transformer_ff: 2048
heads: 8

accum_count: 2
optim: adam
adam_beta1: 0.9
adam_beta2: 0.998
decay_method: noam
learning_rate: 2.0
max_grad_norm: 0.0

batch_size: 4096
batch_type: tokens
normalization: tokens
dropout: 0.1
label_smoothing: 0.1

max_generator_batches: 2

param_init: 0.0
param_init_glorot: 'true'
position_encoding: 'true'

world_size: 4
gpu_ranks:
- 0
- 1
- 2
- 3



================================================
FILE: config/empirical/train/pt/1st/config-transformer-keyphrase-local.yml
================================================
model_type: keyphrase
#tgt_type: one2one
tgt_type: no_sort

#data: data/keyphrase/kp20k/kp20k.one2one
data: data/keyphrase/kp20k/kp20k.one2many.small.meng17
save_model: models/kp20k/kp20k.one2one.transformer
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 2
accum_count: 4

#batch_size: 4096
batch_size: 1000
#batch_size: 24576
valid_batch_size: 20

train_steps: 200000
valid_steps: 10
report_every: 10

dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'

log_file: output/kp20k/kp20k.one2one.transformer.log
log_file_level: DEBUG
exp: keyphrase-one2one-transformer-Layer4-Dim512-Emb512--Dropout0.2
tensorboard: 'true'
tensorboard_log_dir: runs/kp20k.one2one.transformer/

world_size: 1
gpu_ranks: []
master_port: 10000

================================================
FILE: config/empirical/train/pt/1st/config-transformer-keyphrase-magkp.yml
================================================
model_type: keyphrase

data: data/keyphrase/magkp/magkp_train.one2many
save_model: models/magkp/magkp.one2one.transformer
save_checkpoint_steps: 10000
keep_checkpoint: 40
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 2
accum_count: 4

# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
#batch_size: 8192
#batch_size: 24576
valid_batch_size: 256

train_steps: 400000
valid_steps: 10000
report_every: 100

dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'

log_file: output/magkp.one2one.transformer.log
log_file_level: DEBUG
exp: magkp-one2one-transformer-Layer4-Dim512-Emb512--Dropout0.2
tensorboard: 'true'
tensorboard_log_dir: runs/magkp.one2one.transformer/

world_size: 2
gpu_ranks:
- 0
- 1
#- 2
master_port: 10001

================================================
FILE: config/empirical/train/pt/1st/config-transformer-keyphrase-test.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/magkp
save_checkpoint_steps: 10000
keep_checkpoint: 40
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 2
accum_count: 4

# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
#batch_size: 8192
#batch_size: 24576
valid_batch_size: 256

train_steps: 300000
valid_steps: 10000
report_every: 100

#dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'
log_file_level: DEBUG
tensorboard: 'true'

exp: kp20k-one2one-transformer-Layer4-Dim512-Emb512-Dropout0.2
save_model: models/kp20k/kp20k.one2one.transformer
log_file: output/kp20k.one2one.transformer.log
tensorboard_log_dir: runs/kp20k.one2one.transformer/

world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
master_port: 10000

================================================
FILE: config/empirical/train/pt/1st/config-transformer-keyphrase.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/kp20k
save_checkpoint_steps: 10000
keep_checkpoint: 40
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 2
accum_count: 4

# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
#batch_size: 8192
#batch_size: 24576
valid_batch_size: 256

train_steps: 300000
valid_steps: 10000
report_every: 100

#dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'
log_file_level: DEBUG
tensorboard: 'true'

exp: kp20k-one2one-transformer-Layer4-Dim512-Emb512-Dropout0.2
save_model: models/kp20k/kp20k.one2one.transformer
log_file: output/kp20k.one2one.transformer.log
tensorboard_log_dir: runs/kp20k.one2one.transformer/

world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/1st/config-transformer-summarization-local.yml
================================================
data: data/summarization/cnndm/cnndm
save_model: models/cnndm
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

#batch_size: 4096
batch_size: 256
batch_type: tokens
normalization: tokens
max_generator_batches: 2
valid_batch_size: 16
accum_count: 4

train_steps: 200000
valid_steps: 10000
report_every: 100

dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'

world_size: 1
gpu_ranks: []


================================================
FILE: config/empirical/train/pt/1st/config-transformer-summarization.yml
================================================
data: data/summarization/cnndm/cnndm
save_model: models/cnndm
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

#batch_size: 4096
batch_size: 256
batch_type: tokens
normalization: tokens
max_generator_batches: 2
valid_batch_size: 16
accum_count: 4

train_steps: 200000
valid_steps: 10000
report_every: 100

dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'

world_size: 2
gpu_ranks:
- 0
- 1


================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2one-transformer-copycovfalse-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-one2one-transformer-L6H8-Copyfalse-Covfalse
exp_dir: output/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-kp20k-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copyfalse-Covfalse
save_model: models/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-kp20k-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copyfalse-Covfalse
log_file: output/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-kp20k-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copyfalse-Covfalse/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: one2one

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'false'
reuse_copy_attn: 'false'
coverage_attn: 'false'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2one-transformer-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-one2one-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-kp20k-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-kp20k-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-kp20k-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: one2one

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2one-transformer-magkp+kp20kFT.yml
================================================
exp: kpgen-meng17-magkp_kp20k_finetune-one2one-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-magkp-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-magkp-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-magkp-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: one2one

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2one-transformer-magkp.yml
================================================
exp: kpgen-meng17-magkp-one2one-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-magkp-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-magkp-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-magkp-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: one2one

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2one-transformer-magkp20k.yml
================================================
exp: kpgen-meng17-magkp20k-one2one-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-magkp20k-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-magkp20k-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2one/meng17-one2one-kp20k-v3/kpgen-meng17-magkp20k-one2one-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: one2one

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-alphabetical-transformer-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-alphabetical-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-alphabetical-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-alphabetical-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-alphabetical-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: alphabetical 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-alphabetical_reverse-rnn-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-alphabetical_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-alphabetical_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-alphabetical_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-alphabetical_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: alphabetical_reverse

data: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard100k/
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1
dropout: 0.0

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'false'
global_attention: mlp

optim: adagrad
learning_rate: 0.05
adagrad_accumulator_init: 0.1
max_grad_norm: 2.0

batch_size: 64
valid_batch_size: 64

batch_type: sents
normalization: sents

train_steps: 100000
valid_steps: 1000000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.rnn/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-alphabetical_reverse-transformer-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-alphabetical_reverse-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-alphabetical_reverse-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-alphabetical_reverse-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-alphabetical_reverse-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: alphabetical_reverse

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-length-transformer-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-length-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-length-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-length-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-length-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: length 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-length_reverse-rnn-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-length_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-length_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-length_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-length_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: length_reverse

data: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard100k/
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1
dropout: 0.0

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'false'
global_attention: mlp

optim: adagrad
learning_rate: 0.05
adagrad_accumulator_init: 0.1
max_grad_norm: 2.0

batch_size: 64
valid_batch_size: 64

batch_type: sents
normalization: sents

train_steps: 100000
valid_steps: 1000000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.rnn/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-length_reverse-transformer-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-length_reverse-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-length_reverse-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-length_reverse-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-length_reverse-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: length_reverse 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-no_sort-transformer-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-no_sort-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-no_sort-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-no_sort-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-no_sort-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: no_sort 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0

# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-no_sort_reverse-rnn-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-no_sort_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-no_sort_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-no_sort_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-no_sort_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: no_sort_reverse

data: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard100k/
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1
dropout: 0.0

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'false'
global_attention: mlp

optim: adagrad
learning_rate: 0.05
adagrad_accumulator_init: 0.1
max_grad_norm: 2.0

batch_size: 64
valid_batch_size: 64

batch_type: sents
normalization: sents

train_steps: 100000
valid_steps: 1000000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.rnn/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-no_sort_reverse-transformer-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-no_sort_reverse-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-no_sort_reverse-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-no_sort_reverse-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-no_sort_reverse-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: no_sort_reverse 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-random-transformer-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-random-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-random-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-random-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-random-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: random 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_LN+kp20kFT.yml
================================================
exp: kpgen-meng17-MagKP_LN+kp20kFT-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_LN+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_LN+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_LN+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

train_from: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_LN-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue_step_300000.pt

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 1e-4
reset_optim: 'all'
param_init: 0
warmup_steps: 10000
decay_method: linear
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 1.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 100000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_LN.yml
================================================
exp: kpgen-meng17-MagKP_LN-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_LN-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_LN-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_LN-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
#   - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
#   - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge+kp20kFT.yml
================================================
exp: kpgen-meng17-MagKP_Nlarge+kp20kFT-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nlarge+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nlarge+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nlarge+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

train_from: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nlarge-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue_step_300000.pt

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 1e-4
reset_optim: 'all'
param_init: 0
warmup_steps: 10000
decay_method: linear
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 1.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 100000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge.yml
================================================
exp: kpgen-meng17-MagKP_Nlarge-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nlarge-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nlarge-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nlarge-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
#   - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
#   - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall+kp20kFT.yml
================================================
exp: kpgen-meng17-MagKP_Nsmall+kp20kFT-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nsmall+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nsmall+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nsmall+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

train_from: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nsmall-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue_step_300000.pt

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 1e-4
reset_optim: 'all'
param_init: 0
warmup_steps: 10000
decay_method: linear
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 1.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 100000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall.yml
================================================
exp: kpgen-meng17-MagKP_Nsmall-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nsmall-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nsmall-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-MagKP_Nsmall-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
#   - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-copycovfalse-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-verbatim_append-transformer-L6H8-Copyfalse-Covfalse
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copyfalse-Covfalse
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copyfalse-Covfalse
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copyfalse-Covfalse/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'false'
reuse_copy_attn: 'false'
coverage_attn: 'false'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-copycovfalse-magkp20k.yml
================================================
exp: kpgen-meng17-magkp20k-verbatim_append-transformer-L6H8-Copyfalse-Covfalse
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copyfalse-Covfalse
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copyfalse-Covfalse
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copyfalse-Covfalse/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'false'
reuse_copy_attn: 'false'
coverage_attn: 'false'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_LN.yml
================================================
exp: kpgen-meng17-kp20k+MagKP_LN-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k+MagKP_LN-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k+MagKP_LN-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k+MagKP_LN-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nlarge.yml
================================================
exp: kpgen-meng17-kp20k+MagKP_Nlarge-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k+MagKP_Nlarge-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k+MagKP_Nlarge-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k+MagKP_Nlarge-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
#   - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
#   - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/

data_weights:
  - 1
  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nsmall.yml
================================================
exp: kpgen-meng17-kp20k+MagKP_Nsmall-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k+MagKP_Nsmall-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k+MagKP_Nsmall-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k+MagKP_Nsmall-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-magkp+kp20kFT.yml
================================================
exp: kpgen-meng17-magkp+kp20kFT-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

train_from: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue_step_300000.pt

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 1e-4
reset_optim: 'all'
param_init: 0
warmup_steps: 10000
decay_method: linear
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 1.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 100000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-magkp.yml
================================================
exp: kpgen-meng17-magkp-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-magkp20k+kp20kFT.yml
================================================
exp: kpgen-meng17-magkp20k+kp20kFT-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp20k+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp20k+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp20k+kp20kFT-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

train_from: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue_step_300000.pt

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 1e-4
reset_optim: 'all'
param_init: 0
warmup_steps: 10000
decay_method: linear
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 1.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 100000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-magkp20k.yml
================================================
exp: kpgen-meng17-magkp20k-verbatim_append-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-magkp20k-verbatim_append-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_append 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_prepend-transformer-kp20k.yml
================================================
exp: kpgen-meng17-kp20k-verbatim_prepend-transformer-L6H8-Copytrue-Covtrue
exp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-verbatim_prepend-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
save_model: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-verbatim_prepend-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue
log_file: output/keyphrase/meng17-one2seq/meng17-one2seq-kp20k-v3/kpgen-meng17-kp20k-verbatim_prepend-transformer-L6H8-BS4096-LR0.05-L6-H8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue/log.txt
wandb_project: kp20k-meng17-one2one

model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: verbatim_prepend 

multi_dataset: true
shuffle_shards: true
data: none
vocab: /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp20k.vocab.pt
data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/
#  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_LN_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nsmall_pt_shard10k/
  # - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/magkp_Nlarge_pt_shard10k/

data_weights:
  - 1
#  - 1
  # - 1
  # - 1
  # - 1

valid_data_ids:
  - /zfs1/pbrusilovsky/rum20/kp/OpenNMT-kpg/data/keyphrase/meng17/kp20k_pt_shard10k/valid

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
heads: 8
dropout: 0.1

share_embeddings: 'true'
copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
context_gate: both
input_feed: 1
param_init_glorot: 'true'
position_encoding: 'true'

optim: adam
learning_rate: 0.05
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
valid_batch_size: 64

train_steps: 300000
valid_steps: 10000
save_checkpoint_steps: 5000
report_every: 100
seed: 3435

log_file_level: DEBUG
tensorboard: 'false'

#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'


world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/base/config-rnn-keyphrase-magkp.yml
================================================
model_type: keyphrase

data: data/keyphrase/magkp/magkp_train.one2many
save_model: models/magkp/magkp.one2one.birnn
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 200000
valid_steps: 10000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 128
rnn_size: 512
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 256
valid_batch_size: 128
dropout: 0.0

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'true'
copy_loss_by_seqlength: 'true'
bridge: 'true'

log_file: output/magkp.one2one.birnn.log
log_file_level: DEBUG
exp: magkp-one2one-birnn-GRU512-EMB128-ATTNmlp-Dropout0.0
tensorboard: 'true'
tensorboard_log_dir: runs/magkp.one2one.birnn/

world_size: 2
gpu_ranks:
- 0
- 1
master_port: 5001

================================================
FILE: config/empirical/train/pt/base/config-rnn-keyphrase-one2one-stackexchange.yml
================================================
model_type: keyphrase
tgt_type: one2one


data: data/keyphrase/meng17/stackexchange
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 100000
valid_steps: 20000
report_every: 1

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.05
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 8
valid_batch_size: 128
dropout: 0.0

global_attention: mlp
copy_attn: 'true'
reuse_copy_attn: 'true'
bridge: 'true'
tensorboard: 'true'
log_file_level: DEBUG

# new added on April 17, 2019
context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
position_encoding: 'true'
copy_loss_by_seqlength: 'false'

exp: kp20k-one2one-birnn-GRU150-EMB100-ATTNmlp-local
save_model: models/keyphrase/meng17/kp20k.one2one.birnn.local
log_file: output/keyphrase/meng17/kp20k.one2one.birnn.local.log
tensorboard_log_dir: runs/keyphrase/meng17/kp20k.one2one.birnn.local/

world_size: 1
gpu_ranks: []
#- 0
#- 1
#master_port: 5000

================================================
FILE: config/empirical/train/pt/base/config-rnn-keyphrase-one2seq-diverse.yml
================================================
model_type: keyphrase
tgt_type: verbatim_append

data: data/keyphrase/meng17/kp20k
# data: data/keyphrase/meng17/kp20k_small
#data: data/keyphrase/meng17/stackexchange
save_checkpoint_steps: 5000
keep_checkpoint: 10000
seed: 3435
train_steps: 100000
valid_steps: 200000 # no validation
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adam
learning_rate: 1e-3
max_grad_norm: 2

batch_size: 64
valid_batch_size: 128
dropout: 0.1

global_attention: mlp

tensorboard: 'true'
log_file_level: DEBUG

copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'

context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
bridge: 'true'

orth_reg: 'true'
lambda_orth_reg: 0.1
sem_cov: 'true'
lambda_sem_cov: 0.1

tgt_enc: 'rnn'
detach_tgt_enc: 'true'
num_negsample: 16
use_ending_state: 'true'

exp: kp20k-one2seq-birnn-GRU150-EMB100-ATTNmlp-Dropout00
save_model: models/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00
log_file: output/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00.log
tensorboard_log_dir: runs/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00/

world_size: 1
gpu_ranks: []
#- 0
#- 1
master_port: 5000

================================================
FILE: config/empirical/train/pt/base/config-rnn-keyphrase-one2seq-localtest.yml
================================================
model_type: keyphrase
data_type: keyphrase
data_format: pt
tgt_type: length_reverse

train_from: models/keyphrase/meng17-one2seq/meng17-one2seq-kp20k/kp20k-meng17-random-rnn-BS64-LR0.05-Layer1-Dim150-Emb100-Dropout0.0-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1_step_90000.pt

data: data/keyphrase/meng17/kp20k_pt_shard10k/
#data: data/keyphrase/meng17/kp20k_pt_shard100k/kp20k
#data: data/keyphrase/meng17/kp20k_small
#data: data/keyphrase/meng17/stackexchange
save_checkpoint_steps: 5000
keep_checkpoint: 10000
seed: 3435
train_steps: 100000
valid_steps: 200000 # no validation
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adam
learning_rate: 1e-3
max_grad_norm: 2
reset_optim: all

batch_size: 64
valid_batch_size: 128
dropout: 0.1

global_attention: mlp

tensorboard: 'true'
log_file_level: DEBUG

copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'

context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
bridge: 'true'

orth_reg: 'false'
lambda_orth_reg: 0.0
sem_cov: 'false'
lambda_sem_cov: 0.0

tgt_enc: 'rnn'
detach_tgt_enc: 'true'
num_negsample: 16
use_ending_state: 'true'

exp: 'kp20k-meng17-random-rnn-BS64-LR0.05-Layer1-Dim150-Emb100-test'
exp_dir: 'output/keyphrase/meng17-one2seq-test/kp20k-meng17-random-rnn-BS64-LR0.05-Layer1-Dim150-Emb100-test/'
save_model: 'models/keyphrase/meng17-one2seq-test/kp20k-meng17-random-rnn-BS64-LR0.05-Layer1-Dim150-Emb100-test'
log_file: 'output/keyphrase/meng17-one2seq-test/kp20k-meng17-random-rnn-BS64-LR0.05-Layer1-Dim150-Emb100-test.log'
tensorboard_log_dir: 'runs/keyphrase/meng17-one2seq-test/kp20k-meng17-random-rnn-BS64-LR0.05-Layer1-Dim150-Emb100-test/'

world_size: 1
gpu_ranks: []
#- 0
#- 1
master_port: 5000

================================================
FILE: config/empirical/train/pt/base/config-rnn-keyphrase-one2seq.yml
================================================
model_type: keyphrase
tgt_type: random

data: data/keyphrase/meng17/kp20k
#data: data/keyphrase/meng17/kp20k_small
#data: data/keyphrase/meng17/stackexchange
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 200000
valid_steps: 20000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 8
valid_batch_size: 128
dropout: 0.0

global_attention: mlp

tensorboard: 'true'
log_file_level: DEBUG

copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
position_encoding: 'true'

context_gate: 'both'
input_feed: 1
copy_loss_by_seqlength: 'false'
share_embeddings: 'true'
bridge: 'true'

exp: kp20k-one2seq-birnn-GRU150-EMB100-ATTNmlp-Dropout00
save_model: models/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00
log_file: output/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00.log
tensorboard_log_dir: runs/keyphrase/meng17-one2seq/kp20k.one2seq.birnn.Dropout00/

world_size: 1
gpu_ranks: []
#- 0
#- 1
master_port: 5000

================================================
FILE: config/empirical/train/pt/base/config-rnn-keyphrase.drop00.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/kp20k
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 100000
valid_steps: 20000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 128
valid_batch_size: 128
dropout: 0.0

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'true'
bridge: 'true'
tensorboard: 'true'
log_file_level: DEBUG

# new added on April 17, 2019
context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
position_encoding: 'true'
copy_loss_by_seqlength: 'false'

exp: kp20k-one2one-birnn-GRU512-EMB128-ATTNmlp-Dropout00
save_model: models/keyphrase/meng17/kp20k.one2one.birnn.Dropout00
log_file: output/keyphrase/meng17/kp20k.one2one.birnn.Dropout00.log
tensorboard_log_dir: runs/keyphrase/meng17/kp20k.one2one.birnn.Dropout00/

world_size: 1
gpu_ranks:
- 0
#- 1
master_port: 5000

================================================
FILE: config/empirical/train/pt/base/config-rnn-keyphrase.drop05.coverage.noreuse.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/kp20k
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 100000
valid_steps: 20000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 128
valid_batch_size: 128
dropout: 0.5

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'false'
bridge: 'true'
coverage_attn: 'true'
tensorboard: 'true'
log_file_level: DEBUG

# new added on April 17, 2019
context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
position_encoding: 'true'
copy_loss_by_seqlength: 'false'

save_model: models/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT.NoReuse
exp: kp20k-one2one-birnn-GRU512-EMB128-ATTNmlp-Dropout05-CovATT-NoReuse
log_file: output/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT.NoReuse.log
tensorboard_log_dir: runs/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT.NoReuse/

world_size: 1
gpu_ranks:
- 0
#- 1
master_port: 5003

================================================
FILE: config/empirical/train/pt/base/config-rnn-keyphrase.drop05.coverage.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/kp20k
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 100000
valid_steps: 20000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 128
valid_batch_size: 128
dropout: 0.5

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'true'
bridge: 'true'
coverage_attn: 'true'
tensorboard: 'true'
log_file_level: DEBUG

# new added on April 17, 2019
context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
position_encoding: 'true'
copy_loss_by_seqlength: 'false'


save_model: models/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT
log_file: output/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT.log
exp: kp20k-one2one-birnn-GRU512-EMB128-ATTNmlp-Dropout05-CovATT
tensorboard_log_dir: runs/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.CovATT/

world_size: 1
gpu_ranks:
- 0
#- 1
master_port: 5002

================================================
FILE: config/empirical/train/pt/base/config-rnn-keyphrase.drop05.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/kp20k
save_checkpoint_steps: 10000
keep_checkpoint: 20
seed: 3435
train_steps: 100000
valid_steps: 20000
report_every: 100

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 128
valid_batch_size: 128
dropout: 0.5

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'true'
bridge: 'true'
tensorboard: 'true'
log_file_level: DEBUG

# new added on April 17, 2019
context_gate: 'both'
input_feed: 1
share_embeddings: 'true'
position_encoding: 'true'
copy_loss_by_seqlength: 'false'

save_model: models/keyphrase/meng17/kp20k.one2one.birnn.Dropout05
log_file: output/keyphrase/meng17/kp20k.one2one.birnn.Dropout05.log
exp: kp20k-one2one-birnn-GRU512-EMB128-ATTNmlp-Dropout05
tensorboard_log_dir: runs/keyphrase/meng17/kp20k.one2one.birnn.Dropout05/

world_size: 1
gpu_ranks:
- 0
#- 1
master_port: 5001

================================================
FILE: config/empirical/train/pt/base/config-rnn-summarization.yml
================================================
data: data/summarization/cnndm/cnndm
save_model: models/cnndm
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435
train_steps: 100000
valid_steps: 10000
report_every: 100

encoder_type: brnn
word_vec_size: 128
rnn_size: 512
layers: 1

optim: adagrad
learning_rate: 0.15
adagrad_accumulator_init: 0.1
max_grad_norm: 2

batch_size: 16
valid_batch_size: 16
dropout: 0.0

copy_attn: 'true'
global_attention: mlp
reuse_copy_attn: 'true'
copy_loss_by_seqlength: 'true'
bridge: 'true'

world_size: 2
gpu_ranks:
- 0
- 1


================================================
FILE: config/empirical/train/pt/base/config-transformer-base-1GPU.yml
================================================
data: exp/dataset.de-en
save_model: exp/model.de-en
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435
train_steps: 500000
valid_steps: 10000
warmup_steps: 8000
report_every: 100

decoder_type: transformer
encoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
transformer_ff: 2048
heads: 8

accum_count: 8
optim: adam
adam_beta1: 0.9
adam_beta2: 0.998
decay_method: noam
learning_rate: 2.0
max_grad_norm: 0.0

batch_size: 4096
batch_type: tokens
normalization: tokens
dropout: 0.1
label_smoothing: 0.1

max_generator_batches: 2

param_init: 0.0
param_init_glorot: 'true'
position_encoding: 'true'

world_size: 1
gpu_ranks:
- 0



================================================
FILE: config/empirical/train/pt/base/config-transformer-base-4GPU.yml
================================================
data: exp/dataset.de-en
save_model: exp/model.de-en
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435
train_steps: 200000
valid_steps: 10000
warmup_steps: 8000
report_every: 100

decoder_type: transformer
encoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 6
transformer_ff: 2048
heads: 8

accum_count: 2
optim: adam
adam_beta1: 0.9
adam_beta2: 0.998
decay_method: noam
learning_rate: 2.0
max_grad_norm: 0.0

batch_size: 4096
batch_type: tokens
normalization: tokens
dropout: 0.1
label_smoothing: 0.1

max_generator_batches: 2

param_init: 0.0
param_init_glorot: 'true'
position_encoding: 'true'

world_size: 4
gpu_ranks:
- 0
- 1
- 2
- 3



================================================
FILE: config/empirical/train/pt/base/config-transformer-keyphrase-local.yml
================================================
model_type: keyphrase
#tgt_type: one2one
tgt_type: no_sort

#data: data/keyphrase/kp20k/kp20k.one2one
data: data/keyphrase/kp20k/kp20k.one2many.small.meng17
save_model: models/kp20k/kp20k.one2one.transformer
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 2
accum_count: 4

#batch_size: 4096
batch_size: 1000
#batch_size: 24576
valid_batch_size: 20

train_steps: 200000
valid_steps: 10
report_every: 10

dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'

log_file: output/kp20k/kp20k.one2one.transformer.log
log_file_level: DEBUG
exp: keyphrase-one2one-transformer-Layer4-Dim512-Emb512--Dropout0.2
tensorboard: 'true'
tensorboard_log_dir: runs/kp20k.one2one.transformer/

world_size: 1
gpu_ranks: []
master_port: 10000

================================================
FILE: config/empirical/train/pt/base/config-transformer-keyphrase-magkp.yml
================================================
model_type: keyphrase

data: data/keyphrase/magkp/magkp_train.one2many
save_model: models/magkp/magkp.one2one.transformer
save_checkpoint_steps: 10000
keep_checkpoint: 40
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 2
accum_count: 4

# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
#batch_size: 8192
#batch_size: 24576
valid_batch_size: 256

train_steps: 400000
valid_steps: 10000
report_every: 100

dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'

log_file: output/magkp.one2one.transformer.log
log_file_level: DEBUG
exp: magkp-one2one-transformer-Layer4-Dim512-Emb512--Dropout0.2
tensorboard: 'true'
tensorboard_log_dir: runs/magkp.one2one.transformer/

world_size: 2
gpu_ranks:
- 0
- 1
#- 2
master_port: 10001

================================================
FILE: config/empirical/train/pt/base/config-transformer-keyphrase-test.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/magkp
save_checkpoint_steps: 10000
keep_checkpoint: 40
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 2
accum_count: 4

# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
#batch_size: 8192
#batch_size: 24576
valid_batch_size: 256

train_steps: 300000
valid_steps: 10000
report_every: 100

#dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'
log_file_level: DEBUG
tensorboard: 'true'

exp: kp20k-one2one-transformer-Layer4-Dim512-Emb512-Dropout0.2
save_model: models/kp20k/kp20k.one2one.transformer
log_file: output/kp20k.one2one.transformer.log
tensorboard_log_dir: runs/kp20k.one2one.transformer/

world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
master_port: 10000

================================================
FILE: config/empirical/train/pt/base/config-transformer-keyphrase.yml
================================================
model_type: keyphrase

data: data/keyphrase/meng17/kp20k
save_checkpoint_steps: 10000
keep_checkpoint: 40
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 2
accum_count: 4

# batch_size is actually: num_example * max(#word in src/tgt)
batch_size: 4096
#batch_size: 8192
#batch_size: 24576
valid_batch_size: 256

train_steps: 300000
valid_steps: 10000
report_every: 100

#dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'
log_file_level: DEBUG
tensorboard: 'true'

exp: kp20k-one2one-transformer-Layer4-Dim512-Emb512-Dropout0.2
save_model: models/kp20k/kp20k.one2one.transformer
log_file: output/kp20k.one2one.transformer.log
tensorboard_log_dir: runs/kp20k.one2one.transformer/

world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/empirical/train/pt/base/config-transformer-summarization-local.yml
================================================
data: data/summarization/cnndm/cnndm
save_model: models/cnndm
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

#batch_size: 4096
batch_size: 256
batch_type: tokens
normalization: tokens
max_generator_batches: 2
valid_batch_size: 16
accum_count: 4

train_steps: 200000
valid_steps: 10000
report_every: 100

dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'

world_size: 1
gpu_ranks: []


================================================
FILE: config/empirical/train/pt/base/config-transformer-summarization.yml
================================================
data: data/summarization/cnndm/cnndm
save_model: models/cnndm
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435

encoder_type: transformer
decoder_type: transformer
word_vec_size: 512
rnn_size: 512
layers: 4

position_encoding: true

optim: adam
learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam
label_smoothing: 0.1
adam_beta2: 0.998

#batch_size: 4096
batch_size: 256
batch_type: tokens
normalization: tokens
max_generator_batches: 2
valid_batch_size: 16
accum_count: 4

train_steps: 200000
valid_steps: 10000
report_every: 100

dropout: 0.2

share_embeddings: 'true'
copy_attn: 'true'
param_init_glorot: 'true'

world_size: 2
gpu_ranks:
- 0
- 1


================================================
FILE: config/empirical/train/pt/config-rnn-keyphrase-crc.yml
================================================
model_type: keyphrase

#data: data/keyphrase/meng17/kp20k
#save_checkpoint_steps: 10000
#keep_checkpoint: 20
seed: 3435
#train_steps: 100000
#valid_steps: 20000
report_every: 100

encoder_type: brnn
rnn_type: GRU
#word_vec_size: 100
#rnn_size: 150
#layers: 1

optim: adagrad
#learning_rate: 0.002
adagrad_accumulator_init: 0.1
max_grad_norm: 2.0

#batch_size: 128
#valid_batch_size: 128
#dropout: 0.0
batch_type: sents
normalization: sents

global_attention: mlp
#copy_attn: 'true'
#reuse_copy_attn: 'true'
#bridge: 'true'
tensorboard: 'false'
log_file_level: DEBUG

# new added on April 17, 2019
#context_gate: 'both'
#input_feed: 1
#share_embeddings: 'true'
#position_encoding: 'true'
#copy_loss_by_seqlength: 'false'

#exp: kp20k-one2one-birnn-GRU512-EMB128-ATTNmlp-Dropout00
#save_model: models/keyphrase/meng17/kp20k.one2one.birnn.Dropout00
#log_file: output/keyphrase/meng17/kp20k.one2one.birnn.Dropout00.log
#tensorboard_log_dir: runs/keyphrase/meng17/kp20k.one2one.birnn.Dropout00/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'

world_size: 1
gpu_ranks:
- 0
#- 1
#master_port: 5000

================================================
FILE: config/empirical/train/pt/config-rnn-keyphrase-one2seq-debug.yml
================================================
model_type: keyphrase
tgt_type: random

exp: kp20k-one2seq-birnn-GRU150-EMB100-diverse-test
exp_dir: output/meng17-one2seq-debug/kp20k-one2seq-birnn-GRU150-EMB100-diverse-test
wandb_project: kp20k-meng17-one2seq
wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'

#data: data/keyphrase/meng17/kp20k
data: data/keyphrase/meng17/magkp_pt_shard1k/
vocab: data/keyphrase/meng17/magkp20k.vocab.pt
#data: data/keyphrase/meng17/stackexchange
save_checkpoint_steps: 10000
keep_checkpoint: 10
seed: 3435
train_steps: 200000
valid_steps: 100000
report_every: 10

encoder_type: brnn
rnn_type: GRU
word_vec_size: 100
rnn_size: 150
layers: 1

optim: adam
learning_rate: 1e-3
max_grad_norm: 2

batch_size: 128
valid_batch_size: 128
dropout: 0.0
batch_type: sents
normalization: sents

global_attention: mlp

tensorboard: 'false'
log_file_level: DEBUG

copy_attn: 'true'
reuse_copy_attn: 'true'
coverage_attn: 'true'
position_encoding: 'true'

context_gate: 'both'
input_feed: 1
copy_loss_by_seqlength: 'false'
share_embeddings: 'true'
bridge: 'true'

orth_reg: 'false'
lambda_orth_reg: 0.1
sem_cov: 'false'
lambda_sem_cov: 1.0

num_negsample: 32
use_ending_state: 'true'
tgt_enc: 'rnn'
detach_tgt_enc: 'true'

world_size: 1
gpu_ranks: #[]
  - 0
#- 1
master_port: 5000


================================================
FILE: config/empirical/train/pt/config-transformer-keyphrase-crc.yml
================================================
model_type: keyphrase

#data: data/keyphrase/meng17/kp20k
#save_checkpoint_steps: 10000
#keep_checkpoint: 40
seed: 3435

encoder_type: transformer
decoder_type: transformer
#word_vec_size: 512
#rnn_size: 512
#layers: 4

position_encoding: true

optim: adam
#learning_rate: 2
param_init: 0
warmup_steps: 8000
decay_method: noam_simple
label_smoothing: 0.1
adam_beta2: 0.998

batch_type: tokens
normalization: tokens
max_generator_batches: 200
accum_count: 4
max_grad_norm: 2.0


# batch_size is actually: num_example * max(#word in src/tgt)
#batch_size: 4096
#batch_size: 8192
#batch_size: 24576
#valid_batch_size: 256

#train_steps: 300000
#valid_steps: 10000
report_every: 100

#dropout: 0.2

#share_embeddings: 'true'
#copy_attn: 'true'
param_init_glorot: 'true'
log_file_level: DEBUG
tensorboard: 'false'

#exp: kp20k-one2one-transformer-Layer4-Dim512-Emb512-Dropout0.2
#save_model: models/kp20k/kp20k.one2one.transformer
#log_file: output/kp20k.one2one.transformer.log
#tensorboard_log_dir: runs/kp20k.one2one.transformer/

wandb: 'true'
wandb_key: 'c338136c195ab221b8c7cfaa446db16b2e86c6db'

world_size: 1
gpu_ranks:
- 0
#- 1
#- 2
#master_port: 10000

================================================
FILE: config/transfer_kp/infer/keyphrase-one2one.yml
================================================
# Translation / inference options
#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt
cache_dir: /zfs1/hdaqing/rum20/kp/data/kp/cache/

model_type: keyphrase
data_type: keyphrase
data:
    valid:
        path_src: none
        path_tgt: none
        type: keyphrase
        transforms: [keyphrase, roberta_tokenize_kpg]
        weight: 1

### Transform related opts:
#### Keyphrase specific
kp_concat_type: one2one
beam_terminate: full
#### Subword and vocab
src_subword_model: roberta_tokenize
src_vocab: /zfs1/hdaqing/rum20/kp/data/kp/hf_vocab/roberta-base-kp/vocab.json
share_vocab: True
bpe_dropout: 0.0

# Data options
#model_dtype: fp16
src_seq_length_trunc: 512
tgt_seq_length_trunc: 128

# Evaluation options
report_time: 'true'

# Options most relevant to summarization.
#dynamic_dict: 'true'

# Beam search
#beam_size: 8
min_length: 1
#max_length: 32

# Alpha and Beta values for Google Length + Coverage penalty
stepwise_penalty: 'false'

# Logging
verbose: 'false'
#log_file: output/pred/kp20k/kp20k.one2one_step_40000.pred.log
log_file_level: 'DEBUG'
n_best: 500

# Efficiency
#gpu: 0
gpu: -1

#beam_terminate: full/topbeam

================================================
FILE: config/transfer_kp/infer/keyphrase-one2seq-controlled.yml
================================================
# Translation / inference options
#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt
cache_dir: /zfs1/hdaqing/rum20/kp/data/kp/cache/

model_type: keyphrase
data_type: keyphrase
data:
    valid:
        path_src: none
        path_tgt: none
        path_align: none
        type: keyphrase
        transforms: [keyphrase, add_control_prefix, roberta_tokenize_kpg]
        weight: 1

### Transform related opts:
#### Keyphrase specific
src_control_prefix: '<present>10<header>5<category>5<seealso>2<infill>0<s>'
tgt_control_prefix: ''


kp_concat_type: pres_abs
beam_terminate: full
#### Subword and vocab
src_subword_model: roberta_tokenize
src_vocab: /zfs1/hdaqing/rum20/kp/data/kp/hf_vocab/roberta-base-kp/vocab.json
share_vocab: True
bpe_dropout: 0.0

# Data options
#model_dtype: fp16
src_seq_length_trunc: 512
tgt_seq_length_trunc: 128

# Evaluation options
report_time: 'true'

# Options most relevant to summarization.
#dynamic_dict: 'true'

# Beam search
#beam_size: 8
min_length: 1
#max_length: 32

# Alpha and Beta values for Google Length + Coverage penalty
stepwise_penalty: 'false'

# Logging
verbose: 'false'
#log_file: output/pred/kp20k/kp20k.one2one_step_40000.pred.log
log_file_level: 'DEBUG'
n_best: 500

# Efficiency
#gpu: 0
gpu: -1

#beam_terminate: full/topbeam

================================================
FILE: config/transfer_kp/infer/keyphrase-one2seq.yml
================================================
# Translation / inference options
#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt
cache_dir: /zfs1/hdaqing/rum20/kp/data/kp/cache/

model_type: keyphrase
data_type: keyphrase
data:
    valid:
        path_src: none
        path_tgt: none
        path_align: none
        type: keyphrase
        transforms: [keyphrase, roberta_tokenize_kpg]
        weight: 1

### Transform related opts:
#### Keyphrase specific
kp_concat_type: pres_abs
use_given_inputs: false
lowercase: false

beam_terminate: full
#### Subword and vocab
src_subword_model: roberta_tokenize
src_vocab: /zfs1/hdaqing/rum20/kp/data/kp/hf_vocab/roberta-base-kp/vocab.json
share_vocab: True
bpe_dropout: 0.0

# Data options
#model_dtype: fp16
src_seq_length_trunc: 512
tgt_seq_length_trunc: 128

# Evaluation options
report_time: 'true'

# Options most relevant to summarization.
#dynamic_dict: 'true'

# Beam search
#beam_size: 8
min_length: 1
#max_length: 32

# Alpha and Beta values for Google Length + Coverage penalty
stepwise_penalty: 'false'

# Logging
verbose: 'false'
#log_file: output/pred/kp20k/kp20k.one2one_step_40000.pred.log
log_file_level: 'DEBUG'
n_best: 500

# Decoding
random_sampling_temp: 0.0

# Efficiency
#gpu: 0
gpu: -1

seed: 97
#beam_terminate: full/topbeam

================================================
FILE: config/translate/config-rnn-keyphrase.yml
================================================
# Translation / inference options
model: models/keyphrase/meng17/kp20k.one2one.birnn.test_step_100000.pt

# Data options
data_type: keyphrase
src: data/keyphrase/meng17/kp20k_small/kp20k_small_test.src
tgt: data/keyphrase/meng17/kp20k_small/kp20k_small_test.tgt
shard_size: 0
output: output/pred/kp20k/kp20k.one2one_step_100000.pred

# Evaluation options
report_bleu: 'false'
report_rouge: 'false'
report_kpeval: 'true'
report_time: 'true'

# Options most relevant to summarization.
#dynamic_dict: 'true'
share_vocab: 'true'

# Beam search
beam_size: 32
#beam_size: 200
min_length: 1
max_length: 6

# Alpha and Beta values for Google Length + Coverage penalty
stepwise_penalty: 'false'

# Logging
verbose: 'true'
log_file: output/pred/kp20k/kp20k.one2one_step_100000.pred.log
log_file_level: 'DEBUG'
n_best: 100

# Efficiency
batch_size: 10
gpu: -1

tgt_type: multiple

================================================
FILE: docs/Makefile
================================================
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS    =
SPHINXBUILD   = python3 -msphinx
SPHINXPROJ    = OpenNMT-py
SOURCEDIR     = source
BUILDDIR      = build

# Put it first so that "make" without argument is like "make help".
help:
	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)


================================================
FILE: docs/requirements.txt
================================================
sphinx==2.4.*
sphinxcontrib.bibtex
sphinxcontrib.mermaid
sphinx-rtd-theme==0.4.*
recommonmark==0.6.*
sphinx-argparse==0.2.*
sphinx_markdown_tables==0.0.12


================================================
FILE: docs/source/CONTRIBUTING.md
================================================
# Contributors

OpenNMT-py is a community developed project and we love developer contributions.

## Guidelines
Before sending a PR, please do this checklist first:

- Please run `onmt/tests/pull_request_chk.sh` and fix any errors. When adding new functionality, also add tests to this script. Included checks:
    1. flake8 check for coding style;
    2. unittest;
    3. continuous integration tests listed in `.travis.yml`.
- When adding/modifying class constructor, please make the arguments as same naming style as its superclass in PyTorch.
- If your change is based on a paper, please include a clear comment and reference in the code (more on that below). 

### Docstrings
Above all, try to follow the Google docstring format
([Napoleon example](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html),
[Google styleguide](http://google.github.io/styleguide/pyguide.html)).
This makes it easy to include your contributions in the Sphinx documentation. And, do feel free
to autodoc your contributions in the API ``.rst`` files in the `docs/source` folder! If you do, check that
your additions look right.

**How to build the docs locally?**
```bash
cd docs
# install some dependencies if necessary:
# recommonmark, sphinx_rtd_theme, sphinxcontrib-bibtex
pip install requirements.txt
make html
firefox build/html/main.html  # or your browser of choice
```

Some particular advice:
- Try to follow Python 3 [``typing`` module](https://docs.python.org/3/library/typing.html) conventions when documenting types.
    - Exception: use "or" instead of unions for more readability
    - For external types, use the full "import name". Common abbreviations (e.g. ``np``) are acceptable.
      For ``torch.Tensor`` types, the ``torch.`` is optional.
    - Please don't use tics like `` (`str`) `` or rst directives like `` (:obj:`str`) ``. Napoleon handles types
      very well without additional help, so avoid the clutter.
- [Google docstrings don't support multiple returns](https://stackoverflow.com/questions/29221551/can-sphinx-napoleon-document-function-returning-multiple-arguments).
For multiple returns, the following works well with Sphinx and is still very readable.
  ```python
  def foo(a, b):
      """This is my docstring.
      
      Args:
          a (object): Something.
          b (class): Another thing.
    
      Returns:
          (object, class):
        
          * a: Something or rather with a long
            description that spills over.
          * b: And another thing.
      """
    
      return a, b
  ```
- When citing a paper, avoid directly linking in the docstring! Add a Bibtex entry to `docs/source/refs.bib`.
E.g., to cite "Attention Is All You Need", visit [arXiv](https://arxiv.org/abs/1706.03762), choose the
[bibtext](https://dblp.uni-trier.de/rec/bibtex/journals/corr/VaswaniSPUJGKP17) link, search `docs/source/refs.bib`
using `CTRL-F` for `DBLP:journals/corr/VaswaniSPUJGKP17`, and if you do not find it then copy-paste the
citation into `refs.bib`. Then, in your docstring, use ``:cite:`DBLP:journals/corr/VaswaniSPUJGKP17` ``.
    - However, a link is better than nothing.
- Please document tensor shapes. Prefer the format
  ``` ``(a, b, c)`` ```. This style is easy to read, allows using ``x`` for multplication, and is common
  (PyTorch uses a few variations on the parentheses format, AllenNLP uses exactly this format, Fairseq uses
  the parentheses format with single ticks).
    - Again, a different style is better than no shape documentation.
- Please avoid unnecessary space characters, try to capitalize, and try to punctuate.
    
  For multi-line docstrings, add a blank line after the closing ``"""``.
  Don't use a blank line before the closing quotes.
  
  ``""" not this """`` ``"""This."""``
  
  ```python
  """
      Not this.
  """
  ```
  ```python
  """This."""
  ```

  This note is the least important. Focus on content first, but remember that consistent docs look good.
- Be sensible about the first line. Generally, one stand-alone summary line (per the Google guidelines) is good.
  Sometimes, it's better to cut directly to the args or an extended description. It's always acceptable to have a
  "trailing" citation.

================================================
FILE: docs/source/FAQ.md
================================================

All the example YAML configurations are partial. To get an overview of what this YAML configuration is you can start by reading the [Quickstart](quickstart) section.

## How do I use Pretrained embeddings (e.g. GloVe)?

This is handled in the initial steps of the `onmt_train` execution.

Pretrained embeddings can be configured in the main YAML configuration file.

### Example

1. Get GloVe files:

```bash
mkdir "glove_dir"
wget http://nlp.stanford.edu/data/glove.6B.zip
unzip glove.6B.zip -d "glove_dir"
```

2. Adapt the configuration:

```yaml
# <your_config>.yaml

<Your data config...>

...

# this means embeddings will be used for both encoder and decoder sides
both_embeddings: glove_dir/glove.6B.100d.txt
# to set src and tgt embeddings separately:
# src_embeddings: ...
# tgt_embeddings: ...

# supported types: GloVe, word2vec
embeddings_type: "GloVe"

# word_vec_size need to match with the pretrained embeddings dimensions
word_vec_size: 100

```

3. Train:

```bash
onmt_train -config <your_config>.yaml
```

Notes:

- the matched embeddings will be saved at `<save_data>.enc_embeddings.pt` and `<save_data>.dec_embeddings.pt`;
- additional flags `freeze_word_vecs_enc` and `freeze_word_vecs_dec` are available to freeze the embeddings.

## How do I use the Transformer model?

The transformer model is very sensitive to hyperparameters. To run it
effectively you need to set a bunch of different options that mimic the [Google](https://arxiv.org/abs/1706.03762) setup. We have confirmed the following configuration can replicate their WMT results.

```yaml
<data configuration>
...

# General opts
save_model: foo
save_checkpoint_steps: 10000
valid_steps: 10000
train_steps: 200000

# Batching
queue_size: 10000
bucket_size: 32768
world_size: 4
gpu_ranks: [0, 1, 2, 3]
batch_type: "tokens"
batch_size: 4096
valid_batch_size: 8
max_generator_batches: 2
accum_count: [4]
accum_steps: [0]

# Optimization
model_dtype: "fp32"
optim: "adam"
learning_rate: 2
warmup_steps: 8000
decay_method: "noam"
adam_beta2: 0.998
max_grad_norm: 0
label_smoothing: 0.1
param_init: 0
param_init_glorot: true
normalization: "tokens"

# Model
encoder_type: transformer
decoder_type: transformer
position_encoding: true
enc_layers: 6
dec_layers: 6
heads: 8
rnn_size: 512
word_vec_size: 512
transformer_ff: 2048
dropout_steps: [0]
dropout: [0.1]
attention_dropout: [0.1]
```

Here are what the most important parameters mean:

* `param_init_glorot` & `param_init 0`: correct initialization of parameters;
* `position_encoding`: add sinusoidal position encoding to each embedding;
* `optim adam`, `decay_method noam`, `warmup_steps 8000`: use special learning rate;
* `batch_type tokens`, `normalization tokens`: batch and normalize based on number of tokens and not sentences;
* `accum_count 4`: compute gradients based on four batches;
* `label_smoothing 0.1`: use label smoothing loss.

## Do you support multi-gpu?

First you need to make sure you `export CUDA_VISIBLE_DEVICES=0,1,2,3`.

If you want to use GPU id 1 and 3 of your OS, you will need to `export CUDA_VISIBLE_DEVICES=1,3`

Both `-world_size` and `-gpu_ranks` need to be set. E.g. `-world_size 4 -gpu_ranks 0 1 2 3` will use 4 GPU on this node only.

**Warning - Deprecated**

Multi-node distributed training is not properly implemented in OpenNMT-py 2.0 yet.

If you want to use 2 nodes with 2 GPU each, you need to set `-master_ip` and `-master_port`, and

* `-world_size 4 -gpu_ranks 0 1`: on the first node
* `-world_size 4 -gpu_ranks 2 3`: on the second node
* `-accum_count 2`: This will accumulate over 2 batches before updating parameters.

If you use a regular network card (1 Gbps) then we suggest to use a higher `-accum_count` to minimize the inter-node communication.

**Note:**

In the legacy version, when training on several GPUs, you couldn't have them in 'Exclusive' compute mode (`nvidia-smi -c 3`).

The multi-gpu setup relied on a Producer/Consumer setup. This setup means there will be `2<n_gpu> + 1` processes spawned, with 2 processes per GPU, one for model training and one (Consumer) that hosts a `Queue` of batches that will be processed next. The additional process is the Producer, creating batches and sending them to the Consumers. This setup is beneficial for both wall time and memory, since it loads data shards 'in advance', and does not require to load it for each GPU process.

The new codebase allows GPUs to be in exclusive mode, because batches are moved to the device later in the process. Hence, there is no 'producer' process on each GPU.

## How can I ensemble Models at inference?

You can specify several models in the `onmt_translate` command line: `-model model1_seed1 model2_seed2`
Bear in mind that your models must share the same target vocabulary.

## How can I weight different corpora at training?

This is naturally embedded in the data configuration format introduced in OpenNMT-py 2.0. Each entry of the `data` configuration will have its own *weight*. When building batches, we'll sequentially take *weight* example from each corpus.

**Note**: don't worry about batch homogeneity/heterogeneity, the pooling mechanism is here for that reason. Instead of building batches one at a time, we will load `pool_factor` of batches worth of examples, sort them by length, build batches and then yield them in a random order.

### Example

In the following example, we will sequentially sample 7 examples from *corpus_1*, and 3 examples from *corpus_2*, and so on:

```yaml
# <your_config>.yaml

...

# Corpus opts:
data:
    corpus_1:
        path_src: toy-ende/src-train1.txt
        path_tgt: toy-ende/tgt-train1.txt
        weight: 7
    corpus_2:
        path_src: toy-ende/src-train1.txt
        path_tgt: toy-ende/tgt-train1.txt
        weight: 3
    valid:
        path_src: toy-ende/src-val.txt
        path_tgt: toy-ende/tgt-val.txt
...

```

## How can I apply on-the-fly tokenization and subword regularization when training?

This is naturally embedded in the data configuration format introduced in OpenNMT-py 2.0. Each entry of the `data` configuration will have its own `transforms`. `transforms` basically is a `list` of functions that will be applied sequentially to the examples when read from file.

### Example

This example applies sentencepiece tokenization with `pyonmttok`, with `nbest=20` and `alpha=0.1`.

```yaml
# <your_config>.yaml

...

# Tokenization options
src_subword_type: sentencepiece
src_subword_model: examples/subword.spm.model
tgt_subword_type: sentencepiece
tgt_subword_model: examples/subword.spm.model

# Number of candidates for SentencePiece sampling
subword_nbest: 20
# Smoothing parameter for SentencePiece sampling
subword_alpha: 0.1
# Specific arguments for pyonmttok
src_onmttok_kwargs: "{'mode': 'none', 'spacer_annotate': True}"
tgt_onmttok_kwargs: "{'mode': 'none', 'spacer_annotate': True}"

# Corpus opts:
data:
    corpus_1:
        path_src: toy-ende/src-train1.txt
        path_tgt: toy-ende/tgt-train1.txt
        transforms: [onmt_tokenize]
        weight: 1
    valid:
        path_src: toy-ende/src-val.txt
        path_tgt: toy-ende/tgt-val.txt
        transforms: [onmt_tokenize]
...

```

Other tokenization methods and transforms are readily available. See the dedicated docs for more details.

## What are the readily available on-the-fly data transforms?

It's your lucky day! We already embedded several transforms that can be used easily.

Note: all the details about every flag and options for each transform can be found in the [train](#train) section.

### General purpose

#### Filter examples by length

Transform name: `filtertoolong`

Class: `onmt.transforms.misc.FilterTooLongTransform`

The following options can be added to the configuration :
- `src_seq_length`: maximum source sequence length;
- `tgt_seq_length`: maximum target sequence length.

#### Add custom prefix to examples

Transform name: `prefix`

Class: `onmt.transforms.misc.PrefixTransform`

For each dataset that the `prefix` transform is applied to, you can set the additional `src_prefix` and `tgt_prefix` parameters in its data configuration:

```yaml
data:
    corpus_1:
        path_src: toy-ende/src-train1.txt
        path_tgt: toy-ende/tgt-train1.txt
        transforms: [prefix]
        weight: 1
        src_prefix: __some_src_prefix__
        tgt_prefix: __some_tgt_prefix__
```



### Tokenization

Common options for the tokenization transforms are the following:

- `src_subword_model`: path of source side (or both if shared) subword model;
- `tgt_subword_model`: path of target side subword model;
- `src_subword_nbest`: number of candidates for subword regularization (sentencepiece), source side;
- `tgt_subword_nbest`: number of candidates for subword regularization (sentencepiece), target_side;
- `src_subword_alpha`: smoothing parameter for sentencepiece regularization / dropout probability for BPE, source side;
- `tgt_subword_alpha`: smoothing parameter for sentencepiece regularization / dropout probability for BPE, target side.

#### [OpenNMT Tokenizer](https://github.com/opennmt/Tokenizer)

Transform name: `onmt_tokenize`

Class: `onmt.transforms.misc.ONMTTokenizerTransform`

Additional options are available:
- `src_subword_type`: type of subword model for source side (from `["none", "sentencepiece", "bpe"]`);
- `tgt_subword_type`: type of subword model for target side (from `["none", "sentencepiece", "bpe"]`);
- `src_onmttok_kwargs`: additional kwargs for pyonmttok Tokenizer class, source side;
- `tgt_onmttok_kwargs`: additional kwargs for pyonmttok Tokenizer class, target side.

#### [SentencePiece](https://github.com/google/sentencepiece)

Transform name: `sentencepiece`

Class: `onmt.transforms.misc.SentencePieceTransform`

The `src_subword_model` and `tgt_subword_model` should be valid sentencepiece models.

#### BPE ([subword-nmt](https://github.com/rsennrich/subword-nmt))

Transform name: `bpe`

Class: `onmt.transforms.misc.BPETransform`

The `src_subword_model` and `tgt_subword_model` should be valid BPE models.

### BART-style noise

BART-style noi
Download .txt
gitextract_s_i7zdr9/

├── .github/
│   └── workflows/
│       ├── push.yml
│       └── release.yml
├── .gitignore
├── CHANGELOG.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE.md
├── README.md
├── available_models/
│   └── example.conf.json
├── build_vocab.py
├── config/
│   ├── diversity/
│   │   ├── keyphrase-one2one-diversity.yml
│   │   └── keyphrase-one2seq-diversity.yml
│   ├── empirical/
│   │   ├── preprocess/
│   │   │   ├── config-preprocess-keyphrase-kp20k.yml
│   │   │   ├── config-preprocess-keyphrase-magkp.yml
│   │   │   ├── config-preprocess-keyphrase-magkp_subset.yml
│   │   │   ├── config-preprocess-keyphrase-small.yml
│   │   │   ├── config-preprocess-keyphrase-stackexchange.yml
│   │   │   ├── config-preprocess-mt_demo.yml
│   │   │   └── config-preprocess-summarization.yml
│   │   ├── test/
│   │   │   ├── config-test-keyphrase-one2one.yml
│   │   │   └── config-test-keyphrase-one2seq.yml
│   │   └── train/
│   │       ├── jsonl/
│   │       │   └── config-rnn-keyphrase.yml
│   │       └── pt/
│   │           ├── 1st/
│   │           │   ├── config-rnn-keyphrase-magkp.yml
│   │           │   ├── config-rnn-keyphrase-one2one-stackexchange.yml
│   │           │   ├── config-rnn-keyphrase-one2seq-diverse.yml
│   │           │   ├── config-rnn-keyphrase-one2seq.yml
│   │           │   ├── config-rnn-keyphrase.drop00.yml
│   │           │   ├── config-rnn-keyphrase.drop05.coverage.noreuse.yml
│   │           │   ├── config-rnn-keyphrase.drop05.coverage.yml
│   │           │   ├── config-rnn-keyphrase.drop05.yml
│   │           │   ├── config-rnn-summarization.yml
│   │           │   ├── config-transformer-base-1GPU.yml
│   │           │   ├── config-transformer-base-4GPU.yml
│   │           │   ├── config-transformer-keyphrase-local.yml
│   │           │   ├── config-transformer-keyphrase-magkp.yml
│   │           │   ├── config-transformer-keyphrase-test.yml
│   │           │   ├── config-transformer-keyphrase.yml
│   │           │   ├── config-transformer-summarization-local.yml
│   │           │   └── config-transformer-summarization.yml
│   │           ├── 3rd/
│   │           │   ├── config-kpgen-one2one-transformer-copycovfalse-kp20k.yml
│   │           │   ├── config-kpgen-one2one-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2one-transformer-magkp+kp20kFT.yml
│   │           │   ├── config-kpgen-one2one-transformer-magkp.yml
│   │           │   ├── config-kpgen-one2one-transformer-magkp20k.yml
│   │           │   ├── config-kpgen-one2seq-alphabetical-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-alphabetical_reverse-rnn-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-alphabetical_reverse-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-length-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-length_reverse-rnn-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-length_reverse-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-no_sort-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-no_sort_reverse-rnn-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-no_sort_reverse-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-random-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_LN+kp20kFT.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_LN.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge+kp20kFT.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall+kp20kFT.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-copycovfalse-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-copycovfalse-magkp20k.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_LN.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nlarge.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nsmall.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-kp20k.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-magkp+kp20kFT.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-magkp.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-magkp20k+kp20kFT.yml
│   │           │   ├── config-kpgen-one2seq-verbatim_append-transformer-magkp20k.yml
│   │           │   └── config-kpgen-one2seq-verbatim_prepend-transformer-kp20k.yml
│   │           ├── base/
│   │           │   ├── config-rnn-keyphrase-magkp.yml
│   │           │   ├── config-rnn-keyphrase-one2one-stackexchange.yml
│   │           │   ├── config-rnn-keyphrase-one2seq-diverse.yml
│   │           │   ├── config-rnn-keyphrase-one2seq-localtest.yml
│   │           │   ├── config-rnn-keyphrase-one2seq.yml
│   │           │   ├── config-rnn-keyphrase.drop00.yml
│   │           │   ├── config-rnn-keyphrase.drop05.coverage.noreuse.yml
│   │           │   ├── config-rnn-keyphrase.drop05.coverage.yml
│   │           │   ├── config-rnn-keyphrase.drop05.yml
│   │           │   ├── config-rnn-summarization.yml
│   │           │   ├── config-transformer-base-1GPU.yml
│   │           │   ├── config-transformer-base-4GPU.yml
│   │           │   ├── config-transformer-keyphrase-local.yml
│   │           │   ├── config-transformer-keyphrase-magkp.yml
│   │           │   ├── config-transformer-keyphrase-test.yml
│   │           │   ├── config-transformer-keyphrase.yml
│   │           │   ├── config-transformer-summarization-local.yml
│   │           │   └── config-transformer-summarization.yml
│   │           ├── config-rnn-keyphrase-crc.yml
│   │           ├── config-rnn-keyphrase-one2seq-debug.yml
│   │           └── config-transformer-keyphrase-crc.yml
│   ├── transfer_kp/
│   │   └── infer/
│   │       ├── keyphrase-one2one.yml
│   │       ├── keyphrase-one2seq-controlled.yml
│   │       └── keyphrase-one2seq.yml
│   └── translate/
│       └── config-rnn-keyphrase.yml
├── docs/
│   ├── Makefile
│   ├── requirements.txt
│   └── source/
│       ├── CONTRIBUTING.md
│       ├── FAQ.md
│       ├── _static/
│       │   └── theme_overrides.css
│       ├── conf.py
│       ├── examples/
│       │   ├── GGNN.md
│       │   ├── LanguageModelGeneration.md
│       │   ├── Library.ipynb
│       │   ├── Library.md
│       │   ├── Summarization.md
│       │   └── Translation.md
│       ├── index.rst
│       ├── legacy/
│       │   ├── FAQ.md
│       │   ├── im2text.md
│       │   ├── speech2text.md
│       │   └── vid2text.rst
│       ├── main.md
│       ├── onmt.inputters.rst
│       ├── onmt.modules.rst
│       ├── onmt.rst
│       ├── onmt.translate.translation_server.rst
│       ├── onmt.translation.rst
│       ├── options/
│       │   ├── build_vocab.rst
│       │   ├── server.rst
│       │   ├── train.rst
│       │   └── translate.rst
│       ├── quickstart.md
│       ├── ref.rst
│       └── refs.bib
├── examples/
│   ├── README.md
│   ├── cnndm.yaml
│   ├── ggnn.yaml
│   ├── onmt.train.fp16.transformer.yaml
│   ├── scripts/
│   │   ├── prepare_wikitext-103_data.sh
│   │   └── prepare_wmt_data.sh
│   ├── wiki_103.yaml
│   ├── wikibart_inference.ipynb
│   └── wmt14_en_de.yaml
├── floyd.yml
├── floyd_requirements.txt
├── kp_convert.sh
├── kp_data_converter.py
├── kp_evaluate.py
├── kp_gen_eval.py
├── kp_gen_eval_transfer.py
├── kp_gen_magkp_transfer_labelling.py
├── kp_generate.py
├── kp_report.py
├── notebook/
│   ├── PRauc_example.ipynb
│   ├── __init__.py
│   ├── beam_stats.ipynb
│   ├── dataset_stat.ipynb
│   ├── empirical_analysis_v2_lite.ipynb
│   ├── inference.ipynb
│   ├── json_process.ipynb
│   ├── kpeval.ipynb
│   ├── phrase_stats.ipynb
│   ├── pred_phrase_stats.ipynb
│   ├── scikp_dataset_stats.ipynb
│   ├── split_magkp.ipynb
│   ├── test.py
│   ├── transfer_analysis.ipynb
│   ├── transfer_dataset_stats.ipynb
│   ├── transfer_figures.ipynb
│   ├── transfer_learning_curve.ipynb
│   ├── transfer_pseudo_labels_and_np.ipynb
│   ├── visualize_domain_gap.ipynb
│   ├── wikibart_inference.ipynb
│   └── wikibart_inference_buggy.ipynb
├── onmt/
│   ├── __init__.py
│   ├── bin/
│   │   ├── __init__.py
│   │   ├── average_models.py
│   │   ├── build_vocab.py
│   │   ├── release_model.py
│   │   ├── server.py
│   │   ├── train.py
│   │   └── translate.py
│   ├── constants.py
│   ├── decoders/
│   │   ├── __init__.py
│   │   ├── bart_decoder.py
│   │   ├── cnn_decoder.py
│   │   ├── decoder.py
│   │   ├── ensemble.py
│   │   └── transformer.py
│   ├── encoders/
│   │   ├── __init__.py
│   │   ├── bart_encoder.py
│   │   ├── cnn_encoder.py
│   │   ├── encoder.py
│   │   ├── ggnn_encoder.py
│   │   ├── mean_encoder.py
│   │   ├── pretrained_encoder.py
│   │   ├── rnn_encoder.py
│   │   └── transformer.py
│   ├── inputters/
│   │   ├── __init__.py
│   │   ├── corpus.py
│   │   ├── datareader_base.py
│   │   ├── dataset_base.py
│   │   ├── dynamic_iterator.py
│   │   ├── fields.py
│   │   ├── inputter.py
│   │   ├── iterator.py
│   │   ├── keyphrase_dataset.py
│   │   ├── news_dataset.py
│   │   └── text_dataset.py
│   ├── keyphrase/
│   │   ├── __init__.py
│   │   ├── baseline/
│   │   │   ├── evaluate.py
│   │   │   └── export_dataset.py
│   │   ├── best_scores_in_report.py
│   │   ├── bleu.py
│   │   ├── check_pred_file.py
│   │   ├── concat.py
│   │   ├── eval.py
│   │   ├── extract_np.py
│   │   ├── json_plus_process.py
│   │   ├── kpg_example.py
│   │   ├── kpg_example_hfdatasets.py
│   │   ├── mag/
│   │   │   ├── __init__.py
│   │   │   ├── export_mag_cs.py
│   │   │   └── post_clean.py
│   │   ├── migrated/
│   │   │   ├── README
│   │   │   └── post_evaluate.py
│   │   ├── move_ckpt_by_devscore.py
│   │   ├── pke/
│   │   │   ├── __init__.py
│   │   │   ├── base.py
│   │   │   ├── data_structures.py
│   │   │   ├── readers.py
│   │   │   ├── supervised/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── api.py
│   │   │   │   ├── feature_based/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── kea.py
│   │   │   │   │   ├── topiccorank.py
│   │   │   │   │   └── wingnus.py
│   │   │   │   └── neural_based/
│   │   │   │       ├── __init__.py
│   │   │   │       └── seq2seq.py
│   │   │   ├── unsupervised/
│   │   │   │   ├── __init__.py
│   │   │   │   ├── graph_based/
│   │   │   │   │   ├── __init__.py
│   │   │   │   │   ├── expandrank.py
│   │   │   │   │   ├── multipartiterank.py
│   │   │   │   │   ├── positionrank.py
│   │   │   │   │   ├── single_tpr.py
│   │   │   │   │   ├── singlerank.py
│   │   │   │   │   ├── textrank.py
│   │   │   │   │   └── topicrank.py
│   │   │   │   └── statistical/
│   │   │   │       ├── __init__.py
│   │   │   │       ├── firstphrases.py
│   │   │   │       ├── kpminer.py
│   │   │   │       ├── tfidf.py
│   │   │   │       └── yake.py
│   │   │   └── utils.py
│   │   ├── preprocess.py
│   │   ├── run_infer_hfkpg.py
│   │   ├── shrink_pred_files.py
│   │   └── utils.py
│   ├── model_builder.py
│   ├── models/
│   │   ├── __init__.py
│   │   ├── model.py
│   │   ├── model_saver.py
│   │   ├── sru.py
│   │   └── stacked_rnn.py
│   ├── modules/
│   │   ├── __init__.py
│   │   ├── average_attn.py
│   │   ├── conv_multi_step_attention.py
│   │   ├── copy_generator.py
│   │   ├── embeddings.py
│   │   ├── gate.py
│   │   ├── global_attention.py
│   │   ├── multi_headed_attn.py
│   │   ├── position_ffn.py
│   │   ├── sparse_activations.py
│   │   ├── sparse_losses.py
│   │   ├── structured_attention.py
│   │   ├── util_class.py
│   │   └── weight_norm.py
│   ├── newssum/
│   │   ├── __init__.py
│   │   ├── bart/
│   │   │   ├── __init__.py
│   │   │   └── example.py
│   │   ├── cnndm/
│   │   │   ├── docid_url_mapping.py
│   │   │   ├── evaluate_bart_cnn.py
│   │   │   └── resort_examples.py
│   │   ├── docutils.py
│   │   ├── files2rouge.py
│   │   ├── fragutils.py
│   │   ├── json_to_shards.py
│   │   ├── news_preprocess.py
│   │   ├── rouge_eval/
│   │   │   ├── __init__.py
│   │   │   ├── rouge.py
│   │   │   ├── rouge_score.py
│   │   │   └── smart_common_words.txt
│   │   ├── torchviz/
│   │   │   ├── __init__.py
│   │   │   └── example.ipynb
│   │   └── wandb/
│   │       └── example_mnist.py
│   ├── opts.py
│   ├── tests/
│   │   ├── __init__.py
│   │   ├── output_hyp.txt
│   │   ├── pull_request_chk.sh
│   │   ├── rebuild_test_models.sh
│   │   ├── sample_glove.txt
│   │   ├── test_attention.py
│   │   ├── test_beam.py
│   │   ├── test_beam_search.py
│   │   ├── test_copy_generator.py
│   │   ├── test_data_prepare.py
│   │   ├── test_embeddings.py
│   │   ├── test_greedy_search.py
│   │   ├── test_models.py
│   │   ├── test_models.sh
│   │   ├── test_random_sampling.py
│   │   ├── test_simple.py
│   │   ├── test_structured_attention.py
│   │   ├── test_text_dataset.py
│   │   ├── test_translation_server.py
│   │   └── utils_for_tests.py
│   ├── train_single.py
│   ├── trainer.py
│   ├── transforms/
│   │   ├── __init__.py
│   │   ├── bart.py
│   │   ├── keyphrase.py
│   │   ├── misc.py
│   │   ├── sampling.py
│   │   ├── tokenize.py
│   │   └── transform.py
│   ├── translate/
│   │   ├── __init__.py
│   │   ├── beam.py
│   │   ├── beam_search.py
│   │   ├── decode_strategy.py
│   │   ├── greedy_search.py
│   │   ├── penalties.py
│   │   ├── process_zh.py
│   │   ├── random_sampling.py
│   │   ├── translation.py
│   │   ├── translation_server.py
│   │   └── translator.py
│   └── utils/
│       ├── __init__.py
│       ├── alignment.py
│       ├── cnn_factory.py
│       ├── distributed.py
│       ├── earlystopping.py
│       ├── logging.py
│       ├── loss.py
│       ├── misc.py
│       ├── optimizers.py
│       ├── parse.py
│       ├── report_manager.py
│       ├── rnn_factory.py
│       └── statistics.py
├── requirements.opt.txt
├── requirements.txt
├── script/
│   ├── batch_kill_by_cluster.sh
│   ├── batch_kill_by_range.sh
│   ├── empirical_study/
│   │   ├── diverse/
│   │   │   ├── kpeval_gpu_o2o_template.sh
│   │   │   ├── kpeval_gpu_template.sh
│   │   │   ├── rnn/
│   │   │   │   ├── done/
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC00.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC00.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC01.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC01.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC05.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR00-SC05.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR01-SC00.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR01-SC00.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR01-SC01.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR01-SC01.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC00.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC00.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC05.sh
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC05.yml
│   │   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR10-SC10.sh
│   │   │   │   │   └── one2seq-rnn-presabs-kp20k-OR10-SC10.yml
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR001-SC001.sh
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR001-SC001.yml
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR005-SC005.sh
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR005-SC005.yml
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR005-SC05.sh
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR005-SC05.yml
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC005.sh
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR05-SC005.yml
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR10-SC005.sh
│   │   │   │   ├── one2seq-rnn-presabs-kp20k-OR10-SC005.yml
│   │   │   │   ├── rnn-one2one-kp20k.sh
│   │   │   │   ├── rnn-one2one-kp20k.yml
│   │   │   │   ├── rnn-presabs-kp20k-E1D2.sh
│   │   │   │   ├── rnn-presabs-kp20k-E1D2.yml
│   │   │   │   ├── rnn-presabs-kp20k-E2D1.sh
│   │   │   │   ├── rnn-presabs-kp20k-E2D1.yml
│   │   │   │   ├── rnn-presabs-kp20k-E2D2.sh
│   │   │   │   ├── rnn-presabs-kp20k-E2D2.yml
│   │   │   │   ├── rnn-presabs-kp20k.sh
│   │   │   │   └── rnn-presabs-kp20k.yml
│   │   │   ├── run_pred_o2o_dev.sh
│   │   │   ├── run_pred_o2s_dev.sh
│   │   │   └── transformer/
│   │   │       ├── one2seq-transformer-presabs-kp20k-E6D6.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-E6D6.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-E6D9.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-E6D9.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-E9D6.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-E9D6.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR00-SC01.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR00-SC01.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR00-SC05.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR00-SC05.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR001-SC001.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR001-SC001.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR005-SC005.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR005-SC005.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR01-SC00.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR01-SC00.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR01-SC01.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR01-SC01.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR05-SC00.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR05-SC00.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR05-SC05.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR05-SC05.yml
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR10-SC10.sh
│   │   │       ├── one2seq-transformer-presabs-kp20k-OR10-SC10.yml
│   │   │       ├── transformer-one2one-kp20k.sh
│   │   │       ├── transformer-one2one-kp20k.yml
│   │   │       ├── transformer-presabs-kp20k.sh
│   │   │       └── transformer-presabs-kp20k.yml
│   │   ├── empirical_cmd.txt
│   │   ├── preprocess/
│   │   │   ├── kp20k.sh
│   │   │   └── magkp.sh
│   │   ├── srun_one2one/
│   │   │   ├── eval/
│   │   │   │   ├── kpeval_duc.sh
│   │   │   │   ├── kpeval_inspec.sh
│   │   │   │   ├── kpeval_kp20k.sh
│   │   │   │   ├── kpeval_kp20k_gpu.sh
│   │   │   │   ├── kpeval_kp20k_valid2k.sh
│   │   │   │   ├── kpeval_krapivin.sh
│   │   │   │   ├── kpeval_nus.sh
│   │   │   │   ├── kpeval_semeval.sh
│   │   │   │   ├── kpeval_stackexchange.sh
│   │   │   │   └── kpeval_stackexchange_valid2k.sh
│   │   │   ├── eval_cpu_template.sh
│   │   │   ├── eval_gpu_template.sh
│   │   │   ├── eval_v2/
│   │   │   │   ├── kpeval_duc.sh
│   │   │   │   ├── kpeval_inspec.sh
│   │   │   │   ├── kpeval_kp20k.sh
│   │   │   │   ├── kpeval_kp20k_gpu.sh
│   │   │   │   ├── kpeval_kp20k_topmodel_gpu.sh
│   │   │   │   ├── kpeval_kp20k_valid2k.sh
│   │   │   │   ├── kpeval_kp20k_valid2k_gpu.sh
│   │   │   │   ├── kpeval_krapivin.sh
│   │   │   │   ├── kpeval_nus.sh
│   │   │   │   └── kpeval_semeval.sh
│   │   │   ├── run_predeval.sh
│   │   │   ├── run_predeval_v1_gpu.sh
│   │   │   ├── run_predeval_v2.sh
│   │   │   ├── run_predeval_v2_eval.sh
│   │   │   ├── run_predeval_v2_pred_cpu.sh
│   │   │   ├── run_predeval_v2_pred_gpu.sh
│   │   │   └── train/
│   │   │       ├── 1st/
│   │   │       │   ├── run_train.txt
│   │   │       │   ├── srun_kp-rnn-1gpu.sh
│   │   │       │   ├── srun_kp-transformer-1gpu.sh
│   │   │       │   └── srun_stackexchange-rnn-1gpu.sh
│   │   │       └── 2nd/
│   │   │           ├── kp20k-rnn-BS128-Layer1-Dim150-Emb100-Dropout0.0-Copyfalse-Covfalse-Contboth-IF1.sh
│   │   │           ├── kp20k-rnn-BS128-Layer1-Dim512-Emb128-Dropout0.1-Copytrue-Covtrue-Contboth-IF1.sh
│   │   │           ├── kp20k-transformer-BS4096-Layer2-Heads4-Dim128-Emb128-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   │           ├── kp20k-transformer-BS4096-Layer4-Heads8-Dim128-Emb128-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   │           ├── kp20k-transformer-BS4096-Layer4-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   │           ├── kp20k-transformer-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   │           ├── magkp-rnn-BS128-Layer1-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue-Contboth-IF1.sh
│   │   │           ├── magkp-rnn-BS128-Layer1-Dim150-Emb100-Dropout0.1-Copytrue-Covtrue-Contboth-IF1.sh
│   │   │           ├── magkp-transformer-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   │           ├── magkp20k-rnn-BS128-Layer1-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue-Contboth-IF1.sh
│   │   │           ├── magkp20k-rnn-BS128-Layer1-Dim512-Emb128-Dropout0.1-Copytrue-Covtrue-Contboth-IF1.sh
│   │   │           └── magkp20k-transformer-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Covtrue-Contextboth.sh
│   │   └── srun_one2seq/
│   │       ├── kpeval_cpu.sh
│   │       ├── kpeval_gpu.sh
│   │       ├── old/
│   │       │   ├── kpeval-beam10-maxlen40/
│   │       │   │   ├── config-test-keyphrase-one2many.yml
│   │       │   │   ├── kpeval_duc.sh
│   │       │   │   ├── kpeval_inspec.sh
│   │       │   │   ├── kpeval_kp20k_valid500.sh
│   │       │   │   ├── kpeval_krapivin.sh
│   │       │   │   ├── kpeval_nus.sh
│   │       │   │   └── kpeval_semeval.sh
│   │       │   ├── kpeval-beam25-maxlen40/
│   │       │   │   ├── config-test-keyphrase-one2many.yml
│   │       │   │   ├── kpeval_duc.sh
│   │       │   │   ├── kpeval_inspec.sh
│   │       │   │   ├── kpeval_kp20k_valid500.sh
│   │       │   │   ├── kpeval_krapivin.sh
│   │       │   │   ├── kpeval_nus.sh
│   │       │   │   └── kpeval_semeval.sh
│   │       │   └── kpeval-beam50-maxlen40/
│   │       │       ├── config-test-keyphrase-one2many.yml
│   │       │       ├── kpeval_duc.sh
│   │       │       ├── kpeval_inspec.sh
│   │       │       ├── kpeval_kp20k_valid500.sh
│   │       │       ├── kpeval_krapivin.sh
│   │       │       ├── kpeval_nus.sh
│   │       │       └── kpeval_semeval.sh
│   │       ├── run_eval_exhaustive.sh
│   │       ├── run_eval_selfterminating.sh
│   │       ├── run_pred.sh
│   │       ├── run_pred_gpu.sh
│   │       ├── run_pred_v2.sh
│   │       ├── run_pred_v2_gpu.sh
│   │       └── train/
│   │           ├── 1st/
│   │           │   ├── srun_kp-rnn-1gpu-alphabetical.sh
│   │           │   ├── srun_kp-rnn-1gpu-length.sh
│   │           │   ├── srun_kp-rnn-1gpu-no_sort.sh
│   │           │   ├── srun_kp-rnn-1gpu-random.sh
│   │           │   ├── srun_kp-rnn-1gpu-verbatim_append.sh
│   │           │   ├── srun_kp-rnn-1gpu-verbatim_prepend.sh
│   │           │   ├── srun_kp-transformer-1gpu-alphabetical.sh
│   │           │   ├── srun_kp-transformer-1gpu-length.sh
│   │           │   ├── srun_kp-transformer-1gpu-no_sort.sh
│   │           │   ├── srun_kp-transformer-1gpu-random.sh
│   │           │   ├── srun_kp-transformer-1gpu-verbatim_append.sh
│   │           │   └── srun_kp-transformer-1gpu-verbatim_prepend.sh
│   │           ├── 2nd/
│   │           │   ├── kp20k-verbatim_append-rnn-BS64-Layer1-Dim100-Emb100-Dropout0.0-Copytrue-Reusetrue-Covfalse-PEfalse-Contboth-IF1.sh
│   │           │   ├── kp20k-verbatim_append-rnn-BS64-Layer1-Dim100-Emb100-Dropout0.0-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── kp20k-verbatim_append-rnn-BS64-Layer1-Dim150-Emb100-Dropout0.0-Copytrue-Reusetrue-Covfalse-PEfalse-Contboth-IF1.sh
│   │           │   ├── kp20k-verbatim_append-rnn-BS64-Layer1-Dim512-Emb128-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── magkp20k-verbatim_append-rnn-BS64-Layer1-Dim150-Emb100-Dropout0.0-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── magkp20k-verbatim_append-rnn-BS64-Layer1-Dim512-Emb128-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── magkp20k-verbatim_append-transformer-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   ├── verbatim_append-rnn-kp20k-BS64-Layer1-Dim150-Emb100-Dropout0.0-Copyfalse-Reusefalse-Covfalse-PEfalse-Contboth-IF1.sh
│   │           │   ├── verbatim_append-rnn-kp20k-BS64-Layer1-Dim150-Emb100-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── verbatim_append-rnn-magkp-BS64-Layer1-Dim150-Emb100-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── verbatim_append-rnn-magkp-BS64-Layer1-Dim512-Emb128-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEfalse-Contboth-IF1.sh
│   │           │   ├── verbatim_append-transformer-kp20k-BS4096-Layer2-Heads4-Dim128-Emb128-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   ├── verbatim_append-transformer-kp20k-BS4096-Layer4-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   ├── verbatim_append-transformer-kp20k-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   ├── verbatim_append-transformer-magkp-BS4096-Layer2-Heads4-Dim128-Emb128-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   ├── verbatim_append-transformer-magkp-BS4096-Layer4-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           │   └── verbatim_append-transformer-magkp-BS4096-Layer6-Heads8-Dim512-Emb512-Dropout0.1-Copytrue-Reusetrue-Covtrue-PEtrue-Contextboth-IF1.sh
│   │           └── 3rd/
│   │               ├── kpgen-one2one-transformer-copycovfalse-kp20k.sh
│   │               ├── kpgen-one2one-transformer-kp20k.sh
│   │               ├── kpgen-one2one-transformer-magkp.sh
│   │               ├── kpgen-one2one-transformer-magkp20k.sh
│   │               ├── kpgen-one2seq-alphabetical-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-alphabetical_reverse-rnn-kp20k.sh
│   │               ├── kpgen-one2seq-alphabetical_reverse-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-length-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-length_reverse-rnn-kp20k.sh
│   │               ├── kpgen-one2seq-length_reverse-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-no_sort-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-no_sort_reverse-rnn-kp20k.sh
│   │               ├── kpgen-one2seq-no_sort_reverse-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-random-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_LN+kp20kFT.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_LN.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge+kp20kFT.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall+kp20kFT.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-copycovfalse-kp20k.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-copycovfalse-magkp20k.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_LN.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nlarge.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nsmall.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-kp20k.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-magkp+kp20kFT.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-magkp.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-magkp20k+kp20kFT.sh
│   │               ├── kpgen-one2seq-verbatim_append-transformer-magkp20k.sh
│   │               └── kpgen-one2seq-verbatim_prepend-transformer-kp20k.sh
│   ├── release/
│   │   ├── bart/
│   │   │   ├── DA-kp20k_4gpu.sh
│   │   │   ├── PTDA-kp20k_4gpu.sh
│   │   │   ├── PTDAFT-kp20k-fewshot100.sh
│   │   │   ├── PTDAFT-kp20k-fewshot10k.sh
│   │   │   ├── PTDAFT-kp20k-fewshot1k.sh
│   │   │   ├── nohup-bart-PTDA-magcs12m-lr1e5-step20k-bs256.sh
│   │   │   └── nohup-bart-wiki-lr1e5-step40k-bs256.sh
│   │   ├── mag/
│   │   │   ├── mag_transfer_labelling_bart.sh
│   │   │   ├── mag_transfer_labelling_tf.sh
│   │   │   ├── nohup-transformer-PTDA-magcs12m-tlrs55-step200k.sh
│   │   │   ├── prev/
│   │   │   │   ├── nohup-bart-DA_MagTL100k-lr1e5-step20k.sh
│   │   │   │   ├── nohup-bart-DA_MagTL13m-FT_full-lr1e5-step100k.sh
│   │   │   │   ├── nohup-bart-DA_MagTL13m-lr1e5-step200k.sh
│   │   │   │   └── nohup-bart-DA_MagTL3m-lr1e5-step200k.sh
│   │   │   ├── transformer-PTDA-magcs12m-tlrs55-step200k.yml
│   │   │   ├── transformer-PTDAFT-magcs12m-FT100k-step20k.yml
│   │   │   ├── transformer-PTDAFT-magcs12m-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-PTDAFT-magcs12m-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-PTDAFT-magcs12m-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-PTDAFT-magcs12m-full-step100k.yml
│   │   │   ├── transformer-PTDAFT-magcs1m-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-PTDAFT-magcs1m-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-PTDAFT-magcs1m-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-PTFT-kp20k_100k-step20k.yml
│   │   │   └── transformer-kp20k_100k-step100k.yml
│   │   ├── tf/
│   │   │   ├── DA/
│   │   │   │   ├── transformer-DA-kp20k-tlrs55.yml
│   │   │   │   ├── transformer-DA-kp20k.yml
│   │   │   │   ├── transformer-DA-kptimes-tlrs55.yml
│   │   │   │   ├── transformer-DA-kptimes.yml
│   │   │   │   ├── transformer-DA-openkp-tlrs55.yml
│   │   │   │   ├── transformer-DA-openkp.yml
│   │   │   │   ├── transformer-DA-stackex-tlrs55.yml
│   │   │   │   └── transformer-DA-stackex.yml
│   │   │   ├── DAFT/
│   │   │   │   ├── deprecated/
│   │   │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot100_step1k_lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot10k_step4k_lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot1k_step2k_lr1e5.yml
│   │   │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   └── transformer-stackex-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-stackex-DA-tlrs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-stackex-DA-tlrs55-step40k-FT-fewshot10k.yml
│   │   │   │   └── transformer-stackex-DA-tlrs55-step40k-FT-fewshot1k.yml
│   │   │   ├── DAcompare/
│   │   │   │   ├── transformer-DA-kp20k-step20k.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-NP.sh
│   │   │   │   ├── transformer-DA-kp20k-step40k-NP.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-RS.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-TL.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-nprs_55.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tl_beam10.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tl_beam25.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tl_beam3.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tl_beam5.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tl_beam50.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlnp_28.sh
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlnp_28.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlnp_55.sh
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlnp_55.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlnp_82.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlrs_28.sh
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlrs_28.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlrs_55.sh
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlrs_55.yml
│   │   │   │   ├── transformer-DA-kp20k-step40k-tlrs_82.yml
│   │   │   │   ├── transformer-PTDA-kp20k-step20k-NP.yml
│   │   │   │   ├── transformer-PTDA-kp20k-step20k-RS.yml
│   │   │   │   ├── transformer-PTDA-kp20k-step20k-TL.yml
│   │   │   │   ├── transformer-PTDA-kp20k-step20k-nprs55.yml
│   │   │   │   ├── transformer-PTDA-kp20k-step20k-tlnp55.yml
│   │   │   │   └── transformer-PTDA-kp20k-step20k-tlrs55.yml
│   │   │   ├── DAcompareFT/
│   │   │   │   ├── deprecated/
│   │   │   │   │   ├── transformer-kp20k-DA-NP-step75k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-RS-step100k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-TLbart-step100k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-TLbart-tlnp55-step100k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-TLtf-beam25-step40k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   ├── transformer-kp20k-DA-TLtf-beam50-step40k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   │   └── transformer-kp20k-DA-TLtf-step20k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot1k.yml
│   │   │   │   ├── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot10k.yml
│   │   │   │   └── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot1k.yml
│   │   │   ├── FT/
│   │   │   │   ├── transformer-kp20k-fewshot100.yml
│   │   │   │   ├── transformer-kp20k-fewshot10k.yml
│   │   │   │   ├── transformer-kp20k-fewshot1k.yml
│   │   │   │   ├── transformer-kptimes-fewshot100.yml
│   │   │   │   ├── transformer-kptimes-fewshot10k.yml
│   │   │   │   ├── transformer-kptimes-fewshot1k.yml
│   │   │   │   ├── transformer-openkp-fewshot100.yml
│   │   │   │   ├── transformer-openkp-fewshot10k.yml
│   │   │   │   ├── transformer-openkp-fewshot1k.yml
│   │   │   │   ├── transformer-stackex-fewshot100.yml
│   │   │   │   ├── transformer-stackex-fewshot10k.yml
│   │   │   │   └── transformer-stackex-fewshot1k.yml
│   │   │   ├── PT/
│   │   │   │   └── transformer-PT-wiki.yml
│   │   │   ├── PTDA/
│   │   │   │   ├── transformer-PTDA-kp20k-tlrs55.yml
│   │   │   │   ├── transformer-PTDA-kp20k.yml
│   │   │   │   ├── transformer-PTDA-kptimes-tlrs55.yml
│   │   │   │   ├── transformer-PTDA-kptimes.yml
│   │   │   │   ├── transformer-PTDA-openkp-tlrs55.yml
│   │   │   │   ├── transformer-PTDA-openkp.yml
│   │   │   │   ├── transformer-PTDA-stackex-tlrs55.yml
│   │   │   │   └── transformer-PTDA-stackex.yml
│   │   │   ├── PTDAFT_tl/
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-stackex-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-stackex-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   └── transformer-stackex-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── PTDAFT_tlrs55/
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-kp20k-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-kptimes-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   ├── transformer-openkp-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   │   ├── transformer-stackex-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │   │   ├── transformer-stackex-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   │   └── transformer-stackex-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── selftrain/
│   │   │   │   ├── DA/
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round10.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round2.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round3.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round4.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round5.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round6.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round7.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round8.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf-round9.yml
│   │   │   │   │   ├── transformer-PTDA-kp20k-TLtf.sh
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round1.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round10.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round2.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round3.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round4.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round5.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round6.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round7.sh
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round7.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round8.yml
│   │   │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round9.yml
│   │   │   │   │   └── transformer-PTDA-magkp1m-TLtf.sh
│   │   │   │   ├── FT/
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-fewshot10k.sh
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round1-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round10-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round2-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round3-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round4-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round5-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round6-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round7-fewshot10k.sh
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round7-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round8-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-kp20k-round9-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-fewshot10k.sh
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round1-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round10-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round2-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round3-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round4-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round5-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round6-fewshot10k.sh
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round6-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round7-fewshot10k.sh
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round7-fewshot10k.yml
│   │   │   │   │   ├── transformer-PTDAFT-magkp1m-round8-fewshot10k.yml
│   │   │   │   │   └── transformer-PTDAFT-magkp1m-round9-fewshot10k.yml
│   │   │   │   ├── kppred_selftrain_kp20k.sh
│   │   │   │   ├── kppred_selftrain_kp20k100k.sh
│   │   │   │   └── kppred_selftrain_magkp1m.sh
│   │   │   ├── tf_tlgenerate_pseudokp.sh
│   │   │   └── tl_gpu_template.sh
│   │   └── transfer_cmd.txt
│   ├── transfer/
│   │   ├── kpeval_cpu_template.sh
│   │   ├── kpeval_gpu_scavenger_template.sh
│   │   ├── kpeval_gpu_template.sh
│   │   ├── kpeval_o2o_gpu_template.sh
│   │   ├── kppred_selftrain_magkp1m.sh
│   │   ├── kppred_v100.sh
│   │   ├── mag/
│   │   │   ├── bart/
│   │   │   │   ├── nohup-bart-DA_MagTL12m-lr1e5-step20k-bs256.sh
│   │   │   │   ├── nohup-bart-DA_MagTL13m-FT_full-lr1e5-step100k.sh
│   │   │   │   ├── nohup-bart-DA_MagTL13m-lr1e5-step200k.sh
│   │   │   │   ├── nohup-bart-DA_MagTL1m-lr1e5-step5k-bs256.sh
│   │   │   │   └── nohup-bart-DA_MagTL3m-lr1e5-step200k.sh
│   │   │   ├── mag_np.sh
│   │   │   ├── mag_np_sbatch.sh
│   │   │   ├── mag_transfer_labelling.sh
│   │   │   ├── run_pred_o2s_scipaper.sh
│   │   │   └── tf/
│   │   │       ├── nohup_train_transformer-kp20k-PTDA_100k-FT_full-step100k-lr5e5.sh
│   │   │       ├── transformer-DA-kp20k.sh
│   │   │       ├── transformer-DA_mag_TLbart-step500k-lr3e4-tlnp82.yml
│   │   │       ├── transformer-MagTL-singleshard.yml
│   │   │       ├── transformer-PT-MagDA-step300k-lr1e5-tlnp82-nohup.sh
│   │   │       ├── transformer-PT-MagDA-step300k-lr1e5-tlnp82.yml
│   │   │       ├── transformer-PT-MagTL-lr5e5-step100k-tl:np=8:2.yml
│   │   │       ├── transformer-PT-MagTL-lr5e5-step300k-tl:np=8:2.sh
│   │   │       ├── transformer-PT-MagTL-lr5e5-step300k-tl:np=8:2.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot100-step1k-lr1e5.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot100-step1k-lr5e6.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot10k-step4k-lr1e5.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot10k-step4k-lr5e6.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot1k-step2k-lr1e5.yml
│   │   │       ├── transformer-kp20k-DAFT-fewshot1k-step2k-lr5e6.yml
│   │   │       ├── transformer-kp20k-PTDAFT-fewshot100-step1k-lr1e5.yml
│   │   │       ├── transformer-kp20k-PTDAFT-fewshot10k-step4k-lr1e5.yml
│   │   │       ├── transformer-kp20k-PTDAFT-fewshot1k-step2k-lr1e5.yml
│   │   │       ├── transformer-kp20k-PTDA_kp20k_20k-FT_full-step100k-lr1e5.yml
│   │   │       ├── transformer-kp20k-PTDA_kp20k_20k-FT_full-step20k-lr1e5-warmup2k.sh
│   │   │       ├── transformer-kp20k-PTDA_kp20k_20k-FT_full-step20k-lr1e5-warmup2k.yml
│   │   │       ├── transformer-kp20k-PTDA_kp20k_20k-FT_full-step50k-lr1e4-warmup5k.sh
│   │   │       ├── transformer-kp20k-PTDA_kp20k_20k-FT_full-step50k-lr1e4-warmup5k.yml
│   │   │       ├── transformer-kp20k-PT_step200k-DA_step20k-FT_full_step100k_lr5e5_warmup10k.sh
│   │   │       ├── transformer-kp20k-PT_step200k-DA_step20k-FT_full_step100k_lr5e5_warmup10k.yml
│   │   │       ├── transformer-kp20k-PT_step200k-FT_full_step100k_lr5e5_warmup10k.sh
│   │   │       ├── transformer-kp20k-PT_step200k-FT_full_step100k_lr5e5_warmup10k.yml
│   │   │       ├── transformer-kp20k-PT_step200k-FT_full_step20k-lr1e5-warmup2k.sh
│   │   │       ├── transformer-kp20k-PT_step200k-FT_full_step20k-lr1e5-warmup2k.yml
│   │   │       ├── transformer-kp20k_DAFT-fulldata-step100k-lr1e5.sh
│   │   │       ├── transformer-kp20k_DAFT-fulldata-step100k-lr1e5.yml
│   │   │       └── transformer-kp20k_PTDAFT-fulldata-step100k-lr5e5.yml
│   │   ├── run_eval.sh
│   │   ├── run_eval_o2o.sh
│   │   ├── run_eval_o2s.sh
│   │   ├── run_eval_o2s_fewshot.sh
│   │   ├── run_pred_o2o_gpu.sh
│   │   ├── run_pred_o2s_gpu.sh
│   │   ├── run_pred_o2s_gpu_debug.sh
│   │   ├── run_pred_o2s_gpu_fewshot.sh
│   │   ├── run_pred_o2s_gpu_fewshot_dev.sh
│   │   ├── run_pred_o2s_gpu_fewshot_scavenger.sh
│   │   ├── train_bart_DA/
│   │   │   ├── wikida-kp20k_4gpu.sh
│   │   │   ├── wikida-kptimes_4gpu.sh
│   │   │   ├── wikida-openkp_4gpu.sh
│   │   │   └── wikida-stackex_4gpu.sh
│   │   ├── train_bart_fewshot/
│   │   │   ├── kpgen-bart-presabs-kp20k-fewshot100.sh
│   │   │   ├── kpgen-bart-presabs-kp20k-fewshot10k.sh
│   │   │   ├── kpgen-bart-presabs-kp20k-fewshot1k.sh
│   │   │   ├── kpgen-bart-presabs-kptimes-fewshot100.sh
│   │   │   ├── kpgen-bart-presabs-kptimes-fewshot10k.sh
│   │   │   ├── kpgen-bart-presabs-kptimes-fewshot1k.sh
│   │   │   ├── kpgen-bart-presabs-openkp-fewshot100.sh
│   │   │   ├── kpgen-bart-presabs-openkp-fewshot10k-resume.sh
│   │   │   ├── kpgen-bart-presabs-openkp-fewshot10k.sh
│   │   │   ├── kpgen-bart-presabs-openkp-fewshot1k.sh
│   │   │   ├── kpgen-bart-presabs-stackex-fewshot100.sh
│   │   │   ├── kpgen-bart-presabs-stackex-fewshot10k.sh
│   │   │   ├── kpgen-bart-presabs-stackex-fewshot1k.sh
│   │   │   ├── kpgen-bartwikikp-presabs-kp20k.sh
│   │   │   ├── kpgen-bartwikikp-presabs-kptimes.sh
│   │   │   ├── kpgen-bartwikikp-presabs-openkp-fewshot10k-resume.sh
│   │   │   ├── kpgen-bartwikikp-presabs-openkp-fewshot10k.sh
│   │   │   └── kpgen-bartwikikp-presabs-stackex.sh
│   │   ├── train_bartwikikp_DAFT_fewshot/
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kp20k-fewshot100.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kp20k-fewshot10k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kp20k-fewshot1k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kptimes-fewshot100.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kptimes-fewshot10k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-kptimes-fewshot1k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-openkp-fewshot100.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-openkp-fewshot10k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-openkp-fewshot1k.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-stackex-fewshot100.sh
│   │   │   ├── kpgen-bartwikikp-DAFT-presabs-stackex-fewshot10k.sh
│   │   │   └── kpgen-bartwikikp-DAFT-presabs-stackex-fewshot1k.sh
│   │   ├── train_fulldata/
│   │   │   ├── kpgen-bart-one2one-kp20k.sh
│   │   │   ├── kpgen-bart-one2one-kptimes.sh
│   │   │   ├── kpgen-bart-one2one-openkp.sh
│   │   │   ├── kpgen-bart-one2one-stackex.sh
│   │   │   ├── kpgen-bart-presabs-kp20k-resume.sh
│   │   │   ├── kpgen-bart-presabs-kp20k.sh
│   │   │   ├── kpgen-bart-presabs-kptimes-resume.sh
│   │   │   ├── kpgen-bart-presabs-kptimes.sh
│   │   │   ├── kpgen-bart-presabs-openkp-rerun.sh
│   │   │   ├── kpgen-bart-presabs-openkp-resume.sh
│   │   │   ├── kpgen-bart-presabs-openkp.sh
│   │   │   ├── kpgen-bart-presabs-stackex-rerun.sh
│   │   │   ├── kpgen-bart-presabs-stackex-resume.sh
│   │   │   ├── kpgen-transformer-one2one-kp20k.sh
│   │   │   ├── kpgen-transformer-one2one-kptimes.sh
│   │   │   ├── kpgen-transformer-one2one-openkp.sh
│   │   │   ├── kpgen-transformer-one2one-stackex.sh
│   │   │   ├── kpgen-transformer-presabs-kp20k-lower.sh
│   │   │   ├── kpgen-transformer-presabs-kp20k-nocopy-lower.sh
│   │   │   ├── kpgen-transformer-presabs-kp20k-nocopy.sh
│   │   │   ├── kpgen-transformer-presabs-kp20k.sh
│   │   │   ├── kpgen-transformer-presabs-kptimes.sh
│   │   │   ├── kpgen-transformer-presabs-openkp.sh
│   │   │   ├── kpgen-transformer-presabs-stackex.sh
│   │   │   ├── transformer-one2one-kp20k.yml
│   │   │   ├── transformer-one2one-kptimes.yml
│   │   │   ├── transformer-one2one-openkp.yml
│   │   │   ├── transformer-one2one-stackex.yml
│   │   │   ├── transformer-presabs-kp20k-lower.yml
│   │   │   ├── transformer-presabs-kp20k-nocopy-lower.yml
│   │   │   ├── transformer-presabs-kp20k-nocopy.yml
│   │   │   ├── transformer-presabs-kp20k.yml
│   │   │   ├── transformer-presabs-kptimes.yml
│   │   │   ├── transformer-presabs-openkp.yml
│   │   │   └── transformer-presabs-stackex.yml
│   │   ├── train_tf_DA/
│   │   │   ├── transformer-DA-kp20k-NP.sh
│   │   │   ├── transformer-DA-kp20k-NP.yml
│   │   │   ├── transformer-DA-kp20k-RS.yml
│   │   │   ├── transformer-DA-kp20k-TL.sh
│   │   │   ├── transformer-DA-kp20k-TL.yml
│   │   │   ├── transformer-DA-kp20k.sh
│   │   │   ├── transformer-DA-kp20k.yml
│   │   │   ├── transformer-DA-kptimes.sh
│   │   │   ├── transformer-DA-kptimes.yml
│   │   │   ├── transformer-DA-openkp.sh
│   │   │   ├── transformer-DA-openkp.yml
│   │   │   ├── transformer-DA-stackex.sh
│   │   │   ├── transformer-DA-stackex.yml
│   │   │   ├── transformer-PT-wiki.yml
│   │   │   ├── transformer-PTDA-kp20k.yml
│   │   │   ├── transformer-PTDA-kptimes.yml
│   │   │   ├── transformer-PTDA-openkp.yml
│   │   │   └── transformer-PTDA-stackex.yml
│   │   ├── train_tf_ablation/
│   │   │   ├── transformer-kp20k-fewshot100-DA-NP-step50k-FT-step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot100-DA-RS-step50k-FT-step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot100-DA-TL-step50k-FT-step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot10k-DA-NP-step50k-FT-step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot10k-DA-RS-step50k-FT-step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot10k-DA-TL-step50k-FT-step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot1k-DA-NP-step50k-FT-step2k-lr1e5.yml
│   │   │   ├── transformer-kp20k-fewshot1k-DA-RS-step50k-FT-step2k-lr1e5.yml
│   │   │   └── transformer-kp20k-fewshot1k-DA-TL-step50k-FT-step2k-lr1e5.yml
│   │   ├── train_tf_fewshot/
│   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr1e3.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr1e4.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr1e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr3e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr5e4.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr5e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100-lr5e6.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot100.sh
│   │   │   ├── transformer-kp20k-DAFT-fewshot100.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot10k-step4k-lr1e6.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot10k-step4k-lr5e6.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot1k-step2k-lr1e6.yml
│   │   │   ├── transformer-kp20k-DAFT-fewshot1k-step2k-lr5e6.yml
│   │   │   ├── transformer-kp20k-fewshot100.sh
│   │   │   ├── transformer-kp20k-fewshot100.yml
│   │   │   ├── transformer-kp20k-fewshot10k.yml
│   │   │   ├── transformer-kp20k-fewshot1k.yml
│   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot10k-step8k-lr1e5.yml
│   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-kptimes-fewshot100.sh
│   │   │   ├── transformer-kptimes-fewshot100.yml
│   │   │   ├── transformer-kptimes-fewshot10k.yml
│   │   │   ├── transformer-kptimes-fewshot1k.yml
│   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-openkp-DAFT-fewshot10k-step4k-lr5e6.yml
│   │   │   ├── transformer-openkp-DAFT-fewshot1k-step2k-lr5e6.yml
│   │   │   ├── transformer-openkp-fewshot100.sh
│   │   │   ├── transformer-openkp-fewshot100.yml
│   │   │   ├── transformer-openkp-fewshot10k.yml
│   │   │   ├── transformer-openkp-fewshot1k.yml
│   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-stackex-DAFT-fewshot10k-step4k-lr5e6.yml
│   │   │   ├── transformer-stackex-DAFT-fewshot1k-step2k-lr5e6.yml
│   │   │   ├── transformer-stackex-fewshot100.sh
│   │   │   ├── transformer-stackex-fewshot100.yml
│   │   │   ├── transformer-stackex-fewshot10k.yml
│   │   │   └── transformer-stackex-fewshot1k.yml
│   │   ├── train_tf_fewshot_v2/
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr1e4.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr1e6.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr3e5.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr5e5.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot100_step1k-lr5e6.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-PT-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-kp20k-PTDA-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-kp20k-PTDA-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-kp20k-PTDA-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PT-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PT-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PT-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PTDA-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PTDA-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-kptimes-PTDA-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-openkp-PT-FT-fewshot100-step1k-lr1e5.yml
│   │   │   ├── transformer-openkp-PT-FT-fewshot10k-step4k-lr1e5.yml
│   │   │   ├── transformer-openkp-PT-FT-fewshot1k-step2k-lr1e5.yml
│   │   │   ├── transformer-openkp-PTDA-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-openkp-PTDA-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-openkp-PTDA-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-stackex-PT-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-stackex-PT-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   ├── transformer-stackex-PT-FT_fewshot1k_step2k-lr1e5.yml
│   │   │   ├── transformer-stackex-PTDA-FT_fewshot100_step1k-lr1e5.yml
│   │   │   ├── transformer-stackex-PTDA-FT_fewshot10k_step4k-lr1e5.yml
│   │   │   └── transformer-stackex-PTDA-FT_fewshot1k_step2k-lr1e5.yml
│   │   ├── transfer_cmd.txt
│   │   └── transformer-presabs-kp20k-test.yml
│   └── transfer_v2/
│       ├── bart/
│       │   ├── DA/
│       │   │   ├── bart-DA-kp20k.yml
│       │   │   ├── bart-DA-kptimes.yml
│       │   │   ├── bart-DA-openkp.yml
│       │   │   ├── bart-DA-stackex.yml
│       │   │   ├── wikida-kp20k_4gpu.sh
│       │   │   ├── wikida-kptimes_4gpu.sh
│       │   │   ├── wikida-openkp_4gpu.sh
│       │   │   └── wikida-stackex_4gpu.sh
│       │   ├── nohup-bart-PTDA-magcs12m-lr1e5-step20k-bs256.sh
│       │   ├── nohup-bart-wiki-lr1e5-step200k.sh
│       │   └── nohup-bart-wiki-lr1e5-step40k-bs256.sh
│       ├── mag/
│       │   ├── mag_transfer_labelling_bart.sh
│       │   ├── mag_transfer_labelling_tf.sh
│       │   ├── nohup-bart-PTDA_magcs12m-tlrs55-lr1e5-step200k.sh
│       │   ├── nohup-transformer-PTDA-magcs12m-tlrs55-step200k.sh
│       │   ├── prev/
│       │   │   ├── nohup-bart-DA_MagTL100k-lr1e5-step20k.sh
│       │   │   ├── nohup-bart-DA_MagTL13m-FT_full-lr1e5-step100k.sh
│       │   │   ├── nohup-bart-DA_MagTL13m-lr1e5-step200k.sh
│       │   │   └── nohup-bart-DA_MagTL3m-lr1e5-step200k.sh
│       │   ├── transformer-PTDA-magcs12m-tlrs55-step200k.yml
│       │   ├── transformer-PTDAFT-magcs12m-FT100k-step20k.yml
│       │   ├── transformer-PTDAFT-magcs12m-fewshot100-step1k-lr1e5.yml
│       │   ├── transformer-PTDAFT-magcs12m-fewshot10k-step4k-lr1e5.yml
│       │   ├── transformer-PTDAFT-magcs12m-fewshot1k-step2k-lr1e5.yml
│       │   ├── transformer-PTDAFT-magcs12m-full-step100k.yml
│       │   ├── transformer-PTDAFT-magcs1m-fewshot100-step1k-lr1e5.yml
│       │   ├── transformer-PTDAFT-magcs1m-fewshot10k-step4k-lr1e5.yml
│       │   ├── transformer-PTDAFT-magcs1m-fewshot1k-step2k-lr1e5.yml
│       │   ├── transformer-PTFT-kp20k_100k-step20k.yml
│       │   └── transformer-kp20k_100k-step100k.yml
│       ├── tf/
│       │   ├── DA/
│       │   │   ├── transformer-DA-kp20k-tlrs55.yml
│       │   │   ├── transformer-DA-kp20k.yml
│       │   │   ├── transformer-DA-kptimes-tlrs55.yml
│       │   │   ├── transformer-DA-kptimes.yml
│       │   │   ├── transformer-DA-openkp-tlrs55.yml
│       │   │   ├── transformer-DA-openkp.yml
│       │   │   ├── transformer-DA-stackex-tlrs55.yml
│       │   │   └── transformer-DA-stackex.yml
│       │   ├── DAFT/
│       │   │   ├── deprecated/
│       │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot100_step1k_lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot10k_step4k_lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA_step100k-FT_fewshot1k_step2k_lr1e5.yml
│       │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│       │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kptimes-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│       │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│       │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-openkp-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│       │   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot100-step1k-lr1e5.yml
│       │   │   │   ├── transformer-stackex-DA-step50k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   └── transformer-stackex-DA-step50k-FT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-tlrs55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kptimes-DA-tlrs55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-openkp-DA-tlrs55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-stackex-DA-tlrs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-stackex-DA-tlrs55-step40k-FT-fewshot10k.yml
│       │   │   └── transformer-stackex-DA-tlrs55-step40k-FT-fewshot1k.yml
│       │   ├── DAcompare/
│       │   │   ├── transformer-DA-kp20k-step20k.yml
│       │   │   ├── transformer-DA-kp20k-step40k-NP.sh
│       │   │   ├── transformer-DA-kp20k-step40k-NP.yml
│       │   │   ├── transformer-DA-kp20k-step40k-RS.yml
│       │   │   ├── transformer-DA-kp20k-step40k-TL.yml
│       │   │   ├── transformer-DA-kp20k-step40k-nprs_55.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tl_beam10.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tl_beam25.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tl_beam3.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tl_beam5.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tl_beam50.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlnp_28.sh
│       │   │   ├── transformer-DA-kp20k-step40k-tlnp_28.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlnp_55.sh
│       │   │   ├── transformer-DA-kp20k-step40k-tlnp_55.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlnp_82.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlrs_28.sh
│       │   │   ├── transformer-DA-kp20k-step40k-tlrs_28.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlrs_55.sh
│       │   │   ├── transformer-DA-kp20k-step40k-tlrs_55.yml
│       │   │   ├── transformer-DA-kp20k-step40k-tlrs_82.yml
│       │   │   ├── transformer-PTDA-kp20k-step20k-NP.yml
│       │   │   ├── transformer-PTDA-kp20k-step20k-RS.yml
│       │   │   ├── transformer-PTDA-kp20k-step20k-TL.yml
│       │   │   ├── transformer-PTDA-kp20k-step20k-nprs55.yml
│       │   │   ├── transformer-PTDA-kp20k-step20k-tlnp55.yml
│       │   │   └── transformer-PTDA-kp20k-step20k-tlrs55.yml
│       │   ├── DAcompareFT/
│       │   │   ├── deprecated/
│       │   │   │   ├── transformer-kp20k-DA-NP-step75k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-RS-step100k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-TLbart-step100k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-TLbart-tlnp55-step100k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-TLtf-beam25-step40k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   ├── transformer-kp20k-DA-TLtf-beam50-step40k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   │   └── transformer-kp20k-DA-TLtf-step20k-FT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-NP-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-RS-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam10-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam3-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-beam5-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-nprs55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp28-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlnp82-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs28-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs55-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-DA-TLtf-tlrs82-step40k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-PTDA-NP-step20k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-PTDA-RS-step20k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-PTDA-TL-step20k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-PTDA-nprs55-step20k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot10k.yml
│       │   │   ├── transformer-kp20k-PTDA-tlnp55-step20k-FT-fewshot1k.yml
│       │   │   ├── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot100.yml
│       │   │   ├── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot10k.yml
│       │   │   └── transformer-kp20k-PTDA-tlrs55-step20k-FT-fewshot1k.yml
│       │   ├── FT/
│       │   │   ├── transformer-kp20k-fewshot100.yml
│       │   │   ├── transformer-kp20k-fewshot10k.yml
│       │   │   ├── transformer-kp20k-fewshot1k.yml
│       │   │   ├── transformer-kptimes-fewshot100.yml
│       │   │   ├── transformer-kptimes-fewshot10k.yml
│       │   │   ├── transformer-kptimes-fewshot1k.yml
│       │   │   ├── transformer-openkp-fewshot100.yml
│       │   │   ├── transformer-openkp-fewshot10k.yml
│       │   │   ├── transformer-openkp-fewshot1k.yml
│       │   │   ├── transformer-stackex-fewshot100.yml
│       │   │   ├── transformer-stackex-fewshot10k.yml
│       │   │   └── transformer-stackex-fewshot1k.yml
│       │   ├── PT/
│       │   │   └── transformer-PT-wiki.yml
│       │   ├── PTDA/
│       │   │   ├── transformer-PTDA-kp20k-tlrs55.yml
│       │   │   ├── transformer-PTDA-kp20k.yml
│       │   │   ├── transformer-PTDA-kptimes-tlrs55.yml
│       │   │   ├── transformer-PTDA-kptimes.yml
│       │   │   ├── transformer-PTDA-openkp-tlrs55.yml
│       │   │   ├── transformer-PTDA-openkp.yml
│       │   │   ├── transformer-PTDA-stackex-tlrs55.yml
│       │   │   └── transformer-PTDA-stackex.yml
│       │   ├── PTDAFT_tl/
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-stackex-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-stackex-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   └── transformer-stackex-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   ├── PTDAFT_tlrs55/
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-kp20k-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-kptimes-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   ├── transformer-openkp-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   │   ├── transformer-stackex-PTDAFT-fewshot100-step1k-lr1e5.yml
│       │   │   ├── transformer-stackex-PTDAFT-fewshot10k-step4k-lr1e5.yml
│       │   │   └── transformer-stackex-PTDAFT-fewshot1k-step2k-lr1e5.yml
│       │   ├── selftrain/
│       │   │   ├── DA/
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round10.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round2.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round3.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round4.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round5.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round6.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round7.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round8.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf-round9.yml
│       │   │   │   ├── transformer-PTDA-kp20k-TLtf.sh
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round1.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round10.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round2.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round3.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round4.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round5.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round6.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round7.sh
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round7.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round8.yml
│       │   │   │   ├── transformer-PTDA-magkp1m-TLtf-round9.yml
│       │   │   │   └── transformer-PTDA-magkp1m-TLtf.sh
│       │   │   ├── FT/
│       │   │   │   ├── transformer-PTDAFT-kp20k-fewshot10k.sh
│       │   │   │   ├── transformer-PTDAFT-kp20k-round1-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round10-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round2-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round3-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round4-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round5-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round6-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round7-fewshot10k.sh
│       │   │   │   ├── transformer-PTDAFT-kp20k-round7-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round8-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-kp20k-round9-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-fewshot10k.sh
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round1-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round10-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round2-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round3-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round4-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round5-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round6-fewshot10k.sh
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round6-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round7-fewshot10k.sh
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round7-fewshot10k.yml
│       │   │   │   ├── transformer-PTDAFT-magkp1m-round8-fewshot10k.yml
│       │   │   │   └── transformer-PTDAFT-magkp1m-round9-fewshot10k.yml
│       │   │   ├── kppred_selftrain_kp20k.sh
│       │   │   ├── kppred_selftrain_kp20k100k.sh
│       │   │   └── kppred_selftrain_magkp1m.sh
│       │   ├── tf_tlgenerate_pseudokp.sh
│       │   └── tl_gpu_template.sh
│       └── transfer_cmd.txt
├── server.py
├── setup.py
├── tokenizer_test.py
├── tools/
│   ├── README.md
│   ├── apply_bpe.py
│   ├── average_models.py
│   ├── bpe_pipeline.sh
│   ├── detokenize.perl
│   ├── embeddings_to_torch.py
│   ├── extract_embeddings.py
│   ├── extract_vocabulary.py
│   ├── learn_bpe.py
│   ├── multi-bleu-detok.perl
│   ├── nonbreaking_prefixes/
│   │   ├── README.txt
│   │   ├── nonbreaking_prefix.ca
│   │   ├── nonbreaking_prefix.cs
│   │   ├── nonbreaking_prefix.de
│   │   ├── nonbreaking_prefix.el
│   │   ├── nonbreaking_prefix.en
│   │   ├── nonbreaking_prefix.es
│   │   ├── nonbreaking_prefix.fi
│   │   ├── nonbreaking_prefix.fr
│   │   ├── nonbreaking_prefix.ga
│   │   ├── nonbreaking_prefix.hu
│   │   ├── nonbreaking_prefix.is
│   │   ├── nonbreaking_prefix.it
│   │   ├── nonbreaking_prefix.lt
│   │   ├── nonbreaking_prefix.lv
│   │   ├── nonbreaking_prefix.nl
│   │   ├── nonbreaking_prefix.pl
│   │   ├── nonbreaking_prefix.ro
│   │   ├── nonbreaking_prefix.ru
│   │   ├── nonbreaking_prefix.sk
│   │   ├── nonbreaking_prefix.sl
│   │   ├── nonbreaking_prefix.sv
│   │   ├── nonbreaking_prefix.ta
│   │   ├── nonbreaking_prefix.yue
│   │   └── nonbreaking_prefix.zh
│   ├── release_model.py
│   ├── spm_to_vocab.py
│   ├── stanfordcorenlp/
│   │   ├── __init__.py
│   │   └── corenlp.py
│   ├── test_rouge.py
│   └── tokenizer.perl
├── train.py
└── translate.py
Download .txt
SYMBOL INDEX (1617 symbols across 153 files)

FILE: docs/source/conf.py
  function setup (line 211) | def setup(app):

FILE: kp_data_converter.py
  function heuristic_filter (line 24) | def heuristic_filter(src_token, tgts_token, tgts_str, opt):

FILE: kp_evaluate.py
  function evaluate (line 20) | def evaluate(src_list, tgt_list, pred_list,
  function kp_results_to_str (line 211) | def kp_results_to_str(results_dict):
  function baseline_pred_loader (line 227) | def baseline_pred_loader(pred_path, model_name):
  function keyphrase_eval (line 247) | def keyphrase_eval(datasplit_name, src_path, tgt_path, pred_path,
  function summarize_scores (line 307) | def summarize_scores(score_dict, ckpt_name,
  function gather_eval_results (line 399) | def gather_eval_results(eval_root_dir, report_csv_dir=None, tokenizer=No...
  function init_opt (line 487) | def init_opt():

FILE: kp_gen_eval.py
  function scan_new_checkpoints (line 22) | def scan_new_checkpoints(ckpt_dir):
  function _get_parser (line 33) | def _get_parser():

FILE: kp_gen_eval_transfer.py
  function scan_new_checkpoints (line 29) | def scan_new_checkpoints(ckpt_dir):
  function scan_predictions (line 52) | def scan_predictions(exp_root_dir):
  function _get_parser (line 74) | def _get_parser():

FILE: kp_gen_magkp_transfer_labelling.py
  function scan_new_checkpoints (line 23) | def scan_new_checkpoints(ckpt_dir):
  function scan_predictions (line 46) | def scan_predictions(exp_root_dir):
  function _get_parser (line 68) | def _get_parser():

FILE: kp_generate.py
  function _get_parser (line 15) | def _get_parser():

FILE: onmt/bin/average_models.py
  function average_models (line 6) | def average_models(model_files, fp32=False):
  function main (line 39) | def main():

FILE: onmt/bin/build_vocab.py
  function build_vocab_main (line 11) | def build_vocab_main(opts):
  function _get_parser (line 57) | def _get_parser():
  function main (line 63) | def main():

FILE: onmt/bin/release_model.py
  function get_ctranslate2_model_spec (line 6) | def get_ctranslate2_model_spec(opt):
  function main (line 25) | def main():

FILE: onmt/bin/server.py
  function start (line 14) | def start(config_file,
  function _get_parser (line 136) | def _get_parser():
  function main (line 149) | def main():

FILE: onmt/bin/train.py
  function prepare_fields_transforms (line 32) | def prepare_fields_transforms(opt):
  function _init_train (line 60) | def _init_train(opt):
  function train (line 99) | def train(opt):
  function _get_parser (line 200) | def _get_parser():
  function main (line 206) | def main():

FILE: onmt/bin/translate.py
  function translate (line 17) | def translate(opt):
  function _get_parser (line 41) | def _get_parser():
  function main (line 49) | def main():

FILE: onmt/constants.py
  class DefaultTokens (line 4) | class DefaultTokens(object):
  class CorpusName (line 17) | class CorpusName(object):
  class SubwordMarker (line 23) | class SubwordMarker(object):
  class ModelTask (line 28) | class ModelTask(object):

FILE: onmt/decoders/bart_decoder.py
  class BARTDecoder (line 15) | class BARTDecoder(DecoderBase):
    method __init__ (line 45) | def __init__(self, opt, embeddings, bart_model=None, prev_checkpoint=N...
    method from_opt (line 82) | def from_opt(cls, opt, embeddings, **kwargs):
    method init_state (line 88) | def init_state(self, src, memory_bank, enc_hidden):
    method map_state (line 92) | def map_state(self, fn):
    method forward (line 95) | def forward(self, tgt,
  function forward_bart_decoder (line 157) | def forward_bart_decoder(
  function extract_features (line 203) | def extract_features(

FILE: onmt/decoders/cnn_decoder.py
  class CNNDecoder (line 14) | class CNNDecoder(DecoderBase):
    method __init__ (line 21) | def __init__(self, num_layers, hidden_size, attn_type,
    method from_opt (line 52) | def from_opt(cls, opt, embeddings):
    method init_state (line 64) | def init_state(self, _, memory_bank, enc_hidden):
    method map_state (line 69) | def map_state(self, fn):
    method detach_state (line 74) | def detach_state(self):
    method forward (line 77) | def forward(self, tgt, memory_bank, step=None, **kwargs):
    method update_dropout (line 131) | def update_dropout(self, dropout):

FILE: onmt/decoders/decoder.py
  class DecoderBase (line 11) | class DecoderBase(nn.Module):
    method __init__ (line 18) | def __init__(self, attentional=True):
    method from_opt (line 23) | def from_opt(cls, opt, embeddings):
  class RNNDecoderBase (line 32) | class RNNDecoderBase(DecoderBase):
    method __init__ (line 85) | def __init__(self, rnn_type, bidirectional_encoder, num_layers,
    method from_opt (line 168) | def from_opt(cls, opt, embeddings, **kwargs):
    method init_state (line 189) | def init_state(self, src, memory_bank, encoder_final):
    method map_state (line 218) | def map_state(self, fn):
    method detach_state (line 228) | def detach_state(self):
    method forward (line 232) | def forward(self, tgt, memory_bank, memory_lengths=None, step=None,
    method update_dropout (line 277) | def update_dropout(self, dropout):
  class StdRNNDecoder (line 282) | class StdRNNDecoder(RNNDecoderBase):
    method _run_forward_pass (line 298) | def _run_forward_pass(self, tgt, memory_bank, memory_lengths=None):
    method _build_rnn (line 361) | def _build_rnn(self, rnn_type, **kwargs):
    method _input_size (line 366) | def _input_size(self):
  class InputFeedRNNDecoder (line 370) | class InputFeedRNNDecoder(RNNDecoderBase):
    method _run_forward_pass (line 398) | def _run_forward_pass(self, tgt, memory_bank, memory_lengths=None):
    method _build_rnn (line 490) | def _build_rnn(self, rnn_type, input_size,
    method _input_size (line 498) | def _input_size(self):
    method update_dropout (line 502) | def update_dropout(self, dropout):

FILE: onmt/decoders/ensemble.py
  class EnsembleDecoderOutput (line 17) | class EnsembleDecoderOutput(object):
    method __init__ (line 19) | def __init__(self, model_dec_outs):
    method squeeze (line 22) | def squeeze(self, dim=None):
    method __getitem__ (line 29) | def __getitem__(self, index):
  class EnsembleEncoder (line 33) | class EnsembleEncoder(EncoderBase):
    method __init__ (line 35) | def __init__(self, model_encoders):
    method forward (line 39) | def forward(self, src, lengths=None):
  class EnsembleDecoder (line 46) | class EnsembleDecoder(DecoderBase):
    method __init__ (line 48) | def __init__(self, model_decoders):
    method forward (line 54) | def forward(self, tgt, memory_bank, memory_lengths=None, step=None,
    method combine_attns (line 69) | def combine_attns(self, attns):
    method init_state (line 76) | def init_state(self, src, memory_bank, enc_hidden):
    method map_state (line 81) | def map_state(self, fn):
  class EnsembleGenerator (line 86) | class EnsembleGenerator(nn.Module):
    method __init__ (line 91) | def __init__(self, model_generators, raw_probs=False):
    method forward (line 96) | def forward(self, hidden, attn=None, src_map=None):
  class EnsembleModel (line 112) | class EnsembleModel(NMTModel):
    method __init__ (line 114) | def __init__(self, models, raw_probs=False):
  function load_test_model (line 123) | def load_test_model(opt):

FILE: onmt/decoders/transformer.py
  class TransformerDecoderLayerBase (line 15) | class TransformerDecoderLayerBase(nn.Module):
    method __init__ (line 16) | def __init__(self):
    method forward (line 19) | def forward(self, *args, **kwargs):
    method _forward (line 54) | def _forward(self, *args, **kwargs):
    method update_dropout (line 57) | def update_dropout(self, dropout, attention_dropout):
  class TransformerDecoderLayer (line 61) | class TransformerDecoderLayer(TransformerDecoderLayerBase):
    method __init__ (line 98) | def __init__(
    method update_dropout (line 135) | def update_dropout(self, dropout, attention_dropout):
    method _forward (line 141) | def _forward(
  class TransformerDecoderBase (line 223) | class TransformerDecoderBase(DecoderBase):
    method __init__ (line 224) | def __init__(self, d_model, copy_attn, embeddings, alignment_layer):
    method from_opt (line 241) | def from_opt(cls, opt, embeddings):
    method init_state (line 264) | def init_state(self, src, memory_bank, enc_hidden):
    method map_state (line 269) | def map_state(self, fn):
    method detach_state (line 283) | def detach_state(self):
    method forward (line 286) | def forward(self, *args, **kwargs):
    method update_dropout (line 289) | def update_dropout(self, dropout, attention_dropout):
  class TransformerDecoder (line 295) | class TransformerDecoder(TransformerDecoderBase):
    method __init__ (line 334) | def __init__(
    method detach_state (line 401) | def detach_state(self):
    method forward (line 404) | def forward(self, tgt, memory_bank=None, step=None, **kwargs):
    method _init_cache (line 511) | def _init_cache(self, memory_bank):
  class TransformerLMDecoderLayer (line 539) | class TransformerLMDecoderLayer(TransformerDecoderLayerBase):
    method __init__ (line 572) | def __init__(
    method _forward (line 606) | def _forward(
    method update_dropout (line 670) | def update_dropout(self, dropout, attention_dropout):
  class TransformerLMDecoder (line 676) | class TransformerLMDecoder(TransformerDecoderBase):
    method __init__ (line 707) | def __init__(
    method init_state (line 745) | def init_state(self, src=None, memory_bank=None, enc_hidden=None):
    method detach_state (line 748) | def detach_state(self):
    method forward (line 751) | def forward(self, tgt, memory_bank=None, step=None, **kwargs):
    method _init_cache (line 794) | def _init_cache(self, memory_bank=None):

FILE: onmt/encoders/bart_encoder.py
  class BARTEncoder (line 17) | class BARTEncoder(EncoderBase):
    method __init__ (line 21) | def __init__(self, model_name, embeddings, cache_dir, max_src_length, ...
    method from_opt (line 82) | def from_opt(cls, opt, embeddings, **kwargs):
    method forward (line 96) | def forward(self, src, src_lengths):
  function forward_embedding (line 128) | def forward_embedding(self, src_tokens, src_labels, token_embedding: Opt...
  function forward_bart_encoder (line 158) | def forward_bart_encoder(self,

FILE: onmt/encoders/cnn_encoder.py
  class CNNEncoder (line 12) | class CNNEncoder(EncoderBase):
    method __init__ (line 17) | def __init__(self, num_layers, hidden_size,
    method from_opt (line 28) | def from_opt(cls, opt, embeddings):
    method forward (line 37) | def forward(self, input, lengths=None, hidden=None):
    method update_dropout (line 54) | def update_dropout(self, dropout):

FILE: onmt/encoders/encoder.py
  class EncoderBase (line 8) | class EncoderBase(nn.Module):
    method from_opt (line 34) | def from_opt(cls, opt, embeddings=None):
    method _check_args (line 37) | def _check_args(self, src, lengths=None, hidden=None):
    method forward (line 43) | def forward(self, src, lengths=None):

FILE: onmt/encoders/ggnn_encoder.py
  class GGNNAttrProxy (line 10) | class GGNNAttrProxy(object):
    method __init__ (line 16) | def __init__(self, module, prefix):
    method __getitem__ (line 20) | def __getitem__(self, i):
  class GGNNPropogator (line 24) | class GGNNPropogator(nn.Module):
    method __init__ (line 29) | def __init__(self, state_dim, n_node, n_edge_types):
    method forward (line 48) | def forward(self, state_in, state_out, state_cur, edges, nodes):
  class GGNNEncoder (line 66) | class GGNNEncoder(EncoderBase):
    method __init__ (line 87) | def __init__(self, rnn_type, state_dim, bidir_edges,
    method from_opt (line 136) | def from_opt(cls, opt, embeddings):
    method _initialization (line 148) | def _initialization(self):
    method forward (line 154) | def forward(self, src, lengths=None):
    method _initialize_bridge (line 247) | def _initialize_bridge(self, rnn_type,
    method _bridge (line 262) | def _bridge(self, hidden):

FILE: onmt/encoders/mean_encoder.py
  class MeanEncoder (line 7) | class MeanEncoder(EncoderBase):
    method __init__ (line 15) | def __init__(self, num_layers, embeddings):
    method from_opt (line 21) | def from_opt(cls, opt, embeddings):
    method forward (line 27) | def forward(self, src, lengths=None):

FILE: onmt/encoders/pretrained_encoder.py
  class ExtClassifier (line 12) | class ExtClassifier(nn.Module):
    method __init__ (line 13) | def __init__(self, hidden_size):
    method forward (line 18) | def forward(self, x, mask=None):
  class PretrainedEncoder (line 28) | class PretrainedEncoder(EncoderBase):
    method __init__ (line 33) | def __init__(self, model_name, cache_dir, src_length, vocab_size, opt):
    method from_opt (line 76) | def from_opt(cls, opt, embeddings):
    method forward (line 87) | def forward(self, src, mask):

FILE: onmt/encoders/rnn_encoder.py
  class RNNEncoder (line 12) | class RNNEncoder(EncoderBase):
    method __init__ (line 25) | def __init__(self, rnn_type, bidirectional, num_layers,
    method from_opt (line 52) | def from_opt(cls, opt, embeddings):
    method forward (line 63) | def forward(self, src, lengths=None):
    method _initialize_bridge (line 85) | def _initialize_bridge(self, rnn_type,
    method _bridge (line 100) | def _bridge(self, hidden):
    method update_dropout (line 117) | def update_dropout(self, dropout):

FILE: onmt/encoders/transformer.py
  class TransformerEncoderLayer (line 13) | class TransformerEncoderLayer(nn.Module):
    method __init__ (line 26) | def __init__(self, d_model, heads, d_ff, dropout, attention_dropout,
    method forward (line 37) | def forward(self, inputs, mask):
    method update_dropout (line 54) | def update_dropout(self, dropout, attention_dropout):
  class TransformerEncoder (line 60) | class TransformerEncoder(EncoderBase):
    method __init__ (line 91) | def __init__(self, num_layers, d_model, heads, d_ff, dropout,
    method from_opt (line 104) | def from_opt(cls, opt, embeddings):
    method forward (line 117) | def forward(self, src, lengths=None):
    method update_dropout (line 132) | def update_dropout(self, dropout, attention_dropout):

FILE: onmt/inputters/corpus.py
  function exfile_open (line 19) | def exfile_open(filename, *args, **kwargs):
  class DatasetAdapter (line 46) | class DatasetAdapter(object):
    method __init__ (line 53) | def __init__(self, fields, is_train):
    method _valid_fields (line 58) | def _valid_fields(cls, fields):
    method _process (line 66) | def _process(item, is_train):
    method _maybe_add_dynamic_dict (line 85) | def _maybe_add_dynamic_dict(self, example, fields):
    method _to_examples (line 94) | def _to_examples(self, bucket, is_train=False):
    method __call__ (line 107) | def __call__(self, bucket):
  class ParallelCorpus (line 113) | class ParallelCorpus(object):
    method __init__ (line 116) | def __init__(self, name, src, tgt, align=None, extra_label_paths=None,...
    method load (line 126) | def load(self, offset=0, stride=1):
    method __repr__ (line 175) | def __repr__(self):
  function get_corpora (line 181) | def get_corpora(opts, is_train=False):
  class ParallelCorpusIterator (line 219) | class ParallelCorpusIterator(object):
    method __init__ (line 230) | def __init__(self, corpus, transform, infinitely=False,
    method _tokenize (line 243) | def _tokenize(self, stream):
    method _transform (line 252) | def _transform(self, stream):
    method _add_index (line 265) | def _add_index(self, stream):
    method _iter_corpus (line 285) | def _iter_corpus(self):
    method __iter__ (line 302) | def __iter__(self):
  function build_corpora_iters (line 311) | def build_corpora_iters(corpora, transforms, corpora_info, is_train=False,
  function write_files_from_queues (line 327) | def write_files_from_queues(sample_path, queues):
  function build_sub_vocab (line 352) | def build_sub_vocab(corpora, transforms, opts, n_sample, stride, offset):
  function init_pool (line 380) | def init_pool(queues):
  function build_vocab (line 385) | def build_vocab(opts, transforms, n_sample=3):
  function save_transformed_sample (line 426) | def save_transformed_sample(opts, transforms, n_sample=3):

FILE: onmt/inputters/datareader_base.py
  class MissingDependencyException (line 6) | class MissingDependencyException(Exception):
  class DataReaderBase (line 10) | class DataReaderBase(object):
    method from_opt (line 20) | def from_opt(cls, opt):
    method _read_file (line 30) | def _read_file(cls, path):
    method _raise_missing_dep (line 37) | def _raise_missing_dep(*missing_deps):
    method read (line 43) | def read(self, data, side):

FILE: onmt/inputters/dataset_base.py
  function _join_dicts (line 13) | def _join_dicts(*args):
  function _dynamic_dict (line 25) | def _dynamic_dict(example, src_field, tgt_field):
  class Dataset (line 103) | class Dataset(TorchtextDataset):
    method __init__ (line 148) | def __init__(self, fields, readers, data, sort_key, filter_pred=None):
    method __getattr__ (line 178) | def __getattr__(self, attr):
    method save (line 187) | def save(self, path, remove_fields=True):
    method config (line 193) | def config(fields):

FILE: onmt/inputters/dynamic_iterator.py
  class MixingStrategy (line 13) | class MixingStrategy(object):
    method __init__ (line 16) | def __init__(self, iterables, weights):
    method _valid_iterable (line 22) | def _valid_iterable(self, iterables, weights):
    method __iter__ (line 29) | def __iter__(self):
  class SequentialMixer (line 33) | class SequentialMixer(MixingStrategy):
    method _iter_datasets (line 36) | def _iter_datasets(self):
    method __iter__ (line 41) | def __iter__(self):
  class WeightedMixer (line 47) | class WeightedMixer(MixingStrategy):
    method __init__ (line 50) | def __init__(self, iterables, weights):
    method _reset_iter (line 57) | def _reset_iter(self, ds_name):
    method _iter_datasets (line 60) | def _iter_datasets(self):
    method __iter__ (line 65) | def __iter__(self):
  class SimpleInfiniteMixer (line 81) | class SimpleInfiniteMixer(MixingStrategy):
    method __init__ (line 82) | def __init__(self, iterables, weights):
    method _reset_iter (line 89) | def _reset_iter(self, ds_name):
    method __iter__ (line 92) | def __iter__(self):
  class DynamicDatasetIter (line 101) | class DynamicDatasetIter(object):
    method __init__ (line 127) | def __init__(self, corpora, corpora_info, transforms, fields, is_train,
    method from_opts (line 154) | def from_opts(cls, corpora, transforms, fields, opts, is_train,
    method _init_datasets (line 171) | def _init_datasets(self):
    method _bucketing (line 189) | def _bucketing(self):
    method __iter__ (line 196) | def __iter__(self):
  function build_dynamic_dataset_iter (line 218) | def build_dynamic_dataset_iter(fields, transforms_cls, opts, is_train=True,
  function build_dynamic_dataset_iter_given_examples (line 231) | def build_dynamic_dataset_iter_given_examples(examples, fields, transfor...

FILE: onmt/inputters/fields.py
  function _get_dynamic_fields (line 10) | def _get_dynamic_fields(opts):
  function build_dynamic_fields (line 25) | def build_dynamic_fields(opts, src_specials=None, tgt_specials=None):
  function get_vocabs (line 65) | def get_vocabs(fields):
  function save_fields (line 73) | def save_fields(fields, save_data, overwrite=True):
  function load_fields (line 81) | def load_fields(save_data, checkpoint=None):

FILE: onmt/inputters/inputter.py
  function _getstate (line 33) | def _getstate(self):
  function _setstate (line 37) | def _setstate(self, state):
  function make_src (line 46) | def make_src(data, vocab):
  function preprocessing_tokenize (line 56) | def preprocessing_tokenize(data, tokenizer, max_length=None):
  function postprocessing_length_cap (line 65) | def postprocessing_length_cap(data, vocab, max_length):
  function make_tgt (line 69) | def make_tgt(data, vocab, pad_idx=0):
  class AlignField (line 83) | class AlignField(LabelField):
    method __init__ (line 88) | def __init__(self, **kwargs):
    method process (line 93) | def process(self, batch, device=None):
  function parse_align_idx (line 107) | def parse_align_idx(align_pharaoh):
  function make_align (line 124) | def make_align(data, vocab):
  function get_task_spec_tokens (line 139) | def get_task_spec_tokens(data_task, pad, bos, eos):
  function get_fields (line 157) | def get_fields(
  function load_roberta_kp_tokenizer (line 269) | def load_roberta_kp_tokenizer(vocab_path, bpe_dropout):
  function reload_keyphrase_fields (line 324) | def reload_keyphrase_fields(fields, opt, tokenizer=None):
  function deprecated_reload_keyphrase_fields (line 342) | def deprecated_reload_keyphrase_fields(fields, opt, tokenizer=None):
  class IterOnDevice (line 438) | class IterOnDevice(object):
    method __init__ (line 441) | def __init__(self, iterable, device_id):
    method batch_to_device (line 446) | def batch_to_device(batch, device_id):
    method __iter__ (line 465) | def __iter__(self):
  function filter_example (line 471) | def filter_example(ex, use_src_len=True, use_tgt_len=True,
  function _pad_vocab_to_multiple (line 499) | def _pad_vocab_to_multiple(vocab, multiple):
  function _build_field_vocab (line 510) | def _build_field_vocab(field, counter, size_multiple=1, **kwargs):
  function _load_vocab (line 527) | def _load_vocab(vocab_path, name, counters, min_freq=0):
  function _build_fv_from_multifield (line 550) | def _build_fv_from_multifield(multifield, counters, build_fv_kwargs,
  function _build_fields_vocab (line 561) | def _build_fields_vocab(fields, counters, data_type, share_vocab,
  function build_vocab (line 606) | def build_vocab(train_dataset_files, fields, data_type, share_vocab,
  function _merge_field_vocabs (line 707) | def _merge_field_vocabs(src_field, tgt_field, vocab_size, min_freq,
  function _read_vocab_file (line 731) | def _read_vocab_file(vocab_path, tag):

FILE: onmt/inputters/iterator.py
  function batch_iter (line 7) | def batch_iter(data, batch_size, batch_size_fn=None, batch_size_multiple...
  function _pool (line 47) | def _pool(data, batch_size, batch_size_fn, batch_size_multiple,
  class OrderedIterator (line 61) | class OrderedIterator(torchtext.data.Iterator):
    method __init__ (line 63) | def __init__(self,
    method create_batches (line 76) | def create_batches(self):
    method __iter__ (line 102) | def __iter__(self):
  function max_tok_len (line 135) | def max_tok_len(new, count, sofar):

FILE: onmt/inputters/keyphrase_dataset.py
  function infer_dataset_type (line 43) | def infer_dataset_type(filepath):
  function parse_src_fn (line 66) | def parse_src_fn(ex_dict, title_field, text_field):
  function kpdict_parse_fn (line 71) | def kpdict_parse_fn(example, tokenizer, tgt_concat_type, dataset_type='s...
  class KeyphraseDataset (line 101) | class KeyphraseDataset(TorchtextDataset):
    method __init__ (line 148) | def __init__(self, fields, readers, data, dirs, sort_key,
    method __getattr__ (line 214) | def __getattr__(self, attr):
    method save (line 223) | def save(self, path, remove_fields=True):
    method load_config (line 228) | def load_config(self, opt):
  class KeyphraseDataReader (line 232) | class KeyphraseDataReader(DataReaderBase):
    method read (line 233) | def read(self, sequences, side, _dir=None):
  function obtain_sorted_indices (line 285) | def obtain_sorted_indices(src_seq, tgt_seqs, sort_by):
  function process_multiple_tgts (line 333) | def process_multiple_tgts(big_batch, tgt_type):
  function kp_sort_key (line 432) | def kp_sort_key(ex):
  function max_tok_len (line 439) | def max_tok_len(new, count, sofar):
  function copyseq_tokenize (line 462) | def copyseq_tokenize(text):
  function _feature_tokenize (line 469) | def _feature_tokenize(
  class KeyphraseField (line 500) | class KeyphraseField(RawField):
    method __init__ (line 517) | def __init__(self, base_name, base_field):
    method base_field (line 523) | def base_field(self):
    method pad_seqs (line 526) | def pad_seqs(self, batch, max_seq_num, max_seq_len, pad_token):
    method process (line 541) | def process(self, batch, device=None):
    method preprocess (line 607) | def preprocess(self, x):
    method __getitem__ (line 624) | def __getitem__(self, item):
  function keyphrase_fields (line 628) | def keyphrase_fields(**kwargs):

FILE: onmt/inputters/news_dataset.py
  class Token (line 26) | class Token():
    method __init__ (line 27) | def __init__(self, token, field):
  function process_news_example (line 31) | def process_news_example(ex_dict, tgt_fields, tokenizer=None, tgt_weight...
  function process_tokenized_news_example (line 161) | def process_tokenized_news_example(ex_dict, tokenizer_name, tokenizer,
  function get_meta_tokens (line 411) | def get_meta_tokens(doc, dataset_name, tgt_field, cls_token=None, token_...
  function process_news_examples_parallel (line 443) | def process_news_examples_parallel(news_examples, tgt_fields, tgt_weights,
  function load_tokenized_news_examples (line 499) | def load_tokenized_news_examples(news_examples, tokenizer_name, tokenizer,
  function build_dynamic_dict_and_masks_parallel (line 528) | def build_dynamic_dict_and_masks_parallel(read_iters, fields, boseos_add...
  class NewsDataset (line 577) | class NewsDataset(TorchtextDataset):
    method __init__ (line 623) | def __init__(self, fields, readers, data, dirs, sort_key,
    method reload_fields (line 704) | def reload_fields(self):
    method __getattr__ (line 707) | def __getattr__(self, attr):
    method save (line 716) | def save(self, path, remove_fields=True):
    method load_config (line 721) | def load_config(self, opt):
  function load_dataset_from_jsonl (line 724) | def load_dataset_from_jsonl(fields, paths, tokenizer, opt):
  class NewsDataReader (line 737) | class NewsDataReader(DataReaderBase):
    method read (line 738) | def read(self, sequences, side, _dir=None):
    method read_jsonl (line 763) | def read_jsonl(self, sequences, _dir=None):
  function news_sort_key (line 799) | def news_sort_key(ex):
  function _feature_tokenize (line 811) | def _feature_tokenize(
  class NewsMultiField (line 840) | class NewsMultiField(RawField):
    method __init__ (line 859) | def __init__(self, base_name, base_field, feats_fields):
    method base_field (line 871) | def base_field(self):
    method process (line 874) | def process(self, batch, device=None):
    method preprocess (line 910) | def preprocess(self, x):
    method __getitem__ (line 923) | def __getitem__(self, item):
  function news_fields (line 927) | def news_fields(**kwargs):
  function update_field_vocab (line 973) | def update_field_vocab(field, tokenizer):
  function load_pretrained_tokenizer (line 1007) | def load_pretrained_tokenizer(tokenizer_name, cache_dir, special_vocab_p...

FILE: onmt/inputters/text_dataset.py
  class TextDataReader (line 12) | class TextDataReader(DataReaderBase):
    method read (line 13) | def read(self, sequences, side):
  function text_sort_key (line 35) | def text_sort_key(ex):
  function _feature_tokenize (line 43) | def _feature_tokenize(
  class TextMultiField (line 69) | class TextMultiField(RawField):
    method __init__ (line 88) | def __init__(self, base_name, base_field, feats_fields):
    method base_field (line 95) | def base_field(self):
    method process (line 98) | def process(self, batch, device=None):
    method preprocess (line 134) | def preprocess(self, x):
    method __getitem__ (line 148) | def __getitem__(self, item):
  function text_fields (line 152) | def text_fields(**kwargs):

FILE: onmt/keyphrase/baseline/export_dataset.py
  class Document (line 18) | class Document(object):
    method __init__ (line 19) | def __init__(self):
    method __str__ (line 26) | def __str__(self):
    method to_dict (line 29) | def to_dict(self):
  class Dataset (line 39) | class Dataset(object):
    method __init__ (line 40) | def __init__(self, **kwargs):
    method load_dataset (line 52) | def load_dataset(self):
    method load_dataset_as_dicts (line 57) | def load_dataset_as_dicts(self):
    method _convert_docs_to_dicts (line 61) | def _convert_docs_to_dicts(self, docs):
    method load_train_test_dataset (line 72) | def load_train_test_dataset(self):
    method dump_train_test_to_json (line 101) | def dump_train_test_to_json(self):
    method load_text (line 114) | def load_text(self, textdir):
    method load_keyphrase (line 194) | def load_keyphrase(self, keyphrasedir):
  class INSPEC (line 209) | class INSPEC(Dataset):
    method __init__ (line 210) | def __init__(self, **kwargs):
  class NUS (line 215) | class NUS(Dataset):
    method __init__ (line 216) | def __init__(self, **kwargs):
  class SemEval (line 221) | class SemEval(Dataset):
    method __init__ (line 222) | def __init__(self, **kwargs):
  class KRAPIVIN (line 228) | class KRAPIVIN(Dataset):
    method __init__ (line 229) | def __init__(self, **kwargs):
  class DUC (line 234) | class DUC(Dataset):
    method __init__ (line 235) | def __init__(self, **kwargs):
  function get_from_module (line 247) | def get_from_module(identifier, module_params, module_name, instantiate=...
  function initialize_test_data_loader (line 261) | def initialize_test_data_loader(identifier, kwargs=None):
  function copyseq_tokenize (line 279) | def copyseq_tokenize(text):
  function load_pos_tagger (line 300) | def load_pos_tagger(stanford_base_dir):
  function export_extra_dataset_to_json (line 317) | def export_extra_dataset_to_json():
  function add_testset_postag (line 341) | def add_testset_postag(test_dataset_names, dataset_base_dir, stanford_ba...
  function export_to_UTD_format (line 398) | def export_to_UTD_format(dataset_name, dataset_base_dir, dump_path):
  function export_to_maui_format (line 438) | def export_to_maui_format(dataset_name, dataset_base_dir, dump_path, mod...

FILE: onmt/keyphrase/best_scores_in_report.py
  function main (line 34) | def main():

FILE: onmt/keyphrase/bleu.py
  function bleu (line 20) | def bleu(candidate, references, weights):
  function _modified_precision (line 81) | def _modified_precision(candidate, references, n):
  function _brevity_penalty (line 201) | def _brevity_penalty(candidate, references):

FILE: onmt/keyphrase/eval.py
  function compute_match_scores (line 28) | def compute_match_scores(tgt_seqs, pred_seqs, do_lower=True, do_stem=Tru...
  function run_classic_metrics (line 113) | def run_classic_metrics(match_list, pred_list, tgt_list, score_names, to...
  function run_advanced_metrics (line 196) | def run_advanced_metrics(match_scores, pred_list, tgt_list):
  function compute_PRF1 (line 237) | def compute_PRF1(match_scores, preds, tgts):
  function compute_MRR (line 253) | def compute_MRR(match_scores):
  function compute_AP (line 273) | def compute_AP(match_scores, precisions, tgts):
  function compute_PR_AUC (line 291) | def compute_PR_AUC(precisions, recalls):
  function compute_SizeAdjustedDiscountedRecall (line 300) | def compute_SizeAdjustedDiscountedRecall(match_scores, tgts):
  function compute_NormalizedDiscountedCumulativeGain (line 323) | def compute_NormalizedDiscountedCumulativeGain(match_scores, tgts):
  function compute_alphaNormalizedDiscountedCumulativeGain (line 348) | def compute_alphaNormalizedDiscountedCumulativeGain(preds, tgts, k=5, al...
  function f1_score (line 403) | def f1_score(prediction, ground_truth):
  function macro_averaged_score (line 415) | def macro_averaged_score(precisionlist, recalllist):
  function self_redundancy (line 424) | def self_redundancy(_input):
  function eval_and_print (line 445) | def eval_and_print(src_text, tgt_kps, pred_kps, pred_scores, unk_token='...
  function print_predeval_result (line 518) | def print_predeval_result(src_text,

FILE: onmt/keyphrase/extract_np.py
  function stem_word_list (line 29) | def stem_word_list(word_list):
  function if_present_duplicate_phrases (line 33) | def if_present_duplicate_phrases(src_seq, tgt_seqs, stemming=True, lower...
  function if_present_phrase (line 81) | def if_present_phrase(src_str_tokens, phrase_str_tokens):
  function meng17_tokenize (line 105) | def meng17_tokenize(text):
  function spacy_innate_noun_chunks (line 123) | def spacy_innate_noun_chunks(doc, remove_duplicate=True):
  function all_nested_NPs (line 163) | def all_nested_NPs(span):
  function spacy_noun_chunks_all_nested (line 182) | def spacy_noun_chunks_all_nested(doc, remove_duplicate=True):
  function noun_chunks_by_pos_regex (line 228) | def noun_chunks_by_pos_regex(text, min_len, max_len):
  function spacy_noun_chunks_wrapper (line 261) | def spacy_noun_chunks_wrapper(text, trim_punct=True, remove_stopword=True):
  function get_all_np (line 281) | def get_all_np(text, stem=True, return_set=True):
  function test_np (line 324) | def test_np():
  function spacy_tokenize (line 369) | def spacy_tokenize(text):
  function check_NP_recallM (line 376) | def check_NP_recallM():
  function check_model_recallM (line 470) | def check_model_recallM():
  function extract_np_mag (line 571) | def extract_np_mag():

FILE: onmt/keyphrase/json_plus_process.py
  function BertTokenizer (line 18) | def BertTokenizer(tokens):
  function if_present_phrase (line 26) | def if_present_phrase(src_str_tokens, phrase_str_tokens):
  function recognise_nounchunks (line 55) | def recognise_nounchunks(tagged):
  function pos (line 98) | def pos(text, model="stanfordnlp", lowercase=False):
  function listToStr (line 108) | def listToStr(tokens):
  function meng17_tokenize (line 114) | def meng17_tokenize(text):
  function keyword_stemmer (line 131) | def keyword_stemmer(keywords):
  function nounchunk_stemmer (line 139) | def nounchunk_stemmer(nouns):
  function macth_word (line 148) | def macth_word(sentence_stemmer, word_stemmer):

FILE: onmt/keyphrase/kpg_example.py
  function extract_bartkp (line 41) | def extract_bartkp(ex_dict):
  function extract_deepkp_deprecated (line 89) | def extract_deepkp_deprecated(text_to_extract):
  function extract_pke (line 116) | def extract_pke(text, method, dataset_path=None, df_path=None, top_k=10):

FILE: onmt/keyphrase/mag/export_mag_cs.py
  function mag2kp (line 29) | def mag2kp(mag_ex, id_field, title_field, text_field, keyword_field):
  function extract_papers (line 54) | def extract_papers(input_dir, output_dir, chunk_size, lang, must_have_kp...
  function main (line 111) | def main():

FILE: onmt/keyphrase/mag/post_clean.py
  function example_iterator_from_json (line 14) | def example_iterator_from_json(path, dataset_name, id_field, title_field...

FILE: onmt/keyphrase/migrated/post_evaluate.py
  function check_if_present (line 13) | def check_if_present(source_tokens, targets_tokens):
  function get_match_flags (line 33) | def get_match_flags(targets, predictions):
  function evaluate_ (line 47) | def evaluate_(source_str_list, targets_str_list, prediction_str_list,
  function init_logging (line 410) | def init_logging(logfile):
  function load_predictions_from_file (line 428) | def load_predictions_from_file(prediction_dir, file_suffix='.txt'):
  function load_plain_text (line 447) | def load_plain_text(text_dir):
  function load_postag_text (line 467) | def load_postag_text(postag_text_dir):
  function evaluate_baselines (line 488) | def evaluate_baselines(models, test_sets, output_dir, filter_criteria, p...

FILE: onmt/keyphrase/move_ckpt_by_devscore.py
  function main (line 42) | def main():

FILE: onmt/keyphrase/pke/base.py
  class LoadFile (line 32) | class LoadFile(object):
    method __init__ (line 35) | def __init__(self):
    method load_document (line 65) | def load_document(self, input, **kwargs):
    method apply_stemming (line 157) | def apply_stemming(self):
    method normalize_pos_tags (line 172) | def normalize_pos_tags(self):
    method unescape_punctuation_marks (line 181) | def unescape_punctuation_marks(self):
    method is_redundant (line 190) | def is_redundant(self, candidate, prev, minimum_length=1):
    method get_n_best (line 220) | def get_n_best(self, n=10, redundancy_removal=False, stemming=False):
    method add_candidate (line 274) | def add_candidate(self, words, stems, pos, offset, sentence_id):
    method ngram_selection (line 303) | def ngram_selection(self, n=3):
    method longest_pos_sequence_selection (line 329) | def longest_pos_sequence_selection(self, valid_pos=None):
    method longest_keyword_sequence_selection (line 333) | def longest_keyword_sequence_selection(self, keywords):
    method longest_sequence_selection (line 337) | def longest_sequence_selection(self, key, valid_values):
    method grammar_selection (line 376) | def grammar_selection(self, grammar=None):
    method _is_alphanum (line 427) | def _is_alphanum(word, valid_punctuation_marks='-'):
    method candidate_filtering (line 440) | def candidate_filtering(self,

FILE: onmt/keyphrase/pke/data_structures.py
  class Sentence (line 6) | class Sentence(object):
    method __init__ (line 9) | def __init__(self, words):
    method __eq__ (line 26) | def __eq__(self, other):
  class Candidate (line 57) | class Candidate(object):
    method __init__ (line 60) | def __init__(self):
  class Document (line 78) | class Document(object):
    method __init__ (line 81) | def __init__(self):
    method from_sentences (line 90) | def from_sentences(sentences, **kwargs):
    method __eq__ (line 126) | def __eq__(self, other):

FILE: onmt/keyphrase/pke/readers.py
  class Reader (line 12) | class Reader(object):
    method read (line 13) | def read(self, path):
  class MinimalCoreNLPReader (line 17) | class MinimalCoreNLPReader(Reader):
    method __init__ (line 20) | def __init__(self):
    method read (line 23) | def read(self, path, **kwargs):
  class RawTextReader (line 48) | class RawTextReader(Reader):
    method __init__ (line 51) | def __init__(self, language=None):
    method read (line 63) | def read(self, text, **kwargs):

FILE: onmt/keyphrase/pke/supervised/api.py
  class SupervisedLoadFile (line 16) | class SupervisedLoadFile(LoadFile):
    method __init__ (line 20) | def __init__(self):
    method feature_scaling (line 28) | def feature_scaling(self):
    method feature_extraction (line 37) | def feature_extraction(self):
    method classify_candidates (line 41) | def classify_candidates(self, model=None):
    method candidate_weighting (line 75) | def candidate_weighting(self):

FILE: onmt/keyphrase/pke/supervised/feature_based/kea.py
  class Kea (line 33) | class Kea(SupervisedLoadFile):
    method __init__ (line 67) | def __init__(self):
    method candidate_selection (line 72) | def candidate_selection(self, stoplist=None, **kwargs):
    method feature_extraction (line 104) | def feature_extraction(self, df=None, training=False):
    method candidate_weighting (line 149) | def candidate_weighting(self, model_file=None, df=None):
    method train (line 162) | def train(training_instances, training_classes, model_file):

FILE: onmt/keyphrase/pke/supervised/feature_based/topiccorank.py
  class TopicCoRank (line 32) | class TopicCoRank(TopicRank):
    method __init__ (line 64) | def __init__(self):
    method build_topic_graph (line 73) | def build_topic_graph(self):
    method unify_with_domain_graph (line 102) | def unify_with_domain_graph(self, input_file, excluded_file=None):
    method candidate_weighting (line 173) | def candidate_weighting(self,

FILE: onmt/keyphrase/pke/supervised/feature_based/wingnus.py
  class WINGNUS (line 30) | class WINGNUS(SupervisedLoadFile):
    method __init__ (line 56) | def __init__(self):
    method candidate_selection (line 61) | def candidate_selection(self, grammar=None):
    method feature_extraction (line 83) | def feature_extraction(self, df=None, training=False, features_set=None):
    method candidate_weighting (line 232) | def candidate_weighting(self, model_file=None, df=None):
    method train (line 245) | def train(training_instances, training_classes, model_file):

FILE: onmt/keyphrase/pke/supervised/neural_based/seq2seq.py
  class Seq2Seq (line 15) | class Seq2Seq(SupervisedLoadFile):
    method __init__ (line 17) | def __init__(self):
    method document_to_ix (line 28) | def document_to_ix(self):
    method candidate_selection (line 40) | def candidate_selection(self):
    method candidate_weighting (line 43) | def candidate_weighting(self):

FILE: onmt/keyphrase/pke/unsupervised/graph_based/expandrank.py
  class ExpandRank (line 28) | class ExpandRank(SingleRank):
    method __init__ (line 68) | def __init__(self):
    method expand_word_graph (line 73) | def expand_word_graph(self,
    method candidate_weighting (line 120) | def candidate_weighting(self,

FILE: onmt/keyphrase/pke/unsupervised/graph_based/multipartiterank.py
  class MultipartiteRank (line 30) | class MultipartiteRank(TopicRank):
    method __init__ (line 65) | def __init__(self):
    method topic_clustering (line 77) | def topic_clustering(self,
    method build_topic_graph (line 118) | def build_topic_graph(self):
    method weight_adjustment (line 153) | def weight_adjustment(self, alpha=1.1):
    method candidate_weighting (line 200) | def candidate_weighting(self,

FILE: onmt/keyphrase/pke/unsupervised/graph_based/positionrank.py
  class PositionRank (line 27) | class PositionRank(SingleRank):
    method __init__ (line 65) | def __init__(self):
    method candidate_selection (line 73) | def candidate_selection(self,
    method build_word_graph (line 102) | def build_word_graph(self, window=10, pos=None):
    method candidate_weighting (line 147) | def candidate_weighting(self, window=10, pos=None, normalized=False):

FILE: onmt/keyphrase/pke/unsupervised/graph_based/single_tpr.py
  class TopicalPageRank (line 35) | class TopicalPageRank(SingleRank):
    method __init__ (line 72) | def __init__(self):
    method candidate_selection (line 77) | def candidate_selection(self, grammar=None, **kwargs):
    method candidate_weighting (line 103) | def candidate_weighting(self,

FILE: onmt/keyphrase/pke/unsupervised/graph_based/singlerank.py
  class SingleRank (line 24) | class SingleRank(TextRank):
    method __init__ (line 60) | def __init__(self):
    method build_word_graph (line 65) | def build_word_graph(self, window=10, pos=None):
    method candidate_weighting (line 107) | def candidate_weighting(self, window=10, pos=None, normalized=False):

FILE: onmt/keyphrase/pke/unsupervised/graph_based/textrank.py
  class TextRank (line 27) | class TextRank(LoadFile):
    method __init__ (line 66) | def __init__(self):
    method candidate_selection (line 74) | def candidate_selection(self, pos=None):
    method build_word_graph (line 88) | def build_word_graph(self, window=2, pos=None):
    method candidate_weighting (line 130) | def candidate_weighting(self,

FILE: onmt/keyphrase/pke/unsupervised/graph_based/topicrank.py
  class TopicRank (line 30) | class TopicRank(LoadFile):
    method __init__ (line 63) | def __init__(self):
    method candidate_selection (line 75) | def candidate_selection(self, pos=None, stoplist=None):
    method vectorize_candidates (line 104) | def vectorize_candidates(self):
    method topic_clustering (line 133) | def topic_clustering(self, threshold=0.74, method='average'):
    method build_topic_graph (line 165) | def build_topic_graph(self):
    method candidate_weighting (line 185) | def candidate_weighting(self,

FILE: onmt/keyphrase/pke/unsupervised/statistical/firstphrases.py
  class FirstPhrases (line 14) | class FirstPhrases(LoadFile):
    method candidate_selection (line 43) | def candidate_selection(self, pos=None):
    method candidate_weighting (line 57) | def candidate_weighting(self):

FILE: onmt/keyphrase/pke/unsupervised/statistical/kpminer.py
  class KPMiner (line 27) | class KPMiner(LoadFile):
    method candidate_selection (line 61) | def candidate_selection(self, lasf=3, cutoff=400, stoplist=None, **kwa...
    method candidate_weighting (line 98) | def candidate_weighting(self, df=None, sigma=3.0, alpha=2.3):

FILE: onmt/keyphrase/pke/unsupervised/statistical/tfidf.py
  class TfIdf (line 19) | class TfIdf(LoadFile):
    method candidate_selection (line 47) | def candidate_selection(self, n=3, stoplist=None, **kwargs):
    method candidate_weighting (line 68) | def candidate_weighting(self, df=None):

FILE: onmt/keyphrase/pke/unsupervised/statistical/yake.py
  class YAKE (line 31) | class YAKE(LoadFile):
    method __init__ (line 68) | def __init__(self):
    method candidate_selection (line 86) | def candidate_selection(self, n=3, stoplist=None, **kwargs):
    method _vocabulary_building (line 121) | def _vocabulary_building(self, use_stems=False):
    method _contexts_building (line 151) | def _contexts_building(self, use_stems=False, window=2):
    method _feature_extraction (line 197) | def _feature_extraction(self, stoplist=None):
    method candidate_weighting (line 324) | def candidate_weighting(self, window=2, stoplist=None, use_stems=False):
    method is_redundant (line 392) | def is_redundant(self, candidate, prev, threshold=0.8):
    method get_n_best (line 413) | def get_n_best(self,

FILE: onmt/keyphrase/pke/utils.py
  function load_document_frequency_file (line 32) | def load_document_frequency_file(input_file,
  function compute_document_frequency (line 65) | def compute_document_frequency(input_dir,
  function train_supervised_model (line 146) | def train_supervised_model(input_dir,
  function load_references (line 254) | def load_references(input_file,
  function compute_lda_model (line 320) | def compute_lda_model(input_dir,
  function load_document_as_bos (line 405) | def load_document_as_bos(input_file,
  function compute_pairwise_similarity_matrix (line 446) | def compute_pairwise_similarity_matrix(input_dir,

FILE: onmt/keyphrase/preprocess.py
  function init_opt (line 27) | def init_opt():
  function meng17_tokenize (line 45) | def meng17_tokenize(text):
  function start_end_re (line 62) | def start_end_re(match_position_idxs_key, match_pos_ends_key, keywords_e...
  function start_end (line 82) | def start_end(match_position_idxs_key, match_pos_ends_key, keywords_exis...
  function prepend_space_to_words (line 98) | def prepend_space_to_words(words):
  function position_dict (line 111) | def position_dict(position, subwords, length):
  function words_to_subwords (line 115) | def words_to_subwords(tokenizer, words, pos = None):
  function if_present_phrase (line 156) | def if_present_phrase(src_str_tokens, phrase_str_tokens):
  function macth_word (line 182) | def macth_word(sentence_stemmer, word_stemmer, word_origin, poss):
  function keyword_stemmer (line 201) | def keyword_stemmer(keywords):
  function nounchunk_stemmer (line 208) | def nounchunk_stemmer(nouns):
  function pos_judge (line 215) | def pos_judge(text, model="stanfordnlp", lowercase=False):
  function listToStr (line 219) | def listToStr(tokens):
  function tokenize_doc (line 225) | def tokenize_doc(doc):
  function label (line 244) | def label(sentence, starts, ends):
  function recognise_nounchunks (line 252) | def recognise_nounchunks(tagged):

FILE: onmt/keyphrase/run_infer_hfkpg.py
  class ModelArguments (line 70) | class ModelArguments:
  class DataTrainingArguments (line 113) | class DataTrainingArguments:
    method __post_init__ (line 235) | def __post_init__(self):
  class CheckOutputCallback (line 264) | class CheckOutputCallback(TrainerCallback):
    method on_evaluate (line 265) | def on_evaluate(self, args: TrainingArguments, state: TrainerState, co...
    method on_prediction_step (line 268) | def on_prediction_step(self, args: TrainingArguments, state: TrainerSt...
  function main (line 271) | def main():
  function _mp_fn (line 658) | def _mp_fn(index):

FILE: onmt/keyphrase/utils.py
  function stem_word_list (line 20) | def stem_word_list(word_list):
  function validate_phrases (line 24) | def validate_phrases(pred_seqs, unk_token):
  function if_present_duplicate_phrases (line 52) | def if_present_duplicate_phrases(src_seq, tgt_seqs, stemming=True, lower...
  function if_present_phrase (line 100) | def if_present_phrase(src_str_tokens, phrase_str_tokens):
  function gather_scores (line 124) | def gather_scores(gathered_scores, results_names, results_dicts):
  function print_predeval_result (line 142) | def print_predeval_result(i, src_text, tgt_seqs, present_tgt_flags,
  function meng17_tokenize (line 258) | def meng17_tokenize(text):
  function retain_punc_tokenize (line 276) | def retain_punc_tokenize(raw_text):
  function replace_numbers_to_DIGIT (line 306) | def replace_numbers_to_DIGIT(tokens, k=2):
  function time_usage (line 313) | def time_usage(func):
  function current_milli_time (line 328) | def current_milli_time():
  class LoggerWriter (line 331) | class LoggerWriter:
    method __init__ (line 332) | def __init__(self, level):
    method write (line 337) | def write(self, message):
    method flush (line 343) | def flush(self):
  function tally_parameters (line 350) | def tally_parameters(model):
  function _print_progress (line 369) | def _print_progress(epoch_i, batch_i, num_batches):
  class Progbar (line 375) | class Progbar(object):
    method __init__ (line 376) | def __init__(self, logger, title, target, width=30, batch_size = None,...
    method update (line 399) | def update(self, current_epoch, current, values=[]):
    method add (line 493) | def add(self, n, values=[]):
    method clear (line 496) | def clear(self):
  function numpy_seed (line 569) | def numpy_seed(seed, *addl_seeds):

FILE: onmt/model_builder.py
  function build_embeddings (line 26) | def build_embeddings(opt, text_field, for_encoder=True):
  function build_encoder (line 61) | def build_encoder(opt, embeddings, **kwargs):
  function build_decoder (line 74) | def build_decoder(opt, embeddings, **kwargs):
  function load_test_model (line 86) | def load_test_model(opt, model_path=None):
  function build_src_emb (line 137) | def build_src_emb(model_opt, fields):
  function build_encoder_with_embeddings (line 147) | def build_encoder_with_embeddings(model_opt, fields):
  function build_decoder_with_embeddings (line 154) | def build_decoder_with_embeddings(
  function build_task_specific_model (line 169) | def build_task_specific_model(model_opt, fields):
  function build_base_model (line 196) | def build_base_model(model_opt, fields, gpu, checkpoint=None, gpu_id=None):
  function build_model (line 326) | def build_model(model_opt, opt, fields, checkpoint):

FILE: onmt/models/model.py
  class BaseModel (line 5) | class BaseModel(nn.Module):
    method __init__ (line 11) | def __init__(self, encoder, decoder):
    method forward (line 14) | def forward(self, src, tgt, lengths, bptt=False, with_align=False):
    method update_dropout (line 39) | def update_dropout(self, dropout):
    method count_parameters (line 42) | def count_parameters(self, log=print):
  class NMTModel (line 46) | class NMTModel(BaseModel):
    method __init__ (line 55) | def __init__(self, encoder, decoder):
    method forward (line 60) | def forward(self, src, tgt, lengths, bptt=False, with_align=False):
    method update_dropout (line 75) | def update_dropout(self, dropout):
    method count_parameters (line 79) | def count_parameters(self, log=print):
  class LanguageModel (line 101) | class LanguageModel(BaseModel):
    method __init__ (line 110) | def __init__(self, encoder=None, decoder=None):
    method forward (line 117) | def forward(self, src, tgt, lengths, bptt=False, with_align=False):
    method update_dropout (line 146) | def update_dropout(self, dropout):
    method count_parameters (line 149) | def count_parameters(self, log=print):

FILE: onmt/models/model_saver.py
  function build_model_saver (line 10) | def build_model_saver(model_opt, opt, model, fields, optim):
  function load_checkpoint (line 24) | def load_checkpoint(ckpt_path):
  class ModelSaverBase (line 34) | class ModelSaverBase(object):
    method __init__ (line 42) | def __init__(self, base_path, model, model_opt, fields, optim,
    method save (line 54) | def save(self, step, moving_average=None):
    method _save (line 85) | def _save(self, step, model):
    method _rm_checkpoint (line 101) | def _rm_checkpoint(self, name):
  class ModelSaver (line 112) | class ModelSaver(ModelSaverBase):
    method _save (line 115) | def _save(self, step, model):
    method _rm_checkpoint (line 148) | def _rm_checkpoint(self, name):

FILE: onmt/models/sru.py
  class CheckSRU (line 17) | class CheckSRU(configargparse.Action):
    method __init__ (line 18) | def __init__(self, option_strings, dest, **kwargs):
    method __call__ (line 21) | def __call__(self, parser, namespace, values, option_string=None):
  function check_sru_requirement (line 33) | def check_sru_requirement(abort=False):
  function load_sru_mod (line 354) | def load_sru_mod():
  class SRU_Compute (line 380) | class SRU_Compute(Function):
    method __init__ (line 382) | def __init__(self, activation_type, d_out, bidirectional=False):
    method maybe_load_sru_mod (line 390) | def maybe_load_sru_mod():
    method forward (line 397) | def forward(self, u, x, bias, init=None, mask_h=None):
    method backward (line 443) | def backward(self, grad_h, grad_last):
  class SRUCell (line 496) | class SRUCell(nn.Module):
    method __init__ (line 497) | def __init__(self, n_in, n_out, dropout=0, rnn_dropout=0,
    method init_weight (line 519) | def init_weight(self):
    method set_bias (line 524) | def set_bias(self, bias_val=0):
    method forward (line 531) | def forward(self, input, c0=None):
    method get_dropout_mask_ (line 565) | def get_dropout_mask_(self, size, p):
  class SRU (line 570) | class SRU(nn.Module):
    method __init__ (line 591) | def __init__(self, input_size, hidden_size,
    method set_bias (line 619) | def set_bias(self, bias_val=0):
    method forward (line 623) | def forward(self, input, c0=None, return_hidden=True):

FILE: onmt/models/stacked_rnn.py
  class StackedLSTM (line 6) | class StackedLSTM(nn.Module):
    method __init__ (line 12) | def __init__(self, num_layers, input_size, rnn_size, dropout):
    method forward (line 22) | def forward(self, input_feed, hidden):
  class StackedGRU (line 39) | class StackedGRU(nn.Module):
    method __init__ (line 45) | def __init__(self, num_layers, input_size, rnn_size, dropout):
    method forward (line 55) | def forward(self, input_feed, hidden):

FILE: onmt/modules/average_attn.py
  class AverageAttention (line 10) | class AverageAttention(nn.Module):
    method __init__ (line 22) | def __init__(self, model_dim, dropout=0.1, aan_useffn=False):
    method cumulative_average_mask (line 31) | def cumulative_average_mask(self, batch_size, inputs_len, device):
    method cumulative_average (line 54) | def cumulative_average(self, inputs, mask_or_step,
    method forward (line 84) | def forward(self, inputs, mask=None, layer_cache=None, step=None):

FILE: onmt/modules/conv_multi_step_attention.py
  function seq_linear (line 11) | def seq_linear(linear, x):
  class ConvMultiStepAttention (line 19) | class ConvMultiStepAttention(nn.Module):
    method __init__ (line 27) | def __init__(self, input_size):
    method apply_mask (line 32) | def apply_mask(self, mask):
    method forward (line 36) | def forward(self, base_target_emb, input_from_dec, encoder_out_top,

FILE: onmt/modules/copy_generator.py
  function collapse_copy_scores (line 8) | def collapse_copy_scores(scores, batch, tgt_vocab, src_vocabs=None,
  class CopyGenerator (line 50) | class CopyGenerator(nn.Module):
    method __init__ (line 97) | def __init__(self, input_size, output_size, pad_idx):
    method forward (line 103) | def forward(self, hidden, attn, src_map):
  class CopyGeneratorLoss (line 143) | class CopyGeneratorLoss(nn.Module):
    method __init__ (line 145) | def __init__(self, vocab_size, force_copy, unk_index=0,
    method forward (line 154) | def forward(self, scores, align, target):
  class CommonCopyGeneratorLossCompute (line 188) | class CommonCopyGeneratorLossCompute(CommonLossCompute):
    method __init__ (line 190) | def __init__(self, criterion, generator, tgt_vocab, normalize_by_length,
    method _compute_loss (line 210) | def _compute_loss(self, batch, output, target, copy_attn, align,
    method _make_shard_state (line 300) | def _make_shard_state(self, batch, output, range_, attns):
  class CopyGeneratorLossCompute (line 315) | class CopyGeneratorLossCompute(CommonCopyGeneratorLossCompute):
    method __init__ (line 317) | def __init__(self, criterion, generator, tgt_vocab, normalize_by_lengt...
  class CopyGeneratorLMLossCompute (line 327) | class CopyGeneratorLMLossCompute(CommonCopyGeneratorLossCompute):
    method __init__ (line 329) | def __init__(self, criterion, generator, tgt_vocab, normalize_by_length,

FILE: onmt/modules/embeddings.py
  class SequenceTooLongError (line 13) | class SequenceTooLongError(Exception):
  class PositionalEncoding (line 17) | class PositionalEncoding(nn.Module):
    method __init__ (line 28) | def __init__(self, dropout, dim, max_len=5000):
    method forward (line 44) | def forward(self, emb, step=None):
  class Embeddings (line 68) | class Embeddings(nn.Module):
    method __init__ (line 109) | def __init__(self, word_vec_size,
    method _validate_args (line 185) | def _validate_args(self, feat_merge, feat_vocab_sizes, feat_vec_exponent,
    method word_lut (line 213) | def word_lut(self):
    method emb_luts (line 218) | def emb_luts(self):
    method load_pretrained_vectors (line 222) | def load_pretrained_vectors(self, emb_file):
    method forward (line 240) | def forward(self, source, step=None):
    method update_dropout (line 261) | def update_dropout(self, dropout):
  function read_embeddings (line 268) | def read_embeddings(path, skip_lines=0, filter_set=None):
  function calc_vocab_load_stats (line 294) | def calc_vocab_load_stats(vocab, loaded_embed_dict):
  function convert_to_torch_tensor (line 302) | def convert_to_torch_tensor(word_to_float_list_dict, vocab):
  function prepare_pretrained_embeddings (line 310) | def prepare_pretrained_embeddings(opt, fields):

FILE: onmt/modules/gate.py
  function context_gate_factory (line 6) | def context_gate_factory(gate_type, embeddings_size, decoder_size,
  class ContextGate (line 20) | class ContextGate(nn.Module):
    method __init__ (line 29) | def __init__(self, embeddings_size, decoder_size,
    method forward (line 39) | def forward(self, prev_emb, dec_state, attn_state):
  class SourceContextGate (line 48) | class SourceContextGate(nn.Module):
    method __init__ (line 51) | def __init__(self, embeddings_size, decoder_size,
    method forward (line 58) | def forward(self, prev_emb, dec_state, attn_state):
  class TargetContextGate (line 64) | class TargetContextGate(nn.Module):
    method __init__ (line 67) | def __init__(self, embeddings_size, decoder_size,
    method forward (line 74) | def forward(self, prev_emb, dec_state, attn_state):
  class BothContextGate (line 79) | class BothContextGate(nn.Module):
    method __init__ (line 82) | def __init__(self, embeddings_size, decoder_size,
    method forward (line 89) | def forward(self, prev_emb, dec_state, attn_state):

FILE: onmt/modules/global_attention.py
  class GlobalAttention (line 15) | class GlobalAttention(nn.Module):
    method __init__ (line 71) | def __init__(self, dim, coverage=False, attn_type="dot",
    method score (line 97) | def score(self, h_t, h_s):
    method forward (line 138) | def forward(self, source, memory_bank, memory_lengths=None, coverage=N...

FILE: onmt/modules/multi_headed_attn.py
  class MultiHeadedAttention (line 11) | class MultiHeadedAttention(nn.Module):
    method __init__ (line 51) | def __init__(self, head_count, model_dim, dropout=0.1,
    method forward (line 77) | def forward(self, key, value, query, mask=None,
    method update_dropout (line 229) | def update_dropout(self, dropout):

FILE: onmt/modules/position_ffn.py
  class PositionwiseFeedForward (line 6) | class PositionwiseFeedForward(nn.Module):
    method __init__ (line 16) | def __init__(self, d_model, d_ff, dropout=0.1):
    method forward (line 25) | def forward(self, x):
    method update_dropout (line 39) | def update_dropout(self, dropout):

FILE: onmt/modules/sparse_activations.py
  function _make_ix_like (line 14) | def _make_ix_like(input, dim=0):
  function _threshold_and_support (line 22) | def _threshold_and_support(input, dim=0):
  class SparsemaxFunction (line 44) | class SparsemaxFunction(Function):
    method forward (line 48) | def forward(ctx, input, dim=0):
    method backward (line 68) | def backward(ctx, grad_output):
  class Sparsemax (line 83) | class Sparsemax(nn.Module):
    method __init__ (line 85) | def __init__(self, dim=0):
    method forward (line 89) | def forward(self, input):
  class LogSparsemax (line 93) | class LogSparsemax(nn.Module):
    method __init__ (line 95) | def __init__(self, dim=0):
    method forward (line 99) | def forward(self, input):

FILE: onmt/modules/sparse_losses.py
  class SparsemaxLossFunction (line 9) | class SparsemaxLossFunction(Function):
    method forward (line 13) | def forward(ctx, input, target):
    method backward (line 37) | def backward(ctx, grad_output):
  class SparsemaxLoss (line 48) | class SparsemaxLoss(nn.Module):
    method __init__ (line 59) | def __init__(self, weight=None, ignore_index=-100,
    method forward (line 67) | def forward(self, input, target):

FILE: onmt/modules/structured_attention.py
  class MatrixTree (line 6) | class MatrixTree(nn.Module):
    method __init__ (line 13) | def __init__(self, eps=1e-5):
    method forward (line 17) | def forward(self, input):

FILE: onmt/modules/util_class.py
  class Elementwise (line 7) | class Elementwise(nn.ModuleList):
    method __init__ (line 18) | def __init__(self, merge=None, *args):
    method forward (line 23) | def forward(self, inputs):
  class Cast (line 37) | class Cast(nn.Module):
    method __init__ (line 43) | def __init__(self, dtype):
    method forward (line 47) | def forward(self, x):

FILE: onmt/modules/weight_norm.py
  function get_var_maybe_avg (line 8) | def get_var_maybe_avg(namespace, var_name, training, polyak_decay):
  function get_vars_maybe_avg (line 22) | def get_vars_maybe_avg(namespace, var_names, training, polyak_decay):
  class WeightNormLinear (line 31) | class WeightNormLinear(nn.Linear):
    method __init__ (line 44) | def __init__(self, in_features, out_features,
    method reset_parameters (line 62) | def reset_parameters(self):
    method forward (line 65) | def forward(self, x, init=False):
  class WeightNormConv2d (line 101) | class WeightNormConv2d(nn.Conv2d):
    method __init__ (line 102) | def __init__(self, in_channels, out_channels, kernel_size, stride=1,
    method reset_parameters (line 121) | def reset_parameters(self):
    method forward (line 124) | def forward(self, x, init=False):
  class WeightNormConvTranspose2d (line 174) | class WeightNormConvTranspose2d(nn.ConvTranspose2d):
    method __init__ (line 175) | def __init__(self, in_channels, out_channels, kernel_size, stride=1,
    method reset_parameters (line 196) | def reset_parameters(self):
    method forward (line 199) | def forward(self, x, init=False):

FILE: onmt/newssum/bart/example.py
  function run_model (line 7) | def run_model(model, tokens, return_all_hiddens=False, features_only=Fal...

FILE: onmt/newssum/cnndm/docid_url_mapping.py
  function hashhex (line 26) | def hashhex(s):
  function get_url_hashes (line 32) | def get_url_hashes(url_list):

FILE: onmt/newssum/cnndm/resort_examples.py
  function load_groundtruth_data (line 9) | def load_groundtruth_data(groundtruth_jsonl_path):
  function hashhex (line 39) | def hashhex(s):

FILE: onmt/newssum/docutils.py
  function word_tokenize (line 33) | def word_tokenize(text, model="spacy", lowercase=False):
  function get_noun_chunks (line 54) | def get_noun_chunks(text, trim_punct=True, remove_stopword=True):
  function get_NERs (line 75) | def get_NERs(text):
  function get_verbs (line 91) | def get_verbs(text):
  function build_matching_mask (line 98) | def build_matching_mask(text_tokens, match_tokens,
  function build_bottomup_mask (line 126) | def build_bottomup_mask(src_sents, tgt_tokens):
  function build_oracle_sentence_mask (line 206) | def build_oracle_sentence_mask(src_sents, tgt_sents, metric='avg'):
  function mask_to_text (line 251) | def mask_to_text(sents_tokens, token_masks):
  function summary_sents_to_text (line 261) | def summary_sents_to_text(tgt_sents):
  function fragments_to_mask (line 271) | def fragments_to_mask(flat_fragments, src_sents):
  function fragment_to_text (line 293) | def fragment_to_text(top_fragments_list, src_sents):
  function build_oracle_fragment_mask (line 313) | def build_oracle_fragment_mask(src_sents, tgt_sents,
  function prepend_space_to_words (line 365) | def prepend_space_to_words(words):
  function words_to_subwords (line 378) | def words_to_subwords(tokenizer, words):
  function wordmasks_to_subwords (line 393) | def wordmasks_to_subwords(tokenizer, title_sents_words, oracle_masks):
  function sentence_split (line 438) | def sentence_split(text, model="spacy"):
  function calc_rouge (line 448) | def calc_rouge(pred_sent, gt_sent, stopwords_removal=False, stemming=Tru...
  function eval_rouge (line 469) | def eval_rouge(doc, extract_sent_idx, number_to_cutoff=3, stopwords_remo...
  function extract_entities (line 492) | def extract_entities(sentence, return_text=False):
  function calc_entity_coverage (line 502) | def calc_entity_coverage(pred_entities, gt_entities):
  function eval_entity_coverage (line 508) | def eval_entity_coverage(doc, extract_sent_idx, number_to_cutoff=3, logg...
  function print_hypothesis (line 536) | def print_hypothesis(doc, extract_sent_idx, extract_sent_scores=None, lo...
  function update_score (line 545) | def update_score(score_dict, new_score_dict):
  function tokenize (line 550) | def tokenize(text):
  function normalize (line 559) | def normalize(tokens, case=False):
  function clean_text (line 572) | def clean_text(text):
  function summary_sentence_segment (line 576) | def summary_sentence_segment(summary, dataset='cnndm'):
  function tokenize_source_summary (line 612) | def tokenize_source_summary(source, summary, title, dataset):
  function preprocess_sents (line 628) | def preprocess_sents(sents, case=False, stemming=True,
  function concat_sents (line 642) | def concat_sents(sents):

FILE: onmt/newssum/fragutils.py
  function extend_fragment_to_boundary (line 17) | def extend_fragment_to_boundary(tokenized_sent, lend, rend):
  function obtain_matching_fragments (line 27) | def obtain_matching_fragments(summary_sent, src_sents,
  function extract_fragments_iterative (line 62) | def extract_fragments_iterative(summary_sent_id, summary_sent, src_sents,
  function extract_multiple_fragments (line 120) | def extract_multiple_fragments(tgt_sents, src_sents,
  function extract_singleton_fragments (line 159) | def extract_singleton_fragments(sum_sents, src_sents,
  function locate_sum_fragment (line 205) | def locate_sum_fragment(sum_sent, src_sent, src_start, src_end):
  function smooth_fragments (line 217) | def smooth_fragments(fragments, smoothing_window):
  function _lcs (line 249) | def _lcs(sum_sent, src_sent, src_sent_id, stemming):
  function extract_fragments_by_LCS (line 318) | def extract_fragments_by_LCS(sum_sent, src_sents, stemming):
  function extract_fragments_by_wordmatch (line 346) | def extract_fragments_by_wordmatch(sum_sent, src_sents,
  function get_top_results (line 409) | def get_top_results(fragments):
  function match_matrix (line 416) | def match_matrix(sum_tokens, src_tokens):
  function shrink_matrix (line 437) | def shrink_matrix(matrix, src_tokens, ngram_size=2):
  function merge_fragments (line 486) | def merge_fragments(src_tokens, fragments, window_size=3):
  function insert_values_to_matrix (line 504) | def insert_values_to_matrix(matrix, indices, value):
  function locate_fragments_in_matrix (line 510) | def locate_fragments_in_matrix(summary_sents, source_sents, matrix, frag...

FILE: onmt/newssum/json_to_shards.py
  function init_opt (line 6) | def init_opt():

FILE: onmt/newssum/news_preprocess.py
  function init_opt (line 43) | def init_opt():
  class Token (line 67) | class Token():
    method __init__ (line 68) | def __init__(self, token, field):
  function tokenize_doc (line 73) | def tokenize_doc(doc, tokenizer_fn):

FILE: onmt/newssum/rouge_eval/rouge.py
  class FilesRouge (line 9) | class FilesRouge:
    method __init__ (line 10) | def __init__(self, hyp_path, ref_path, metrics=None, stats=None,
    method get_scores (line 34) | def get_scores(self, avg=False, ignore_empty=False):
  class Rouge (line 53) | class Rouge:
    method __init__ (line 63) | def __init__(self, metrics=None, stats=None, stopwords_removal=False, ...
    method get_scores (line 86) | def get_scores(self, hyps, refs, avg=False, ignore_empty=False):
    method _get_scores (line 103) | def _get_scores(self, hyps, refs):
    method _get_avg_scores (line 119) | def _get_avg_scores(self, hyps, refs):

FILE: onmt/newssum/rouge_eval/rouge_score.py
  function _get_ngrams (line 41) | def _get_ngrams(n, text):
  function _split_into_words (line 59) | def _split_into_words(sentences, stopwords_removal=True, stemming=True, ...
  function _get_word_ngrams (line 78) | def _get_word_ngrams(n, sentences, stopwords_removal=True, stemming=True...
  function _len_lcs (line 91) | def _len_lcs(x, y):
  function _lcs (line 109) | def _lcs(x, y):
  function _recon_lcs (line 136) | def _recon_lcs(x, y):
  function multi_rouge_n (line 166) | def multi_rouge_n(sequences, scores_ids, n=2):
  function rouge_n (line 203) | def rouge_n(evaluated_sentences, reference_sentences, n=2, stopwords_rem...
  function f_r_p_rouge_n (line 244) | def f_r_p_rouge_n(evaluated_count, reference_count, overlapping_count):
  function _union_lcs (line 261) | def _union_lcs(evaluated_sentences, reference_sentence, prev_union=None,...
  function rouge_l_summary_level (line 305) | def rouge_l_summary_level(evaluated_sentences, reference_sentences, stop...

FILE: onmt/newssum/wandb/example_mnist.py
  class Net (line 11) | class Net(nn.Module):
    method __init__ (line 12) | def __init__(self):
    method forward (line 20) | def forward(self, x):
  function train (line 30) | def train(args, model, device, train_loader, optimizer, epoch):
  function test (line 45) | def test(args, model, device, test_loader):
  function main (line 73) | def main():

FILE: onmt/opts.py
  function config_opts (line 12) | def config_opts(parser):
  function _add_logging_opts (line 22) | def _add_logging_opts(parser, is_train=True):
  function _add_reproducibility_opts (line 74) | def _add_reproducibility_opts(parser):
  function _add_dynamic_corpus_opts (line 81) | def _add_dynamic_corpus_opts(parser, build_vocab_only=False):
  function _add_dynamic_fields_opts (line 132) | def _add_dynamic_fields_opts(parser, build_vocab_only=False):
  function _add_dynamic_transform_opts (line 209) | def _add_dynamic_transform_opts(parser):
  function dynamic_prepare_opts (line 219) | def dynamic_prepare_opts(parser, build_vocab_only=False):
  function model_opts (line 236) | def model_opts(parser):
  function _add_train_general_opts (line 471) | def _add_train_general_opts(parser):
  function _add_train_dynamic_data (line 676) | def _add_train_dynamic_data(parser):
  function train_opts (line 682) | def train_opts(parser):
  function _add_decoding_opts (line 692) | def _add_decoding_opts(parser):
  function translate_opts (line 767) | def translate_opts(parser):
  class StoreLoggingLevelAction (line 837) | class StoreLoggingLevelAction(configargparse.Action):
    method __init__ (line 851) | def __init__(self, option_strings, dest, help=None, **kwargs):
    method __call__ (line 855) | def __call__(self, parser, namespace, value, option_string=None):
  class DeprecateAction (line 861) | class DeprecateAction(configargparse.Action):
    method __init__ (line 864) | def __init__(self, option_strings, dest, help=None, **kwargs):
    method __call__ (line 868) | def __call__(self, parser, namespace, values, flag_name):

FILE: onmt/tests/test_attention.py
  class TestAttention (line 11) | class TestAttention(unittest.TestCase):
    method test_masked_global_attention (line 13) | def test_masked_global_attention(self):

FILE: onmt/tests/test_beam.py
  class GlobalScorerStub (line 7) | class GlobalScorerStub(object):
    method update_global_state (line 8) | def update_global_state(self, beam):
    method score (line 11) | def score(self, beam, scores):
  class TestBeam (line 15) | class TestBeam(unittest.TestCase):
    method test_advance_with_all_repeats_gets_blocked (line 18) | def test_advance_with_all_repeats_gets_blocked(self):
    method test_advance_with_some_repeats_gets_blocked (line 44) | def test_advance_with_some_repeats_gets_blocked(self):
    method test_repeating_excluded_index_does_not_die (line 80) | def test_repeating_excluded_index_does_not_die(self):
    method test_doesnt_predict_eos_if_shorter_than_min_len (line 125) | def test_doesnt_predict_eos_if_shorter_than_min_len(self):
    method test_beam_is_done_when_n_best_beams_eos_using_min_length (line 177) | def test_beam_is_done_when_n_best_beams_eos_using_min_length(self):
  class TestBeamAgainstReferenceCase (line 235) | class TestBeamAgainstReferenceCase(unittest.TestCase):
    method init_step (line 243) | def init_step(self, beam):
    method first_step (line 255) | def first_step(self, beam, expected_beam_scores, expected_len_pen):
    method second_step (line 287) | def second_step(self, beam, expected_beam_scores, expected_len_pen):
    method third_step (line 322) | def third_step(self, beam, expected_beam_scores, expected_len_pen):
    method test_beam_advance_against_known_reference (line 356) | def test_beam_advance_against_known_reference(self):
  class TestBeamWithLengthPenalty (line 369) | class TestBeamWithLengthPenalty(TestBeamAgainstReferenceCase):
    method test_beam_advance_against_known_reference (line 373) | def test_beam_advance_against_known_reference(self):

FILE: onmt/tests/test_beam_search.py
  class GlobalScorerStub (line 10) | class GlobalScorerStub(object):
    method __init__ (line 14) | def __init__(self):
    method update_global_state (line 21) | def update_global_state(self, beam):
    method score (line 24) | def score(self, beam, scores):
  class TestBeamSearch (line 28) | class TestBeamSearch(unittest.TestCase):
    method test_advance_with_all_repeats_gets_blocked (line 31) | def test_advance_with_all_repeats_gets_blocked(self):
    method test_advance_with_some_repeats_gets_blocked (line 78) | def test_advance_with_some_repeats_gets_blocked(self):
    method test_repeating_excluded_index_does_not_die (line 143) | def test_repeating_excluded_index_does_not_die(self):
    method test_doesnt_predict_eos_if_shorter_than_min_len (line 198) | def test_doesnt_predict_eos_if_shorter_than_min_len(self):
    method test_beam_is_done_when_n_best_beams_eos_using_min_length (line 255) | def test_beam_is_done_when_n_best_beams_eos_using_min_length(self):
    method test_beam_returns_attn_with_correct_length (line 316) | def test_beam_returns_attn_with_correct_length(self):
  class TestBeamSearchAgainstReferenceCase (line 399) | class TestBeamSearchAgainstReferenceCase(unittest.TestCase):
    method random_attn (line 410) | def random_attn(self):
    method init_step (line 413) | def init_step(self, beam, expected_len_pen):
    method first_step (line 430) | def first_step(self, beam, expected_beam_scores, expected_len_pen):
    method second_step (line 463) | def second_step(self, beam, expected_beam_scores, expected_len_pen):
    method third_step (line 502) | def third_step(self, beam, expected_beam_scores, expected_len_pen):
    method test_beam_advance_against_known_reference (line 539) | def test_beam_advance_against_known_reference(self):
  class TestBeamWithLengthPenalty (line 553) | class TestBeamWithLengthPenalty(TestBeamSearchAgainstReferenceCase):
    method test_beam_advance_against_known_reference (line 557) | def test_beam_advance_against_known_reference(self):
  class TestBeamSearchLM (line 572) | class TestBeamSearchLM(TestBeamSearchAgainstReferenceCase):
    method finish_first_beam_step (line 573) | def finish_first_beam_step(self, beam):
    method test_beam_lm_increase_memory_length (line 589) | def test_beam_lm_increase_memory_length(self):
    method test_beam_lm_update_memory_length_when_finished (line 607) | def test_beam_lm_update_memory_length_when_finished(self):

FILE: onmt/tests/test_copy_generator.py
  class TestCopyGenerator (line 13) | class TestCopyGenerator(unittest.TestCase):
    method dummy_inputs (line 27) | def dummy_inputs(cls, params, init_case):
    method expected_shape (line 37) | def expected_shape(cls, params, init_case):
    method test_copy_gen_forward_shape (line 41) | def test_copy_gen_forward_shape(self):
    method test_copy_gen_outp_has_no_prob_of_pad (line 50) | def test_copy_gen_outp_has_no_prob_of_pad(self):
    method test_copy_gen_trainable_params_update (line 59) | def test_copy_gen_trainable_params_update(self):
  class TestCopyGeneratorLoss (line 80) | class TestCopyGeneratorLoss(unittest.TestCase):
    method dummy_inputs (line 94) | def dummy_inputs(cls, params, init_case):
    method expected_shape (line 108) | def expected_shape(cls, params, init_case):
    method test_copy_loss_forward_shape (line 111) | def test_copy_loss_forward_shape(self):
    method test_copy_loss_ignore_index_is_ignored (line 120) | def test_copy_loss_ignore_index_is_ignored(self):
    method test_copy_loss_output_range_is_positive (line 131) | def test_copy_loss_output_range_is_positive(self):

FILE: onmt/tests/test_data_prepare.py
  function get_default_opts (line 19) | def get_default_opts():
  class TestData (line 39) | class TestData(unittest.TestCase):
    method __init__ (line 40) | def __init__(self, *args, **kwargs):
    method dataset_build (line 44) | def dataset_build(self, opt):
  function _add_test (line 69) | def _add_test(param_setting, methodname):

FILE: onmt/tests/test_embeddings.py
  class TestEmbeddings (line 12) | class TestEmbeddings(unittest.TestCase):
    method case_is_degenerate (line 32) | def case_is_degenerate(cls, case):
    method cases (line 56) | def cases(cls):
    method dummy_inputs (line 62) | def dummy_inputs(cls, params, init_case):
    method expected_shape (line 81) | def expected_shape(cls, params, init_case):
    method test_embeddings_forward_shape (line 90) | def test_embeddings_forward_shape(self):
    method test_embeddings_trainable_params (line 98) | def test_embeddings_trainable_params(self):
    method test_embeddings_trainable_params_update (line 131) | def test_embeddings_trainable_params_update(self):

FILE: onmt/tests/test_greedy_search.py
  class TestGreedySearch (line 7) | class TestGreedySearch(unittest.TestCase):
    method test_doesnt_predict_eos_if_shorter_than_min_len (line 14) | def test_doesnt_predict_eos_if_shorter_than_min_len(self):
    method test_returns_correct_scores_deterministic (line 55) | def test_returns_correct_scores_deterministic(self):
    method test_returns_correct_scores_non_deterministic (line 127) | def test_returns_correct_scores_non_deterministic(self):

FILE: onmt/tests/test_models.py
  class TestModel (line 21) | class TestModel(unittest.TestCase):
    method __init__ (line 23) | def __init__(self, *args, **kwargs):
    method get_field (line 27) | def get_field(self):
    method get_batch (line 32) | def get_batch(self, source_l=3, bsize=1):
    method embeddings_forward (line 39) | def embeddings_forward(self, opt, source_l=3, bsize=1):
    method encoder_forward (line 62) | def encoder_forward(self, opt, source_l=3, bsize=1):
    method nmtmodel_forward (line 93) | def nmtmodel_forward(self, opt, source_l=3, bsize=1):
  function _add_test (line 125) | def _add_test(param_setting, methodname):

FILE: onmt/tests/test_random_sampling.py
  class TestRandomSampling (line 7) | class TestRandomSampling(unittest.TestCase):
    method test_advance_with_repeats_gets_blocked (line 14) | def test_advance_with_repeats_gets_blocked(self):
    method test_advance_with_some_repeats_gets_blocked (line 38) | def test_advance_with_some_repeats_gets_blocked(self):
    method test_repeating_excluded_index_does_not_die (line 79) | def test_repeating_excluded_index_does_not_die(self):
    method test_doesnt_predict_eos_if_shorter_than_min_len (line 112) | def test_doesnt_predict_eos_if_shorter_than_min_len(self):
    method test_returns_correct_scores_deterministic (line 152) | def test_returns_correct_scores_deterministic(self):
    method test_returns_correct_scores_non_deterministic (line 224) | def test_returns_correct_scores_non_deterministic(self):

FILE: onmt/tests/test_simple.py
  function test_load (line 4) | def test_load():

FILE: onmt/tests/test_structured_attention.py
  class TestStructuredAttention (line 7) | class TestStructuredAttention(unittest.TestCase):
    method test_matrix_tree_marg_pdfs_sum_to_1 (line 8) | def test_matrix_tree_marg_pdfs_sum_to_1(self):

FILE: onmt/tests/test_text_dataset.py
  class TestTextMultiField (line 13) | class TestTextMultiField(unittest.TestCase):
    method initialize_case (line 26) | def initialize_case(cls, init_case, params):
    method test_process_shape (line 36) | def test_process_shape(self):
    method test_preprocess_shape (line 77) | def test_preprocess_shape(self):
    method test_base_field (line 86) | def test_base_field(self):
    method test_correct_n_fields (line 93) | def test_correct_n_fields(self):
    method test_fields_order_correct (line 101) | def test_fields_order_correct(self):
    method test_getitem_0_returns_correct_field (line 110) | def test_getitem_0_returns_correct_field(self):
    method test_getitem_nonzero_returns_correct_field (line 118) | def test_getitem_nonzero_returns_correct_field(self):
    method test_getitem_has_correct_number_of_indexes (line 131) | def test_getitem_has_correct_number_of_indexes(self):
  class TestTextDataReader (line 141) | class TestTextDataReader(unittest.TestCase):
    method test_read (line 142) | def test_read(self):
  class TestTextDataReaderFromFS (line 153) | class TestTextDataReaderFromFS(unittest.TestCase):
    method setUpClass (line 164) | def setUpClass(cls):
    method tearDownClass (line 171) | def tearDownClass(cls):
    method test_read (line 174) | def test_read(self):

FILE: onmt/tests/test_translation_server.py
  class TestServerModel (line 16) | class TestServerModel(unittest.TestCase):
    method test_deferred_loading_model_and_unload (line 17) | def test_deferred_loading_model_and_unload(self):
    method test_load_model_on_init_and_unload (line 29) | def test_load_model_on_init_and_unload(self):
    method test_tokenizing_with_no_tokenizer_fails (line 39) | def test_tokenizing_with_no_tokenizer_fails(self):
    method test_detokenizing_with_no_tokenizer_fails (line 47) | def test_detokenizing_with_no_tokenizer_fails(self):
    method test_moving_to_gpu_and_back (line 56) | def test_moving_to_gpu_and_back(self):
    method test_initialize_on_gpu_and_move_back (line 72) | def test_initialize_on_gpu_and_move_back(self):
    method test_initialize_on_nonzero_gpu_and_back (line 90) | def test_initialize_on_nonzero_gpu_and_back(self):
    method test_run (line 108) | def test_run(self):
  class TestTranslationServer (line 134) | class TestTranslationServer(unittest.TestCase):
    method tearDown (line 141) | def tearDown(self):
    method write (line 145) | def write(self, cfg):
    method test_start_without_initial_loading (line 167) | def test_start_without_initial_loading(self):
    method test_start_with_initial_loading (line 192) | def test_start_with_initial_loading(self):
    method test_start_with_two_models (line 227) | def test_start_with_two_models(self):

FILE: onmt/tests/utils_for_tests.py
  function product_dict (line 4) | def product_dict(**kwargs):

FILE: onmt/train_single.py
  function configure_process (line 17) | def configure_process(opt, device_id):
  function _get_model_opts (line 23) | def _get_model_opts(opt, checkpoint=None):
  function _build_iter_given_examples (line 39) | def _build_iter_given_examples(examples, opt, fields, transforms_cls, is...
  function _build_valid_iter (line 46) | def _build_valid_iter(opt, fields, transforms_cls):
  function _build_train_iter (line 53) | def _build_train_iter(opt, fields, transforms_cls, stride=1, offset=0):
  function main (line 61) | def main(opt, fields, transforms_cls, checkpoint, device_id,

FILE: onmt/trainer.py
  function build_trainer (line 20) | def build_trainer(opt, device_id, model, fields, optim, model_saver=None):
  class Trainer (line 101) | class Trainer(object):
    method __init__ (line 127) | def __init__(self, model, train_loss, valid_loss, optim,
    method _accum_count (line 170) | def _accum_count(self, step):
    method _maybe_update_dropout (line 176) | def _maybe_update_dropout(self, step):
    method _accum_batches (line 183) | def _accum_batches(self, iterator):
    method _update_average (line 203) | def _update_average(self, step):
    method train (line 217) | def train(self,
    method validate (line 312) | def validate(self, valid_iter, moving_average=None):
    method _gradient_accumulation (line 360) | def _gradient_accumulation(self, true_batches, normalization, total_st...
    method _start_report_manager (line 460) | def _start_report_manager(self, start_time=None):
    method _maybe_gather_stats (line 470) | def _maybe_gather_stats(self, stat):
    method _maybe_report_training (line 485) | def _maybe_report_training(self, step, num_steps, learning_rate,
    method _report_step (line 501) | def _report_step(self, learning_rate, step, train_stats=None,

FILE: onmt/transforms/__init__.py
  function get_transforms_cls (line 13) | def get_transforms_cls(transform_names):
  function register_transform (line 27) | def register_transform(name):

FILE: onmt/transforms/bart.py
  function word_start (line 11) | def word_start(x, ignore_subword=False, is_joiner=False):
  class BARTNoising (line 22) | class BARTNoising(object):
    method __init__ (line 25) | def __init__(self, vocab, mask_tok=DefaultTokens.MASK, mask_ratio=0.0,
    method _make_poisson (line 66) | def _make_poisson(self, poisson_lambda):
    method _is_full_stop (line 80) | def _is_full_stop(self, token):
    method permute_sentences (line 83) | def permute_sentences(self, tokens, p=1.0):
    method _is_word_start (line 114) | def _is_word_start(self, token):
    method whole_word_mask (line 117) | def whole_word_mask(self, tokens, p=1.0):  # text span mask/infilling
    method insertion_noise (line 242) | def insertion_noise(self, tokens, p=1.0):
    method rolling_noise (line 264) | def rolling_noise(self, tokens, p=1.0):
    method apply (line 270) | def apply(self, tokens):
    method __repr__ (line 287) | def __repr__(self):
  class BARTNoiseTransform (line 310) | class BARTNoiseTransform(Transform):
    method __init__ (line 311) | def __init__(self, opts):
    method _set_seed (line 314) | def _set_seed(self, seed):
    method add_options (line 320) | def add_options(cls, parser):
    method warm_up (line 350) | def warm_up(self, vocabs):
    method apply (line 378) | def apply(self, example, is_train=False, stats=None, **kwargs):
    method _repr_args (line 385) | def _repr_args(self):

FILE: onmt/transforms/keyphrase.py
  class KeyphraseTransform (line 23) | class KeyphraseTransform(Transform):
    method __init__ (line 35) | def __init__(self, opts):
    method _parse_opts (line 40) | def _parse_opts(self):
    method _set_seed (line 50) | def _set_seed(self, seed):
    method add_options (line 56) | def add_options(cls, parser):
    method get_specials (line 85) | def get_specials(cls, opts):
    method warm_up (line 88) | def warm_up(self, vocabs):
    method kpdict_parse_fn (line 94) | def kpdict_parse_fn(self, ex_dict, kp_concat_type, dataset_type='scipa...
    method infer_dataset_type (line 163) | def infer_dataset_type(self, example):
    method apply (line 180) | def apply(self, example, is_train=False, stats=None, **kwargs):
  class KeyphraseRandomSpanTargetTransform (line 206) | class KeyphraseRandomSpanTargetTransform(Transform):
    method __init__ (line 207) | def __init__(self, opts):
    method _parse_opts (line 212) | def _parse_opts(self):
    method add_options (line 226) | def add_options(cls, parser):
    method _set_seed (line 232) | def _set_seed(self, seed):
    method warm_up (line 237) | def warm_up(self, vocabs):
    method random_span_parse_fn (line 240) | def random_span_parse_fn(self, ex, sep_token,
    method apply (line 320) | def apply(self, example, is_train=False, stats=None, **kwargs):
  class KeyphraseReplaceTargetTransform (line 342) | class KeyphraseReplaceTargetTransform(KeyphraseRandomSpanTargetTransform):
    method __init__ (line 343) | def __init__(self, opts):
    method _parse_opts (line 348) | def _parse_opts(self):
    method _set_seed (line 358) | def _set_seed(self, seed):
    method add_options (line 364) | def add_options(cls, parser):
    method warm_up (line 369) | def warm_up(self, vocabs):
    method maybe_replace_target (line 372) | def maybe_replace_target(self, example,
    method apply (line 463) | def apply(self, example, is_train=False, stats=None, **kwargs):
  class ControlPrefixTransform (line 489) | class ControlPrefixTransform(Transform):
    method __init__ (line 491) | def __init__(self, opts):
    method _parse_opts (line 496) | def _parse_opts(self):
    method add_options (line 503) | def add_options(cls, parser):
    method apply (line 511) | def apply(self, example, is_train=False, stats=None, **kwargs):
  function findBalanced (line 540) | def findBalanced(text, openDelim=['[['], closeDelim=[']]']):
  function replaceInternalLinks (line 582) | def replaceInternalLinks(text, return_anchor_text=False):
  function extract_phrases (line 637) | def extract_phrases(text):
  class WikiPhraseTransform (line 664) | class WikiPhraseTransform(Transform):
    method __init__ (line 665) | def __init__(self, opts):
    method _parse_opts (line 670) | def _parse_opts(self):
    method _set_seed (line 687) | def _set_seed(self, seed):
    method add_options (line 693) | def add_options(cls, parser):
    method wiki_ex_parse_fn (line 701) | def wiki_ex_parse_fn(self,
    method apply (line 835) | def apply(self, example, is_train=False, stats=None, **kwargs):

FILE: onmt/transforms/misc.py
  class FilterTooLongTransform (line 7) | class FilterTooLongTransform(Transform):
    method __init__ (line 10) | def __init__(self, opts):
    method add_options (line 14) | def add_options(cls, parser):
    method _parse_opts (line 22) | def _parse_opts(self):
    method apply (line 26) | def apply(self, example, is_train=False, stats=None, **kwargs):
    method _repr_args (line 36) | def _repr_args(self):
  class PrefixTransform (line 45) | class PrefixTransform(Transform):
    method __init__ (line 48) | def __init__(self, opts):
    method _get_prefix (line 52) | def _get_prefix(corpus):
    method get_prefix_dict (line 64) | def get_prefix_dict(cls, opts):
    method get_specials (line 75) | def get_specials(cls, opts):
    method warm_up (line 84) | def warm_up(self, vocabs=None):
    method _prepend (line 89) | def _prepend(self, example, prefix):
    method apply (line 95) | def apply(self, example, is_train=False, stats=None, **kwargs):
    method _repr_args (line 108) | def _repr_args(self):

FILE: onmt/transforms/sampling.py
  class HammingDistanceSampling (line 10) | class HammingDistanceSampling(object):
    method _softmax (line 13) | def _softmax(self, x):
    method _sample_replace (line 17) | def _sample_replace(self, vocab, reject):
    method _sample_distance (line 24) | def _sample_distance(self, tokens, temperature):
    method _sample_position (line 33) | def _sample_position(self, tokens, distance):
  class HammingDistanceSamplingTransform (line 39) | class HammingDistanceSamplingTransform(Transform, HammingDistanceSampling):
    method _set_seed (line 42) | def _set_seed(self, seed):
  class SwitchOutTransform (line 49) | class SwitchOutTransform(HammingDistanceSamplingTransform):
    method __init__ (line 55) | def __init__(self, opts):
    method warm_up (line 58) | def warm_up(self, vocabs):
    method add_options (line 66) | def add_options(cls, parser):
    method _parse_opts (line 75) | def _parse_opts(self):
    method _switchout (line 78) | def _switchout(self, tokens, vocab, stats=None):
    method apply (line 96) | def apply(self, example, is_train=False, stats=None, **kwargs):
    method _repr_args (line 106) | def _repr_args(self):
  class TokenDropTransform (line 112) | class TokenDropTransform(HammingDistanceSamplingTransform):
    method __init__ (line 115) | def __init__(self, opts):
    method add_options (line 119) | def add_options(cls, parser):
    method _parse_opts (line 126) | def _parse_opts(self):
    method _token_drop (line 129) | def _token_drop(self, tokens, stats=None):
    method apply (line 141) | def apply(self, example, is_train=False, stats=None, **kwargs):
    method _repr_args (line 149) | def _repr_args(self):
  class TokenMaskTransform (line 155) | class TokenMaskTransform(HammingDistanceSamplingTransform):
    method __init__ (line 159) | def __init__(self, opts):
    method add_options (line 163) | def add_options(cls, parser):
    method _parse_opts (line 170) | def _parse_opts(self):
    method get_specials (line 174) | def get_specials(cls, opts):
    method _token_mask (line 178) | def _token_mask(self, tokens, stats=None):
    method apply (line 192) | def apply(self, example, is_train=False, stats=None, **kwargs):
    method _repr_args (line 200) | def _repr_args(self):

FILE: onmt/transforms/tokenize.py
  class TokenizerTransform (line 12) | class TokenizerTransform(Transform):
    method __init__ (line 15) | def __init__(self, opts):
    method add_options (line 20) | def add_options(cls, parser):
    method _validate_options (line 79) | def _validate_options(cls, opts):
    method _parse_opts (line 86) | def _parse_opts(self):
    method _repr_args (line 99) | def _repr_args(self):
  class SubwordStats (line 115) | class SubwordStats(ObservableStats):
    method __init__ (line 120) | def __init__(self, subwords: int, words: int):
    method update (line 124) | def update(self, other: "SubwordStats"):
    method __str__ (line 128) | def __str__(self) -> str:
  class SentencePieceTransform (line 135) | class SentencePieceTransform(TokenizerTransform):
    method __init__ (line 138) | def __init__(self, opts):
    method _set_seed (line 142) | def _set_seed(self, seed):
    method warm_up (line 147) | def warm_up(self, vocabs=None):
    method _tokenize (line 174) | def _tokenize(self, tokens, side='src', is_train=False):
    method apply (line 193) | def apply(self, example, is_train=False, stats=None, **kwargs):
    method _repr_args (line 204) | def _repr_args(self):
  class BPETransform (line 214) | class BPETransform(TokenizerTransform):
    method __init__ (line 217) | def __init__(self, opts):
    method _parse_opts (line 221) | def _parse_opts(self):
    method _set_seed (line 226) | def _set_seed(self, seed):
    method warm_up (line 231) | def warm_up(self, vocabs=None):
    method _tokenize (line 259) | def _tokenize(self, tokens, side='src', is_train=False):
    method apply (line 266) | def apply(self, example, is_train=False, stats=None, **kwargs):
  class RoBERTaTransform (line 279) | class RoBERTaTransform(TokenizerTransform):
    method __init__ (line 282) | def __init__(self, opts):
    method _parse_opts (line 288) | def _parse_opts(self):
    method add_options (line 300) | def add_options(cls, parser):
    method _set_seed (line 308) | def _set_seed(self, seed):
    method _load_tokenizer (line 313) | def _load_tokenizer(self, vocab_path):
    method warm_up (line 316) | def warm_up(self, vocabs=None):
    method _tokenize (line 337) | def _tokenize(self, tokens_str, side='src', is_train=False):
    method _encode (line 359) | def _encode(self, tokens_str, side='src', is_train=False):
    method apply (line 382) | def apply(self, example, is_train=False, stats=None, **kwargs):
  class ONMTTokenizerTransform (line 399) | class ONMTTokenizerTransform(TokenizerTransform):
    method __init__ (line 402) | def __init__(self, opts):
    method _set_seed (line 406) | def _set_seed(self, seed):
    method add_options (line 412) | def add_options(cls, parser):
    method _validate_options (line 435) | def _validate_options(cls, opts):
    method _parse_opts (line 447) | def _parse_opts(self):
    method get_specials (line 459) | def get_specials(cls, opts):
    method _get_subword_kwargs (line 473) | def _get_subword_kwargs(self, side='src'):
    method warm_up (line 502) | def warm_up(self, vocabs=None):
    method _tokenize (line 531) | def _tokenize(self, tokens, side='src', is_train=False):
    method apply (line 538) | def apply(self, example, is_train=False, stats=None, **kwargs):
    method _repr_args (line 549) | def _repr_args(self):

FILE: onmt/transforms/transform.py
  class Transform (line 8) | class Transform(object):
    method __init__ (line 11) | def __init__(self, opts):
    method _set_seed (line 16) | def _set_seed(self, seed):
    method require_vocab (line 21) | def require_vocab(cls):
    method warm_up (line 25) | def warm_up(self, vocabs=None):
    method add_options (line 40) | def add_options(cls, parser):
    method _validate_options (line 45) | def _validate_options(cls, opts):
    method get_specials (line 50) | def get_specials(cls, opts):
    method apply (line 53) | def apply(self, example, is_train=False, stats=None, **kwargs):
    method __getstate__ (line 63) | def __getstate__(self):
    method _parse_opts (line 70) | def _parse_opts(self):
    method __setstate__ (line 80) | def __setstate__(self, state):
    method stats (line 87) | def stats(self):
    method _repr_args (line 91) | def _repr_args(self):
    method __repr__ (line 95) | def __repr__(self):
  class ObservableStats (line 101) | class ObservableStats:
    method name (line 106) | def name(self) -> str:
    method update (line 110) | def update(self, other: "ObservableStats"):
    method __str__ (line 114) | def __str__(self) -> str:
  class TransformStatistics (line 123) | class TransformStatistics:
    method __init__ (line 125) | def __init__(self):
    method update (line 128) | def update(self, observable: ObservableStats):
    method report (line 136) | def report(self):
  class TransformPipe (line 149) | class TransformPipe(Transform):
    method __init__ (line 152) | def __init__(self, opts, transform_list):
    method build_from (line 159) | def build_from(cls, transform_list):
    method warm_up (line 167) | def warm_up(self, vocabs):
    method get_specials (line 173) | def get_specials(cls, opts, transforms):
    method apply (line 182) | def apply(self, example, is_train=False, **kwargs):
    method __getstate__ (line 196) | def __getstate__(self):
    method __setstate__ (line 200) | def __setstate__(self, state):
    method stats (line 204) | def stats(self):
    method _repr_args (line 208) | def _repr_args(self):
  function make_transforms (line 216) | def make_transforms(opts, transforms_cls, fields):
  function get_specials (line 232) | def get_specials(opts, transforms_cls_dict):
  function save_transforms (line 243) | def save_transforms(transforms, save_data, overwrite=True):
  function load_transforms (line 251) | def load_transforms(opts):

FILE: onmt/translate/beam.py
  class Beam (line 8) | class Beam(object):
    method __init__ (line 31) | def __init__(self, size, pad, bos, eos,
    method current_predictions (line 78) | def current_predictions(self):
    method current_origin (line 82) | def current_origin(self):
    method advance (line 86) | def advance(self, word_probs, attn_out):
    method done (line 168) | def done(self):
    method sort_finished (line 171) | def sort_finished(self, minimum=None):
    method get_hyp (line 186) | def get_hyp(self, timestep, k):
  class GNMTGlobalScorer (line 196) | class GNMTGlobalScorer(object):
    method from_opt (line 215) | def from_opt(cls, opt):
    method __init__ (line 222) | def __init__(self, alpha, beta, length_penalty, coverage_penalty):
    method _validate (line 237) | def _validate(cls, alpha, beta, length_penalty, coverage_penalty):
    method score (line 260) | def score(self, beam, logprobs):
    method update_score (line 271) | def update_score(self, beam, attn):
    method update_global_state (line 279) | def update_global_state(self, beam):

FILE: onmt/translate/beam_search.py
  class BeamSearchBase (line 9) | class BeamSearchBase(DecodeStrategy):
    method __init__ (line 57) | def __init__(self, beam_size, batch_size, pad, bos, eos, n_best,
    method initialize (line 100) | def initialize(self, *args, **kwargs):
    method initialize_ (line 103) | def initialize_(self, memory_bank, memory_lengths, src_map, device,
    method current_predictions (line 125) | def current_predictions(self):
    method current_backptr (line 130) | def current_backptr(self):
    method batch_offset (line 136) | def batch_offset(self):
    method _pick (line 139) | def _pick(self, log_probs):
    method update_finished (line 158) | def update_finished(self, last_step=None):
    method remove_finished_batches (line 238) | def remove_finished_batches(self, _B_new, _B_old, non_finished,
    method advance (line 267) | def advance(self, log_probs, attn):
  class BeamSearch (line 349) | class BeamSearch(BeamSearchBase):
    method initialize (line 353) | def initialize(self, memory_bank, src_lengths, src_map=None, device=None,
  class BeamSearchLM (line 384) | class BeamSearchLM(BeamSearchBase):
    method initialize (line 388) | def initialize(self, src, src_lengths, src_map=None, device=None,
    method advance (line 412) | def advance(self, log_probs, attn):
    method remove_finished_batches (line 419) | def remove_finished_batches(self, _B_new, _B_old, non_finished,
  class GNMTGlobalScorer (line 433) | class GNMTGlobalScorer(object):
    method from_opt (line 452) | def from_opt(cls, opt):
    method __init__ (line 459) | def __init__(self, alpha, beta, length_penalty, coverage_penalty):
    method _validate (line 474) | def _validate(cls, alpha, beta, length_penalty, coverage_penalty):

FILE: onmt/translate/decode_strategy.py
  class DecodeStrategy (line 5) | class DecodeStrategy(object):
    method __init__ (line 60) | def __init__(self, pad, bos, eos, batch_size, parallel_paths,
    method initialize (line 90) | def initialize(self, memory_bank, src_lengths, src_map=None, device=None,
    method __len__ (line 118) | def __len__(self):
    method ensure_min_length (line 121) | def ensure_min_length(self, log_probs):
    method ensure_max_length (line 125) | def ensure_max_length(self):
    method block_ngram_repeats (line 131) | def block_ngram_repeats(self, log_probs):
    method maybe_update_forbidden_tokens (line 169) | def maybe_update_forbidden_tokens(self):
    method target_prefixing (line 202) | def target_prefixing(self, log_probs):
    method maybe_update_target_prefix (line 240) | def maybe_update_target_prefix(self, select_index):
    method advance (line 250) | def advance(self, log_probs, attn):
    method update_finished (line 259) | def update_finished(self):

FILE: onmt/translate/greedy_search.py
  function sample_with_temperature (line 6) | def sample_with_temperature(logits, sampling_temp, keep_topk):
  class GreedySearch (line 59) | class GreedySearch(DecodeStrategy):
    method __init__ (line 83) | def __init__(self, pad, bos, eos, batch_size, min_length,
    method initialize (line 94) | def initialize(self, memory_bank, src_lengths, src_map=None, device=None,
    method current_predictions (line 116) | def current_predictions(self):
    method batch_offset (line 120) | def batch_offset(self):
    method _pick (line 123) | def _pick(self, log_probs):
    method advance (line 135) | def advance(self, log_probs, attn):
    method update_finished (line 163) | def update_finished(self, last_step=None):
  class GreedySearchLM (line 186) | class GreedySearchLM(GreedySearch):
    method update_finished (line 187) | def update_finished(self):
    method update_memory_lengths (line 191) | def update_memory_lengths(self):
    method advance (line 195) | def advance(self, log_probs, attn):

FILE: onmt/translate/penalties.py
  class PenaltyBuilder (line 5) | class PenaltyBuilder(object):
    method __init__ (line 25) | def __init__(self, cov_pen, length_pen):
    method _pen_is_none (line 32) | def _pen_is_none(pen):
    method _coverage_penalty (line 35) | def _coverage_penalty(self, cov_pen):
    method _length_penalty (line 46) | def _length_penalty(self, length_pen):
    method coverage_wu (line 61) | def coverage_wu(self, cov, beta=0.):
    method coverage_summary (line 74) | def coverage_summary(self, cov, beta=0.):
    method coverage_none (line 80) | def coverage_none(self, cov, beta=0.):
    method length_wu (line 88) | def length_wu(self, cur_len, alpha=0.):
    method length_average (line 96) | def length_average(self, cur_len, alpha=0.):
    method length_none (line 100) | def length_none(self, cur_len, alpha=0.):

FILE: onmt/translate/process_zh.py
  function wrap_str_func (line 6) | def wrap_str_func(func):
  function zh_segmentator (line 18) | def zh_segmentator(line, server_model):
  function zh_traditional_standard (line 24) | def zh_traditional_standard(line, server_model):
  function zh_traditional_hk (line 30) | def zh_traditional_hk(line, server_model):
  function zh_traditional_tw (line 36) | def zh_traditional_tw(line, server_model):
  function zh_simplify (line 42) | def zh_simplify(line, server_model):
  function zh_simplify_v2 (line 48) | def zh_simplify_v2(line, server_model):

FILE: onmt/translate/random_sampling.py
  function sample_with_temperature (line 6) | def sample_with_temperature(logits, sampling_temp, keep_topk):
  class RandomSampling (line 59) | class RandomSampling(DecodeStrategy):
    method __init__ (line 86) | def __init__(self, pad, bos, eos, batch_size, device,
    method advance (line 104) | def advance(self, log_probs, attn):
    method update_finished (line 132) | def update_finished(self, last_step=None):

FILE: onmt/translate/translation.py
  class TranslationBuilder (line 12) | class TranslationBuilder(object):
    method __init__ (line 28) | def __init__(self, data, fields, n_best=1, replace_unk=False,
    method _build_target_tokens (line 48) | def _build_target_tokens(self, src, src_vocab, src_raw, pred, attn):
    method from_batch (line 82) | def from_batch(self, translation_batch):
  class Translation (line 178) | class Translation(object):
    method __init__ (line 204) | def __init__(self, src, src_raw, pred_sents,
    method log (line 241) | def log(self, sent_number):
    method __dict__ (line 270) | def __dict__(self):
    method log_kp (line 315) | def log_kp(self, sent_number):
    method add_copied_flags (line 356) | def add_copied_flags(self, vocab_size):

FILE: onmt/translate/translation_server.py
  function critical (line 28) | def critical(func):
  class Timer (line 48) | class Timer:
    method __init__ (line 49) | def __init__(self, start=False):
    method start (line 56) | def start(self):
    method tick (line 61) | def tick(self, name=None, tot=False):
  class ServerModelError (line 74) | class ServerModelError(Exception):
  class CTranslate2Translator (line 78) | class CTranslate2Translator(object):
    method __init__ (line 84) | def __init__(self, model_path, device, device_index, batch_size,
    method translate (line 106) | def translate(self, texts_to_translate, batch_size=8, tgt=None):
    method to_cpu (line 122) | def to_cpu(self):
    method to_gpu (line 125) | def to_gpu(self):
  class TranslationServer (line 129) | class TranslationServer(object):
    method __init__ (line 130) | def __init__(self):
    method start (line 134) | def start(self, config_file):
    method clone_model (line 166) | def clone_model(self, model_id, opt, timeout=-1):
    method load_model (line 180) | def load_model(self, opt, model_id=None, **model_kwargs):
    method preload_model (line 188) | def preload_model(self, opt, model_id=None, **model_kwargs):
    method run (line 207) | def run(self, inputs):
    method unload_model (line 223) | def unload_model(self, model_id):
    method list_models (line 234) | def list_models(self):
  class ServerModel (line 243) | class ServerModel(object):
    method __init__ (line 263) | def __init__(self, opt, model_id, preprocess_opt=None, tokenizer_opt=N...
    method parse_opt (line 337) | def parse_opt(self, opt):
    method loaded (line 376) | def loaded(self):
    method load (line 379) | def load(self, preload=False):
    method run (line 410) | def run(self, inputs):
    method rebuild_seg_packages (line 544) | def rebuild_seg_packages(self, all_preprocessed, results,
    method do_timeout (line 570) | def do_timeout(self):
    method unload (line 586) | def unload(self):
    method stop_unload_timer (line 594) | def stop_unload_timer(self):
    method reset_unload_timer (line 598) | def reset_unload_timer(self):
    method to_dict (line 606) | def to_dict(self):
    method to_cpu (line 620) | def to_cpu(self):
    method to_gpu (line 629) | def to_gpu(self):
    method maybe_preprocess (line 637) | def maybe_preprocess(self, sequence):
    method preprocess (line 651) | def preprocess(self, sequence):
    method build_tokenizer (line 666) | def build_tokenizer(self, tokenizer_opt):
    method maybe_tokenize (line 702) | def maybe_tokenize(self, sequence, side='src'):
    method tokenize (line 712) | def tokenize(self, sequence, side='src'):
    method tokenizer_marker (line 733) | def tokenizer_marker(self, side='src'):
    method maybe_detokenize_with_align (line 749) | def maybe_detokenize_with_align(self, sequence, src, side='tgt'):
    method maybe_detokenize (line 770) | def maybe_detokenize(self, sequence, side='tgt'):
    method detokenize (line 780) | def detokenize(self, sequence, side='tgt'):
    method maybe_convert_align (line 796) | def maybe_convert_align(self, src, tgt, align):
    method maybe_postprocess (line 817) | def maybe_postprocess(self, sequence):
    method postprocess (line 826) | def postprocess(self, sequence):
  function get_function_by_path (line 842) | def get_function_by_path(path, args=[], kwargs={}):

FILE: onmt/translate/translator.py
  function build_translator (line 35) | def build_translator(opt, report_score=True, logger=None, out_file=None):
  function max_tok_len (line 79) | def max_tok_len(new, count, sofar):
  class Inference (line 98) | class Inference(object):
    method __init__ (line 138) | def __init__(
    method from_opt (line 263) | def from_opt(
    method _log (line 339) | def _log(self, msg):
    method _gold_score (line 345) | def _gold_score(
    method translate (line 370) | def translate(
    method _align_pad_prediction (line 634) | def _align_pad_prediction(self, predictions, bos, pad):
    method _report_score (line 666) | def _report_score(self, name, score_total, words_total):
    method _decode_and_generate (line 680) | def _decode_and_generate(
    method translate_batch (line 741) | def translate_batch(self, batch, src_vocabs, attn_debug):
    method _score_target (line 745) | def _score_target(
    method report_results (line 750) | def report_results(
  class Translator (line 781) | class Translator(Inference):
    method validate_task (line 783) | def validate_task(cls, task):
    method _align_forward (line 790) | def _align_forward(self, batch, predictions):
    method translate_batch (line 838) | def translate_batch(self, batch, src_vocabs, attn_debug):
    method _run_encoder (line 878) | def _run_encoder(self, batch):
    method _decode_and_generate (line 908) | def _decode_and_generate(
    method _translate_batch_with_strategy (line 1006) | def _translate_batch_with_strategy(
    method _score_target (line 1155) | def _score_target(
    method _report_kpeval (line 1185) | def _report_kpeval(self, src_path, tgt_path, pred_path):
    method add_trans_stats (line 1195) | def add_trans_stats(self, trans, kp_concat_type):
    method segment_one2seq_trans (line 1208) | def segment_one2seq_trans(self, trans):
  class GeneratorLM (line 1285) | class GeneratorLM(Inference):
    method validate_task (line 1287) | def validate_task(cls, task):
    method _align_forward (line 1294) | def _align_forward(self, batch, predictions):
    method translate (line 1301) | def translate(
    method translate_batch (line 1332) | def translate_batch(self, batch, src_vocabs, attn_debug):
    method split_src_to_prevent_padding (line 1372) | def split_src_to_prevent_padding(self, src, src_lengths):
    method _translate_batch_with_strategy (line 1386) | def _translate_batch_with_strategy(
    method _score_target (line 1498) | def _score_target(

FILE: onmt/utils/alignment.py
  function make_batch_align_matrix (line 8) | def make_batch_align_matrix(index_tensor, size=None, normalize=False):
  function extract_alignment (line 30) | def extract_alignment(align_matrix, tgt_mask, src_lens, n_best):
  function build_align_pharaoh (line 72) | def build_align_pharaoh(valid_alignment):
  function to_word_align (line 87) | def to_word_align(src, tgt, subword_align, m_src='joiner', m_tgt='joiner'):
  function subword_map_by_joiner (line 123) | def subword_map_by_joiner(subwords, marker=SubwordMarker.JOINER):
  function subword_map_by_spacer (line 139) | def subword_map_by_spacer(subwords, marker=SubwordMarker.SPACER):

FILE: onmt/utils/cnn_factory.py
  function shape_transform (line 13) | def shape_transform(x):
  class GatedConv (line 18) | class GatedConv(nn.Module):
    method __init__ (line 21) | def __init__(self, input_size, width=3, dropout=0.2, nopad=False):
    method forward (line 29) | def forward(self, x_var):
  class StackedCNN (line 37) | class StackedCNN(nn.Module):
    method __init__ (line 40) | def __init__(self, num_layers, input_size, cnn_kernel_width=3,
    method forward (line 50) | def forward(self, x):

FILE: onmt/utils/distributed.py
  function is_master (line 20) | def is_master(opt, device_id):
  function multi_init (line 24) | def multi_init(opt, device_id):
  function all_reduce_and_rescale_tensors (line 39) | def all_reduce_and_rescale_tensors(tensors, rescale_denom,
  function all_gather_list (line 93) | def all_gather_list(data, max_size=4096):
  class ErrorHandler (line 129) | class ErrorHandler(object):
    method __init__ (line 133) | def __init__(self, error_queue):
    method add_child (line 144) | def add_child(self, pid):
    method error_listener (line 148) | def error_listener(self):
    method signal_handler (line 154) | def signal_handler(self, signalnum, stackframe):
  function batch_producer (line 165) | def batch_producer(generator_to_serve, queue, semaphore, opt):
  function consumer (line 201) | def consumer(process_fn, opt, device_id, error_queue, batch_queue, semap...

FILE: onmt/utils/earlystopping.py
  class PatienceEnum (line 6) | class PatienceEnum(Enum):
  class Scorer (line 12) | class Scorer(object):
    method __init__ (line 13) | def __init__(self, best_score, name):
    method is_improving (line 17) | def is_improving(self, stats):
    method is_decreasing (line 20) | def is_decreasing(self, stats):
    method update (line 23) | def update(self, stats):
    method __call__ (line 26) | def __call__(self, stats, **kwargs):
    method _caller (line 29) | def _caller(self, stats):
  class PPLScorer (line 33) | class PPLScorer(Scorer):
    method __init__ (line 35) | def __init__(self):
    method is_improving (line 38) | def is_improving(self, stats):
    method is_decreasing (line 41) | def is_decreasing(self, stats):
    method _caller (line 44) | def _caller(self, stats):
  class AccuracyScorer (line 48) | class AccuracyScorer(Scorer):
    method __init__ (line 50) | def __init__(self):
    method is_improving (line 53) | def is_improving(self, stats):
    method is_decreasing (line 56) | def is_decreasing(self, stats):
    method _caller (line 59) | def _caller(self, stats):
  function scorers_from_opts (line 72) | def scorers_from_opts(opt):
  class EarlyStopping (line 84) | class EarlyStopping(object):
    method __init__ (line 86) | def __init__(self, tolerance, scorers=DEFAULT_SCORERS):
    method __call__ (line 102) | def __call__(self, valid_stats, step):
    method _update_stalled (line 133) | def _update_stalled(self):
    method _update_increasing (line 148) | def _update_increasing(self, valid_stats, step):
    method _update_decreasing (line 165) | def _update_decreasing(self):
    method _log_best_step (line 181) | def _log_best_step(self):
    method _decreasing_or_stopped_status_update (line 185) | def _decreasing_or_stopped_status_update(self, tolerance):
    method is_improving (line 190) | def is_improving(self):
    method has_stopped (line 193) | def has_stopped(self):

FILE: onmt/utils/logging.py
  function init_logger (line 11) | def init_logger(log_file=None, log_file_level=logging.NOTSET, rotate=Fal...

FILE: onmt/utils/loss.py
  function build_loss_compute (line 20) | def build_loss_compute(model, tgt_field, opt, train=True):
  class LossComputeBase (line 118) | class LossComputeBase(nn.Module):
    method __init__ (line 137) | def __init__(self, criterion, generator):
    method padding_idx (line 143) | def padding_idx(self):
    method _make_shard_state (line 146) | def _make_shard_state(self, batch, output, range_, attns=None):
    method _compute_loss (line 160) | def _compute_loss(self, batch, output, target, **kwargs):
    method __call__ (line 173) | def __call__(self,
    method _stats (line 226) | def _stats(self, loss, scores, target, batch_size):
    method _bottle (line 242) | def _bottle(self, _v):
    method _unbottle (line 245) | def _unbottle(self, _v, batch_size):
  class LabelSmoothingLoss (line 249) | class LabelSmoothingLoss(nn.Module):
    method __init__ (line 255) | def __init__(self, label_smoothing, tgt_vocab_size, ignore_index=-100):
    method forward (line 267) | def forward(self, output, target):
  class ReplayMemory (line 279) | class ReplayMemory(object):
    method __init__ (line 281) | def __init__(self, capacity=300):
    method push (line 286) | def push(self, stuff):
    method sample (line 292) | def sample(self, batch_size):
    method __len__ (line 295) | def __len__(self):
  class CommonLossCompute (line 299) | class CommonLossCompute(LossComputeBase):
    method __init__ (line 305) | def __init__(self, criterion, generator, lambda_coverage, lambda_align...
    method _make_shard_state (line 317) | def _make_shard_state(self, batch, output, range_, attns=None):
    method _add_coverage_shard_state (line 360) | def _add_coverage_shard_state(self, shard_state, attns):
    method _compute_loss (line 376) | def _compute_loss(self, batch, output, target,
    method _compute_coverage_loss (line 436) | def _compute_coverage_loss(self, std_attn, coverage_attn):
    method _add_align_shard_state (line 441) | def _add_align_shard_state(self, shard_state, batch, range_start,
    method _compute_alignement_loss (line 471) | def _compute_alignement_loss(self, align_head, ref_align):
    method orthogonal_penalty (line 481) | def orthogonal_penalty(self, _m, l_n_norm=2):
    method _compute_orthogonal_regularization_loss (line 495) | def _compute_orthogonal_regularization_loss(self, tgt_indices, decoder...
    method random_insert (line 531) | def random_insert(self, _list, elem):
    method _compute_semantic_coverage_loss (line 535) | def _compute_semantic_coverage_loss(self, model, src_states, tgtenc_st...
    method _make_shard_state (line 611) | def _make_shard_state(self, batch, output, range_, attns=None):
  class NMTLossCompute (line 630) | class NMTLossCompute(CommonLossCompute):
    method __init__ (line 634) | def __init__(self, criterion, generator, normalization="sents",
  class LMLossCompute (line 643) | class LMLossCompute(CommonLossCompute):
    method __init__ (line 647) | def __init__(self, criterion, generator, normalization="sents",
  function filter_shard_state (line 656) | def filter_shard_state(state, shard_size=None):
  function shards (line 671) | def shards(state, shard_size, eval_only=False):

FILE: onmt/utils/misc.py
  function str2bool (line 11) | def str2bool(v):
  function check_path (line 21) | def check_path(path, exist_ok=False, log=print):
  function split_corpus (line 32) | def split_corpus(path, shard_size, default=None):
  function _split_corpus (line 42) | def _split_corpus(path, shard_size):
  function aeq (line 56) | def aeq(*args):
  function sequence_mask (line 66) | def sequence_mask(lengths, max_len=None):
  function tile (line 78) | def tile(x, count, dim=0):
  function use_gpu (line 100) | def use_gpu(opt):
  function set_random_seed (line 108) | def set_random_seed(seed, is_cuda):
  function generate_relative_positions_matrix (line 126) | def generate_relative_positions_matrix(length, max_relative_positions,
  function relative_matmul (line 144) | def relative_matmul(x, z, transpose):
  function fn_args (line 161) | def fn_args(fun):
  function report_matrix (line 166) | def report_matrix(row_label, column_label, matrix):
  function check_model_config (line 181) | def check_model_config(model_config, root):

FILE: onmt/utils/optimizers.py
  function build_torch_optimizer (line 14) | def build_torch_optimizer(model, opt):
  function make_learning_rate_decay_fn (line 101) | def make_learning_rate_decay_fn(opt):
  function noam_decay (line 135) | def noam_decay(step, warmup_steps, model_size):
  function noam_simple_decay (line 144) | def noam_simple_decay(step, warmup_steps):
  function noamwd_decay (line 152) | def noamwd_decay(step, warmup_steps,
  function exponential_decay (line 162) | def exponential_decay(step, rate, decay_steps, start_step=0):
  function rsqrt_decay (line 169) | def rsqrt_decay(step, warmup_steps):
  function linear_decay (line 173) | def linear_decay(step, warmup_steps, train_steps):
  class MultipleOptimizer (line 182) | class MultipleOptimizer(object):
    method __init__ (line 185) | def __init__(self, op):
    method param_groups (line 190) | def param_groups(self):
    method zero_grad (line 196) | def zero_grad(self):
    method step (line 201) | def step(self):
    method state (line 207) | def state(self):
    method state_dict (line 211) | def state_dict(self):
    method load_state_dict (line 215) | def load_state_dict(self, state_dicts):
  class Optimizer (line 222) | class Optimizer(object):
    method __init__ (line 231) | def __init__(self,
    method from_opt (line 255) | def from_opt(cls, model, opt, checkpoint=None):
    method training_step (line 314) | def training_step(self):
    method amp (line 319) | def amp(self):
    method learning_rate (line 323) | def learning_rate(self):
    method state_dict (line 330) | def state_dict(self):
    method load_state_dict (line 337) | def load_state_dict(self, state_dict):
    method zero_grad (line 345) | def zero_grad(self):
    method backward (line 349) | def backward(self, loss):
    method step (line 362) | def step(self):
  class AdaFactor (line 399) | class AdaFactor(torch.optim.Optimizer):
    method __init__ (line 401) | def __init__(self, params, lr=None, beta1=0.9, beta2=0.999, eps1=1e-30,
    method __setstate__ (line 419) | def __setstate__(self, state):
    method _experimental_reshape (line 422) | def _experimental_reshape(self, shape):
    method _check_shape (line 434) | def _check_shape(self, shape):
    method _rms (line 448) | def _rms(self, x):
    method step (line 451) | def step(self, closure=None):
  class FusedAdam (line 569) | class FusedAdam(torch.optim.Optimizer):
    method __init__ (line 598) | def __init__(self, params,
    method step (line 613) | def step(self, closure=None, grads=None, output_params=None,

FILE: onmt/utils/parse.py
  class DataOptsCheckerMixin (line 11) | class DataOptsCheckerMixin(object):
    method _validate_file (line 15) | def _validate_file(file_path, info):
    method _validate_data (line 21) | def _validate_data(cls, opt):
    method _validate_transforms_opts (line 82) | def _validate_transforms_opts(cls, opt):
    method _get_all_transform (line 89) | def _get_all_transform(cls, opt):
    method _validate_fields_opts (line 110) | def _validate_fields_opts(cls, opt, build_vocab_only=False):
    method _validate_language_model_compatibilities_opts (line 141) | def _validate_language_model_compatibilities_opts(cls, opt):
    method validate_prepare_opts (line 156) | def validate_prepare_opts(cls, opt, build_vocab_only=False):
    method validate_model_opts (line 167) | def validate_model_opts(cls, opt):
  class ArgumentParser (line 171) | class ArgumentParser(cfargparse.ArgumentParser, DataOptsCheckerMixin):
    method __init__ (line 174) | def __init__(
    method defaults (line 185) | def defaults(cls, *args):
    method update_model_opts (line 194) | def update_model_opts(cls, model_opt):
    method validate_model_opts (line 224) | def validate_model_opts(cls, model_opt):
    method ckpt_model_opts (line 252) | def ckpt_model_opts(cls, ckpt_opt):
    method validate_train_opts (line 261) | def validate_train_opts(cls, opt):
    method validate_translate_opts (line 293) | def validate_translate_opts(cls, opt):

FILE: onmt/utils/report_manager.py
  function build_report_manager (line 12) | def build_report_manager(opt, gpu_rank):
  class ReportMgrBase (line 34) | class ReportMgrBase(object):
    method __init__ (line 42) | def __init__(self, report_every, start_time=-1.):
    method start (line 52) | def start(self):
    method log (line 55) | def log(self, *args, **kwargs):
    method report_training (line 58) | def report_training(self, step, num_steps, learning_rate, patience,
    method _report_training (line 86) | def _report_training(self, *args, **kwargs):
    method report_step (line 90) | def report_step(self, lr, patience, step, train_stats=None,
    method _report_step (line 107) | def _report_step(self, *args, **kwargs):
  class ReportMgr (line 111) | class ReportMgr(ReportMgrBase):
    method __init__ (line 112) | def __init__(self, report_every, start_time=-1.,
    method maybe_log_tensorboard (line 127) | def maybe_log_tensorboard(self, stats, prefix, learning_rate,
    method _report_training (line 133) | def _report_training(self, step, num_steps, learning_rate, patience,
    method _report_step (line 154) | def _report_step(self, lr, patience, step,

FILE: onmt/utils/rnn_factory.py
  function rnn_factory (line 8) | def rnn_factory(rnn_type, **kwargs):

FILE: onmt/utils/statistics.py
  class Statistics (line 11) | class Statistics(object):
    method __init__ (line 20) | def __init__(self, loss=0, n_words=0, n_correct=0, n_examples=0):
    method all_gather_stats (line 29) | def all_gather_stats(stat, max_size=4096):
    method all_gather_stats_list (line 45) | def all_gather_stats_list(stat_list, max_size=4096):
    method update (line 72) | def update(self, stat, update_n_src_words=False):
    method accuracy (line 90) | def accuracy(self):
    method xent (line 94) | def xent(self):
    method ppl (line 98) | def ppl(self):
    method elapsed_time (line 102) | def elapsed_time(self):
    method to_dict (line 106) | def to_dict(self, learning_rate, prefix=''):
    method output (line 120) | def output(self, step, num_steps, learning_rate, start):
    method log_tensorboard (line 146) | def log_tensorboard(self, prefix, writer, learning_rate, patience, step):

FILE: tools/apply_bpe.py
  class BPE (line 31) | class BPE(object):
    method __init__ (line 33) | def __init__(self, codes, separator='@@', vocab=None, glossaries=None):
    method segment (line 61) | def segment(self, sentence):
    method _isolate_glossaries (line 81) | def _isolate_glossaries(self, word):
  function create_parser (line 89) | def create_parser():
  function get_pairs (line 126) | def get_pairs(word):
  function encode (line 139) | def encode(orig, bpe_codes, bpe_codes_reverse, vocab, separator, version...
  function recursive_split (line 204) | def recursive_split(segment, bpe_codes, vocab, separator, final=False):
  function check_vocab_and_split (line 232) | def check_vocab_and_split(orig, bpe_codes, vocab, separator):
  function read_vocabulary (line 257) | def read_vocabulary(vocab_file, threshold):
  function isolate_glossary (line 272) | def isolate_glossary(word, glossary):

FILE: tools/embeddings_to_torch.py
  function get_vocabs (line 10) | def get_vocabs(dict_path):
  function read_embeddings (line 29) | def read_embeddings(file_enc, skip_lines=0, filter_set=None):
  function convert_to_torch_tensor (line 52) | def convert_to_torch_tensor(word_to_float_list_dict, vocab):
  function calc_vocab_load_stats (line 60) | def calc_vocab_load_stats(vocab, loaded_embed_dict):
  function main (line 68) | def main():

FILE: tools/extract_embeddings.py
  function write_embeddings (line 24) | def write_embeddings(filename, dict, embeddings):
  function main (line 33) | def main():

FILE: tools/extract_vocabulary.py
  function read_files_batch (line 7) | def read_files_batch(file_list):
  function main (line 37) | def main():

FILE: tools/learn_bpe.py
  function create_parser (line 30) | def create_parser():
  function get_vocabulary (line 59) | def get_vocabulary(fobj, is_dict=False):
  function update_pair_statistics (line 73) | def update_pair_statistics(pair, changed, stats, indices):
  function get_pair_statistics (line 132) | def get_pair_statistics(vocab):
  function replace_pair (line 151) | def replace_pair(pair, vocab, indices):
  function prune_stats (line 177) | def prune_stats(stats, big_stats, threshold):
  function main (line 193) | def main(infile, outfile, num_symbols, min_frequency=2, verbose=False, i...

FILE: tools/spm_to_vocab.py
  function convert (line 11) | def convert(lines):

FILE: tools/stanfordcorenlp/corenlp.py
  class StanfordCoreNLP (line 24) | class StanfordCoreNLP:
    method __init__ (line 25) | def __init__(self, path_or_host, port=None, memory='4g', lang='en', ti...
    method __enter__ (line 120) | def __enter__(self):
    method __exit__ (line 123) | def __exit__(self, exc_type, exc_val, exc_tb):
    method close (line 126) | def close(self):
    method annotate (line 149) | def annotate(self, text, properties=None):
    method tregex (line 157) | def tregex(self, sentence, pattern):
    method tokensregex (line 162) | def tokensregex(self, sentence, pattern):
    method semgrex (line 167) | def semgrex(self, sentence, pattern):
    method sentence_segment (line 172) | def sentence_segment(self, text):
    method word_tokenize (line 176) | def word_tokenize(self, sentence, span=False):
    method pos_tag (line 188) | def pos_tag(self, sentence):
    method ner (line 198) | def ner(self, sentence):
    method parse (line 208) | def parse(self, sentence):
    method dependency_parse (line 212) | def dependency_parse(self, sentence):
    method coref (line 217) | def coref(self, text):
    method switch_language (line 228) | def switch_language(self, language="en"):
    method _request (line 232) | def _request(self, annotators=None, data=None, *args, **kwargs):
    method _check_args (line 247) | def _check_args(self):
    method _check_language (line 252) | def _check_language(self, lang):

FILE: tools/test_rouge.py
  function test_rouge (line 13) | def test_rouge(cand, ref):
  function rouge_results_to_str (line 51) | def rouge_results_to_str(results_dict):
Copy disabled (too large) Download .json
Condensed preview — 1331 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (26,157K chars).
[
  {
    "path": ".github/workflows/push.yml",
    "chars": 9398,
    "preview": "name: Lint & Tests\n\non: [push, pull_request]\n\njobs:\n  lint-and-tests:\n\n    runs-on: ubuntu-latest\n    strategy:\n      ma"
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 1468,
    "preview": "name: Deploy Docs & Publish to PyPi\n\non:\n  release:\n    types: [published]\n\njobs:\n  deploy-docs:\n    runs-on: ubuntu-lat"
  },
  {
    "path": ".gitignore",
    "chars": 1307,
    "preview": "# repo-specific stuff\n*.pkl\nmulti-bleu.perl\n*.pt\n\\#*#\n.idea\n*.sublime-*\n.DS_Store\ndata/\nruns/\noutput/\n\n# Byte-compiled /"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 10055,
    "preview": "\n**Notes on versioning**\n\n\n## [Unreleased]\n\n## [2.0.0rc2](https://github.com/OpenNMT/OpenNMT-py/tree/2.0.0rc2) (2020-11-"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 4126,
    "preview": "# Contributors\n\nOpenNMT-py is a community developed project and we love developer contributions.\n\n## Guidelines\nBefore s"
  },
  {
    "path": "Dockerfile",
    "chars": 163,
    "preview": "FROM pytorch/pytorch:latest\nRUN git clone https://github.com/OpenNMT/OpenNMT-py.git && cd OpenNMT-py && pip install -r r"
  },
  {
    "path": "LICENSE.md",
    "chars": 1072,
    "preview": "MIT License\n\nCopyright (c) 2017-Present OpenNMT\n\nPermission is hereby granted, free of charge, to any person obtaining a"
  },
  {
    "path": "README.md",
    "chars": 11391,
    "preview": "# Keyphrase Generation (built on OpenNMT-py)\n\nThis is a repository providing code and datasets for keyphrase generation."
  },
  {
    "path": "available_models/example.conf.json",
    "chars": 712,
    "preview": "{\n    \"models_root\": \"./available_models\",\n    \"models\": [\n        {\n            \"id\": 100,\n            \"model\": \"model_"
  },
  {
    "path": "build_vocab.py",
    "chars": 100,
    "preview": "#!/usr/bin/env python\nfrom onmt.bin.build_vocab import main\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "config/diversity/keyphrase-one2one-diversity.yml",
    "chars": 1330,
    "preview": "# Translation / inference options\n#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt\ncache_dir: /zfs1"
  },
  {
    "path": "config/diversity/keyphrase-one2seq-diversity.yml",
    "chars": 1331,
    "preview": "# Translation / inference options\n#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt\ncache_dir: /zfs1"
  },
  {
    "path": "config/empirical/preprocess/config-preprocess-keyphrase-kp20k.yml",
    "chars": 605,
    "preview": "data_type: keyphrase\n\ntrain_src: data/keyphrase/meng17/kp20k/kp20k_train.src\ntrain_tgt: data/keyphrase/meng17/kp20k/kp20"
  },
  {
    "path": "config/empirical/preprocess/config-preprocess-keyphrase-magkp.yml",
    "chars": 605,
    "preview": "data_type: keyphrase\n\ntrain_src: data/keyphrase/meng17/magkp/magkp_train.src\ntrain_tgt: data/keyphrase/meng17/magkp/magk"
  },
  {
    "path": "config/empirical/preprocess/config-preprocess-keyphrase-magkp_subset.yml",
    "chars": 647,
    "preview": "data_type: keyphrase\n\ntrain_src: data/keyphrase/meng17/magkp_Nsmall/magkp_Nsmall_train.src\ntrain_tgt: data/keyphrase/men"
  },
  {
    "path": "config/empirical/preprocess/config-preprocess-keyphrase-small.yml",
    "chars": 555,
    "preview": "data_type: keyphrase\n\ntrain_src: data/keyphrase/meng17/kp20k_small/kp20k_small_train.src\ntrain_tgt: data/keyphrase/meng1"
  },
  {
    "path": "config/empirical/preprocess/config-preprocess-keyphrase-stackexchange.yml",
    "chars": 582,
    "preview": "data_type: keyphrase\n\ntrain_src: data/keyphrase/meng17/stackexchange/stackexchange_train.src\ntrain_tgt: data/keyphrase/m"
  },
  {
    "path": "config/empirical/preprocess/config-preprocess-mt_demo.yml",
    "chars": 421,
    "preview": "data_type: text\ntrain_src: data/mt/demo/src-train.txt\ntrain_tgt: data/mt/demo/tgt-train.txt\nvalid_src: data/mt/demo/src-"
  },
  {
    "path": "config/empirical/preprocess/config-preprocess-summarization.yml",
    "chars": 510,
    "preview": "data_type: text\ntrain_src: data/summarization/cnndm/train.txt.src\ntrain_tgt: data/summarization/cnndm/train.txt.tgt.tagg"
  },
  {
    "path": "config/empirical/test/config-test-keyphrase-one2one.yml",
    "chars": 882,
    "preview": "# Translation / inference options\n#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt\n\n# Data options\n"
  },
  {
    "path": "config/empirical/test/config-test-keyphrase-one2seq.yml",
    "chars": 896,
    "preview": "# Translation / inference options\n#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt\n\n# Data options\n"
  },
  {
    "path": "config/empirical/train/jsonl/config-rnn-keyphrase.yml",
    "chars": 1001,
    "preview": "data_type: keyphrase\ntgt_type: random\n\nexp: kp20k-one2seq-birnn-GRU150-EMB100-diverse-local\nexp_dir: output/meng17-one2s"
  },
  {
    "path": "config/empirical/train/pt/1st/config-rnn-keyphrase-magkp.yml",
    "chars": 796,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/magkp/magkp_train.one2many\nsave_model: models/magkp/magkp.one2one.birnn\nsave"
  },
  {
    "path": "config/empirical/train/pt/1st/config-rnn-keyphrase-one2one-stackexchange.yml",
    "chars": 987,
    "preview": "model_type: keyphrase\ntgt_type: one2one\n\n\ndata: data/keyphrase/meng17/stackexchange\nsave_checkpoint_steps: 10000\nkeep_ch"
  },
  {
    "path": "config/empirical/train/pt/1st/config-rnn-keyphrase-one2seq-diverse.yml",
    "chars": 1192,
    "preview": "model_type: keyphrase\ntgt_type: verbatim_append\n\ndata: data/keyphrase/meng17/kp20k\n# data: data/keyphrase/meng17/kp20k_s"
  },
  {
    "path": "config/empirical/train/pt/1st/config-rnn-keyphrase-one2seq.yml",
    "chars": 1096,
    "preview": "model_type: keyphrase\ntgt_type: random\n\ndata: data/keyphrase/meng17/kp20k\n#data: data/keyphrase/meng17/kp20k_small\n#data"
  },
  {
    "path": "config/empirical/train/pt/1st/config-rnn-keyphrase.drop00.yml",
    "chars": 975,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/kp20k\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 20\nseed: 3435\ntra"
  },
  {
    "path": "config/empirical/train/pt/1st/config-rnn-keyphrase.drop05.coverage.noreuse.yml",
    "chars": 1058,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/kp20k\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 20\nseed: 3435\ntra"
  },
  {
    "path": "config/empirical/train/pt/1st/config-rnn-keyphrase.drop05.coverage.yml",
    "chars": 1026,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/kp20k\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 20\nseed: 3435\ntra"
  },
  {
    "path": "config/empirical/train/pt/1st/config-rnn-keyphrase.drop05.yml",
    "chars": 975,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/kp20k\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 20\nseed: 3435\ntra"
  },
  {
    "path": "config/empirical/train/pt/1st/config-rnn-summarization.yml",
    "chars": 520,
    "preview": "data: data/summarization/cnndm/cnndm\nsave_model: models/cnndm\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 10\nseed: 343"
  },
  {
    "path": "config/empirical/train/pt/1st/config-transformer-base-1GPU.yml",
    "chars": 652,
    "preview": "data: exp/dataset.de-en\nsave_model: exp/model.de-en\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 10\nseed: 3435\ntrain_st"
  },
  {
    "path": "config/empirical/train/pt/1st/config-transformer-base-4GPU.yml",
    "chars": 664,
    "preview": "data: exp/dataset.de-en\nsave_model: exp/model.de-en\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 10\nseed: 3435\ntrain_st"
  },
  {
    "path": "config/empirical/train/pt/1st/config-transformer-keyphrase-local.yml",
    "chars": 1070,
    "preview": "model_type: keyphrase\n#tgt_type: one2one\ntgt_type: no_sort\n\n#data: data/keyphrase/kp20k/kp20k.one2one\ndata: data/keyphra"
  },
  {
    "path": "config/empirical/train/pt/1st/config-transformer-keyphrase-magkp.yml",
    "chars": 1051,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/magkp/magkp_train.one2many\nsave_model: models/magkp/magkp.one2one.transforme"
  },
  {
    "path": "config/empirical/train/pt/1st/config-transformer-keyphrase-test.yml",
    "chars": 1038,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/magkp\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 40\nseed: 3435\n\nen"
  },
  {
    "path": "config/empirical/train/pt/1st/config-transformer-keyphrase.yml",
    "chars": 1039,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/kp20k\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 40\nseed: 3435\n\nen"
  },
  {
    "path": "config/empirical/train/pt/1st/config-transformer-summarization-local.yml",
    "chars": 672,
    "preview": "data: data/summarization/cnndm/cnndm\nsave_model: models/cnndm\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 10\nseed: 343"
  },
  {
    "path": "config/empirical/train/pt/1st/config-transformer-summarization.yml",
    "chars": 677,
    "preview": "data: data/summarization/cnndm/cnndm\nsave_model: models/cnndm\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 10\nseed: 343"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2one-transformer-copycovfalse-kp20k.yml",
    "chars": 2428,
    "preview": "exp: kpgen-meng17-kp20k-one2one-transformer-L6H8-Copyfalse-Covfalse\nexp_dir: output/keyphrase/meng17-one2one/meng17-one2"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2one-transformer-kp20k.yml",
    "chars": 2417,
    "preview": "exp: kpgen-meng17-kp20k-one2one-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2one/meng17-one2on"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2one-transformer-magkp+kp20kFT.yml",
    "chars": 2432,
    "preview": "exp: kpgen-meng17-magkp_kp20k_finetune-one2one-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2on"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2one-transformer-magkp.yml",
    "chars": 2417,
    "preview": "exp: kpgen-meng17-magkp-one2one-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2one/meng17-one2on"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2one-transformer-magkp20k.yml",
    "chars": 2427,
    "preview": "exp: kpgen-meng17-magkp20k-one2one-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2one/meng17-one"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-alphabetical-transformer-kp20k.yml",
    "chars": 2443,
    "preview": "exp: kpgen-meng17-kp20k-alphabetical-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/meng17-o"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-alphabetical_reverse-rnn-kp20k.yml",
    "chars": 1735,
    "preview": "exp: kpgen-meng17-kp20k-alphabetical_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue\nexp_dir: output/keyphrase/men"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-alphabetical_reverse-transformer-kp20k.yml",
    "chars": 2482,
    "preview": "exp: kpgen-meng17-kp20k-alphabetical_reverse-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-length-transformer-kp20k.yml",
    "chars": 2413,
    "preview": "exp: kpgen-meng17-kp20k-length-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-length_reverse-rnn-kp20k.yml",
    "chars": 1705,
    "preview": "exp: kpgen-meng17-kp20k-length_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-on"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-length_reverse-transformer-kp20k.yml",
    "chars": 2453,
    "preview": "exp: kpgen-meng17-kp20k-length_reverse-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/meng17"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-no_sort-transformer-kp20k.yml",
    "chars": 2417,
    "preview": "exp: kpgen-meng17-kp20k-no_sort-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/meng17-one2se"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-no_sort_reverse-rnn-kp20k.yml",
    "chars": 1710,
    "preview": "exp: kpgen-meng17-kp20k-no_sort_reverse-rnn-Dim150-Emb100-Dropout0.0-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-o"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-no_sort_reverse-transformer-kp20k.yml",
    "chars": 2458,
    "preview": "exp: kpgen-meng17-kp20k-no_sort_reverse-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/meng1"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-random-transformer-kp20k.yml",
    "chars": 2413,
    "preview": "exp: kpgen-meng17-kp20k-random-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/meng17-one2seq"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_LN+kp20kFT.yml",
    "chars": 2718,
    "preview": "exp: kpgen-meng17-MagKP_LN+kp20kFT-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-on"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_LN.yml",
    "chars": 2469,
    "preview": "exp: kpgen-meng17-MagKP_LN-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/me"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge+kp20kFT.yml",
    "chars": 2738,
    "preview": "exp: kpgen-meng17-MagKP_Nlarge+kp20kFT-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng1"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nlarge.yml",
    "chars": 2485,
    "preview": "exp: kpgen-meng17-MagKP_Nlarge-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2se"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall+kp20kFT.yml",
    "chars": 2738,
    "preview": "exp: kpgen-meng17-MagKP_Nsmall+kp20kFT-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng1"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-MagKP_Nsmall.yml",
    "chars": 2485,
    "preview": "exp: kpgen-meng17-MagKP_Nsmall-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2se"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-copycovfalse-kp20k.yml",
    "chars": 2469,
    "preview": "exp: kpgen-meng17-kp20k-verbatim_append-transformer-L6H8-Copyfalse-Covfalse\nexp_dir: output/keyphrase/meng17-one2seq/men"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-copycovfalse-magkp20k.yml",
    "chars": 2479,
    "preview": "exp: kpgen-meng17-magkp20k-verbatim_append-transformer-L6H8-Copyfalse-Covfalse\nexp_dir: output/keyphrase/meng17-one2seq/"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_LN.yml",
    "chars": 2491,
    "preview": "exp: kpgen-meng17-kp20k+MagKP_LN-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nlarge.yml",
    "chars": 2507,
    "preview": "exp: kpgen-meng17-kp20k+MagKP_Nlarge-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-kp20k+MagKP_Nsmall.yml",
    "chars": 2506,
    "preview": "exp: kpgen-meng17-kp20k+MagKP_Nsmall-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-kp20k.yml",
    "chars": 2458,
    "preview": "exp: kpgen-meng17-kp20k-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/meng1"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-magkp+kp20kFT.yml",
    "chars": 2703,
    "preview": "exp: kpgen-meng17-magkp+kp20kFT-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2s"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-magkp.yml",
    "chars": 2458,
    "preview": "exp: kpgen-meng17-magkp-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/meng1"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-magkp20k+kp20kFT.yml",
    "chars": 2718,
    "preview": "exp: kpgen-meng17-magkp20k+kp20kFT-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-on"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_append-transformer-magkp20k.yml",
    "chars": 2468,
    "preview": "exp: kpgen-meng17-magkp20k-verbatim_append-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/me"
  },
  {
    "path": "config/empirical/train/pt/3rd/config-kpgen-one2seq-verbatim_prepend-transformer-kp20k.yml",
    "chars": 2463,
    "preview": "exp: kpgen-meng17-kp20k-verbatim_prepend-transformer-L6H8-Copytrue-Covtrue\nexp_dir: output/keyphrase/meng17-one2seq/meng"
  },
  {
    "path": "config/empirical/train/pt/base/config-rnn-keyphrase-magkp.yml",
    "chars": 796,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/magkp/magkp_train.one2many\nsave_model: models/magkp/magkp.one2one.birnn\nsave"
  },
  {
    "path": "config/empirical/train/pt/base/config-rnn-keyphrase-one2one-stackexchange.yml",
    "chars": 987,
    "preview": "model_type: keyphrase\ntgt_type: one2one\n\n\ndata: data/keyphrase/meng17/stackexchange\nsave_checkpoint_steps: 10000\nkeep_ch"
  },
  {
    "path": "config/empirical/train/pt/base/config-rnn-keyphrase-one2seq-diverse.yml",
    "chars": 1192,
    "preview": "model_type: keyphrase\ntgt_type: verbatim_append\n\ndata: data/keyphrase/meng17/kp20k\n# data: data/keyphrase/meng17/kp20k_s"
  },
  {
    "path": "config/empirical/train/pt/base/config-rnn-keyphrase-one2seq-localtest.yml",
    "chars": 1749,
    "preview": "model_type: keyphrase\ndata_type: keyphrase\ndata_format: pt\ntgt_type: length_reverse\n\ntrain_from: models/keyphrase/meng17"
  },
  {
    "path": "config/empirical/train/pt/base/config-rnn-keyphrase-one2seq.yml",
    "chars": 1096,
    "preview": "model_type: keyphrase\ntgt_type: random\n\ndata: data/keyphrase/meng17/kp20k\n#data: data/keyphrase/meng17/kp20k_small\n#data"
  },
  {
    "path": "config/empirical/train/pt/base/config-rnn-keyphrase.drop00.yml",
    "chars": 975,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/kp20k\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 20\nseed: 3435\ntra"
  },
  {
    "path": "config/empirical/train/pt/base/config-rnn-keyphrase.drop05.coverage.noreuse.yml",
    "chars": 1058,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/kp20k\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 20\nseed: 3435\ntra"
  },
  {
    "path": "config/empirical/train/pt/base/config-rnn-keyphrase.drop05.coverage.yml",
    "chars": 1026,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/kp20k\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 20\nseed: 3435\ntra"
  },
  {
    "path": "config/empirical/train/pt/base/config-rnn-keyphrase.drop05.yml",
    "chars": 975,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/kp20k\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 20\nseed: 3435\ntra"
  },
  {
    "path": "config/empirical/train/pt/base/config-rnn-summarization.yml",
    "chars": 520,
    "preview": "data: data/summarization/cnndm/cnndm\nsave_model: models/cnndm\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 10\nseed: 343"
  },
  {
    "path": "config/empirical/train/pt/base/config-transformer-base-1GPU.yml",
    "chars": 652,
    "preview": "data: exp/dataset.de-en\nsave_model: exp/model.de-en\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 10\nseed: 3435\ntrain_st"
  },
  {
    "path": "config/empirical/train/pt/base/config-transformer-base-4GPU.yml",
    "chars": 664,
    "preview": "data: exp/dataset.de-en\nsave_model: exp/model.de-en\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 10\nseed: 3435\ntrain_st"
  },
  {
    "path": "config/empirical/train/pt/base/config-transformer-keyphrase-local.yml",
    "chars": 1070,
    "preview": "model_type: keyphrase\n#tgt_type: one2one\ntgt_type: no_sort\n\n#data: data/keyphrase/kp20k/kp20k.one2one\ndata: data/keyphra"
  },
  {
    "path": "config/empirical/train/pt/base/config-transformer-keyphrase-magkp.yml",
    "chars": 1051,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/magkp/magkp_train.one2many\nsave_model: models/magkp/magkp.one2one.transforme"
  },
  {
    "path": "config/empirical/train/pt/base/config-transformer-keyphrase-test.yml",
    "chars": 1038,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/magkp\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 40\nseed: 3435\n\nen"
  },
  {
    "path": "config/empirical/train/pt/base/config-transformer-keyphrase.yml",
    "chars": 1039,
    "preview": "model_type: keyphrase\n\ndata: data/keyphrase/meng17/kp20k\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 40\nseed: 3435\n\nen"
  },
  {
    "path": "config/empirical/train/pt/base/config-transformer-summarization-local.yml",
    "chars": 672,
    "preview": "data: data/summarization/cnndm/cnndm\nsave_model: models/cnndm\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 10\nseed: 343"
  },
  {
    "path": "config/empirical/train/pt/base/config-transformer-summarization.yml",
    "chars": 677,
    "preview": "data: data/summarization/cnndm/cnndm\nsave_model: models/cnndm\nsave_checkpoint_steps: 10000\nkeep_checkpoint: 10\nseed: 343"
  },
  {
    "path": "config/empirical/train/pt/config-rnn-keyphrase-crc.yml",
    "chars": 1112,
    "preview": "model_type: keyphrase\n\n#data: data/keyphrase/meng17/kp20k\n#save_checkpoint_steps: 10000\n#keep_checkpoint: 20\nseed: 3435\n"
  },
  {
    "path": "config/empirical/train/pt/config-rnn-keyphrase-one2seq-debug.yml",
    "chars": 1271,
    "preview": "model_type: keyphrase\ntgt_type: random\n\nexp: kp20k-one2seq-birnn-GRU150-EMB100-diverse-test\nexp_dir: output/meng17-one2s"
  },
  {
    "path": "config/empirical/train/pt/config-transformer-keyphrase-crc.yml",
    "chars": 1155,
    "preview": "model_type: keyphrase\n\n#data: data/keyphrase/meng17/kp20k\n#save_checkpoint_steps: 10000\n#keep_checkpoint: 40\nseed: 3435\n"
  },
  {
    "path": "config/transfer_kp/infer/keyphrase-one2one.yml",
    "chars": 1154,
    "preview": "# Translation / inference options\n#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt\ncache_dir: /zfs1"
  },
  {
    "path": "config/transfer_kp/infer/keyphrase-one2seq-controlled.yml",
    "chars": 1301,
    "preview": "# Translation / inference options\n#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt\ncache_dir: /zfs1"
  },
  {
    "path": "config/transfer_kp/infer/keyphrase-one2seq.yml",
    "chars": 1269,
    "preview": "# Translation / inference options\n#model: models/keyphrase/kp20k/kp20k.one2one.birnn.test_step_40000.pt\ncache_dir: /zfs1"
  },
  {
    "path": "config/translate/config-rnn-keyphrase.yml",
    "chars": 868,
    "preview": "# Translation / inference options\nmodel: models/keyphrase/meng17/kp20k.one2one.birnn.test_step_100000.pt\n\n# Data options"
  },
  {
    "path": "docs/Makefile",
    "chars": 616,
    "preview": "# Minimal makefile for Sphinx documentation\n#\n\n# You can set these variables from the command line.\nSPHINXOPTS    =\nSPHI"
  },
  {
    "path": "docs/requirements.txt",
    "chars": 155,
    "preview": "sphinx==2.4.*\nsphinxcontrib.bibtex\nsphinxcontrib.mermaid\nsphinx-rtd-theme==0.4.*\nrecommonmark==0.6.*\nsphinx-argparse==0."
  },
  {
    "path": "docs/source/CONTRIBUTING.md",
    "chars": 4220,
    "preview": "# Contributors\n\nOpenNMT-py is a community developed project and we love developer contributions.\n\n## Guidelines\nBefore s"
  },
  {
    "path": "docs/source/FAQ.md",
    "chars": 17545,
    "preview": "\nAll the example YAML configurations are partial. To get an overview of what this YAML configuration is you can start by"
  },
  {
    "path": "docs/source/_static/theme_overrides.css",
    "chars": 364,
    "preview": "/* override table width restrictions */\n@media screen and (min-width: 767px) {\n\n   .wy-table-responsive table td {\n     "
  },
  {
    "path": "docs/source/conf.py",
    "chars": 6366,
    "preview": "#!/usr/bin/env python3\n# -*- coding: utf-8 -*-\n#\n# OpenNMT-py documentation build configuration file, created by\n# sphin"
  },
  {
    "path": "docs/source/examples/GGNN.md",
    "chars": 6057,
    "preview": "# Gated Graph Sequence Neural Networks\n\nGraph-to-sequence networks allow information represtable as a graph (such as an "
  },
  {
    "path": "docs/source/examples/LanguageModelGeneration.md",
    "chars": 4521,
    "preview": "# Language Model Generation\n\n\n## Step 0: Download and clean the data\n\nPreliminary steps are defined in the [`examples/sc"
  },
  {
    "path": "docs/source/examples/Library.ipynb",
    "chars": 30771,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# How to use OpenNMT-py as a Librar"
  },
  {
    "path": "docs/source/examples/Library.md",
    "chars": 21005,
    "preview": "\n# Library\n\nThe example notebook (available [here](https://github.com/OpenNMT/OpenNMT-py/blob/master/docs/source/example"
  },
  {
    "path": "docs/source/examples/Summarization.md",
    "chars": 12192,
    "preview": "# Summarization\n\nNote: The process and results below are presented in the paper `Bottom-Up Abstractive Summarization`. P"
  },
  {
    "path": "docs/source/examples/Translation.md",
    "chars": 4782,
    "preview": "\n# Translation\n\nThis example is for training for the [WMT'14 English to German news translation task](https://www.statmt"
  },
  {
    "path": "docs/source/index.rst",
    "chars": 945,
    "preview": "Contents\n--------\n\n.. toctree::\n      :caption: Getting Started\n      :maxdepth: 2\n\n      main.md\n      quickstart.md\n  "
  },
  {
    "path": "docs/source/legacy/FAQ.md",
    "chars": 8996,
    "preview": "# FAQ (Legacy version)\n\nThis is the FAQ for the legacy version of OpenNMT-py (prior to OpenNMT-py v2.0 release).\n\n## How"
  },
  {
    "path": "docs/source/legacy/im2text.md",
    "chars": 3443,
    "preview": "# Image to Text\n\n---------\n\n**WARNING**: This example is based on the [legacy version of OpenNMT-py](https://github.com/"
  },
  {
    "path": "docs/source/legacy/speech2text.md",
    "chars": 2784,
    "preview": "# Speech to Text\n\n---------\n\n**WARNING**: This example is based on the [legacy version of OpenNMT-py](https://github.com"
  },
  {
    "path": "docs/source/legacy/vid2text.rst",
    "chars": 20754,
    "preview": "Video to Text\n=============\n\n---------\n\n**WARNING**: This example is based on the\n`legacy version of OpenNMT-py <https:/"
  },
  {
    "path": "docs/source/main.md",
    "chars": 1415,
    "preview": "# Overview\n\n\nThis portal provides a detailed documentation of the OpenNMT-py toolkit. It describes how to use the PyTorc"
  },
  {
    "path": "docs/source/onmt.inputters.rst",
    "chars": 329,
    "preview": "Data Loaders\n=================\n\nData Readers\n-------------\n\n.. autoexception:: onmt.inputters.datareader_base.MissingDep"
  },
  {
    "path": "docs/source/onmt.modules.rst",
    "chars": 1818,
    "preview": "Modules\n=============\n\nCore Modules\n------------\n\n.. autoclass:: onmt.modules.Embeddings\n    :members:\n\n\nEncoders\n------"
  },
  {
    "path": "docs/source/onmt.rst",
    "chars": 352,
    "preview": "Framework\n=================\n\nModel\n-----\n\n.. autoclass:: onmt.models.NMTModel\n    :members:\n\nTrainer\n-------\n\n.. autocla"
  },
  {
    "path": "docs/source/onmt.translate.translation_server.rst",
    "chars": 363,
    "preview": "Server\n======\n\n\nModels\n-------------\n\n.. autoclass:: onmt.translate.translation_server.ServerModel\n    :members:\n\n\nCore "
  },
  {
    "path": "docs/source/onmt.translation.rst",
    "chars": 709,
    "preview": "Translation\n==================\n\nTranslations\n-------------\n\n.. autoclass:: onmt.translate.Translation\n    :members:\n\nTra"
  },
  {
    "path": "docs/source/options/build_vocab.rst",
    "chars": 361,
    "preview": "Build Vocab\n===========\n\n.. argparse::\n    :filename: ../onmt/bin/build_vocab.py\n    :func: _get_parser\n    :prog: build"
  },
  {
    "path": "docs/source/options/server.rst",
    "chars": 112,
    "preview": "Server\n=========\n\n.. argparse::\n    :filename: ../onmt/bin/server.py\n    :func: _get_parser\n    :prog: server.py"
  },
  {
    "path": "docs/source/options/train.rst",
    "chars": 105,
    "preview": "Train\n=====\n\n.. argparse::\n    :filename: ../onmt/bin/train.py\n    :func: _get_parser\n    :prog: train.py"
  },
  {
    "path": "docs/source/options/translate.rst",
    "chars": 121,
    "preview": "Translate\n=========\n\n.. argparse::\n    :filename: ../onmt/bin/translate.py\n    :func: _get_parser\n    :prog: translate.p"
  },
  {
    "path": "docs/source/quickstart.md",
    "chars": 4594,
    "preview": "\n\n# Quickstart\n\n### Step 0: Install OpenNMT-py\n\n```bash\npip install --upgrade pip\npip install OpenNMT-py\n```\n\n### Step 1"
  },
  {
    "path": "docs/source/ref.rst",
    "chars": 91,
    "preview": "==========\nReferences\n==========\n\n\n\nReferences\n            \n.. bibliography:: refs.bib\n   \n"
  },
  {
    "path": "docs/source/refs.bib",
    "chars": 29403,
    "preview": "@article{DBLP:journals/corr/LiuL17d,\n  author    = {Yang Liu and\n                 Mirella Lapata},\n                   ti"
  },
  {
    "path": "examples/README.md",
    "chars": 192,
    "preview": "[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/me"
  },
  {
    "path": "examples/cnndm.yaml",
    "chars": 1093,
    "preview": "## Where the vocab(s) will be written\nsave_data: cnndm/run/example\n# Prevent overwriting existing files in the folder\nov"
  },
  {
    "path": "examples/ggnn.yaml",
    "chars": 955,
    "preview": "## Where the necessary objects will be written\nsave_data: OpenNMT-py-ggnn-example/run/example\n\n# Filter long examples\nsr"
  },
  {
    "path": "examples/onmt.train.fp16.transformer.yaml",
    "chars": 2180,
    "preview": "# Meta opts:\n## IO\nsave_data: generated/dynamic.ex0\noverwrite: False\n\n### vocab:\nsrc_vocab: data/vocab-train.src\ntgt_voc"
  },
  {
    "path": "examples/scripts/prepare_wikitext-103_data.sh",
    "chars": 1234,
    "preview": "#!/bin/bash\n\n##################################################################################\n# This script will downl"
  },
  {
    "path": "examples/scripts/prepare_wmt_data.sh",
    "chars": 6361,
    "preview": "#!/bin/bash\n\n##################################################################################\n# The default script dow"
  },
  {
    "path": "examples/wiki_103.yaml",
    "chars": 1665,
    "preview": "\nseed: 42\nshare_vocab: true\nsave_data: data/wikitext-103-raw/run/example\n## Where the vocab(s) will be written\nsrc_vocab"
  },
  {
    "path": "examples/wikibart_inference.ipynb",
    "chars": 233932,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\":"
  },
  {
    "path": "examples/wmt14_en_de.yaml",
    "chars": 2391,
    "preview": "# wmt14_en_de.yaml\nsave_data: data/wmt/run/example\n\n# Corpus opts:\ndata:\n    commoncrawl:\n        path_src: data/wmt/com"
  },
  {
    "path": "floyd.yml",
    "chars": 30,
    "preview": "env: pytorch-0.4\nmachine: cpu\n"
  },
  {
    "path": "floyd_requirements.txt",
    "chars": 36,
    "preview": "git+https://github.com/pytorch/text\n"
  },
  {
    "path": "kp_convert.sh",
    "chars": 4475,
    "preview": "#!/usr/bin/env bash\nBASE_DATA_DIR=\"data/keyphrase/json\"\nTOKENIZER=\"meng17\"\nOUTPUT_DIR=\"data/keyphrase/$TOKENIZER\"\n\ndecla"
  },
  {
    "path": "kp_data_converter.py",
    "chars": 12243,
    "preview": "# -*- coding: utf-8 -*-\n\"\"\"\nOriginal corpus is in JSON format. But OpenNMT separates data to two files by source/target "
  },
  {
    "path": "kp_evaluate.py",
    "chars": 28675,
    "preview": "\nimport argparse\nimport json\nimport os\nimport re\nimport time\n\nimport tqdm\nimport numpy as np\nimport pandas as pd\n\nfrom o"
  },
  {
    "path": "kp_gen_eval.py",
    "chars": 15760,
    "preview": "# -*- encoding: utf-8 -*-\nimport codecs\nimport json\nimport random\nimport shutil\n\nfrom onmt.translate.translator import b"
  },
  {
    "path": "kp_gen_eval_transfer.py",
    "chars": 21799,
    "preview": "# -*- encoding: utf-8 -*-\nimport codecs\nimport json\nimport random\nimport shutil\n\nfrom onmt.constants import ModelTask\nfr"
  },
  {
    "path": "kp_gen_magkp_transfer_labelling.py",
    "chars": 10975,
    "preview": "# -*- encoding: utf-8 -*-\nimport codecs\nimport json\nimport random\nimport re\nimport shutil\n\nfrom onmt.constants import Mo"
  },
  {
    "path": "kp_generate.py",
    "chars": 1202,
    "preview": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nfrom __future__ import unicode_literals\nfrom itertools import repeat\n\nfro"
  },
  {
    "path": "kp_report.py",
    "chars": 398,
    "preview": "# -*- coding: utf-8 -*-\n\"\"\"\nPython File Template \n\"\"\"\n\nimport os\n\nimport kp_evaluate\n\n__author__ = \"Rui Meng\"\n__email__ "
  },
  {
    "path": "notebook/PRauc_example.ipynb",
    "chars": 83236,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n "
  },
  {
    "path": "notebook/__init__.py",
    "chars": 158,
    "preview": "# -*- coding: utf-8 -*-\n\"\"\"\nPython File Template \n\"\"\"\n\nimport os\n\n__author__ = \"Rui Meng\"\n__email__ = \"rui.meng@pitt.edu"
  },
  {
    "path": "notebook/beam_stats.ipynb",
    "chars": 5666,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Beam statistics?\"\n   ]\n  },\n  {"
  },
  {
    "path": "notebook/dataset_stat.ipynb",
    "chars": 22240,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\":"
  },
  {
    "path": "notebook/empirical_analysis_v2_lite.ipynb",
    "chars": 6929723,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Load packages\"\n   ]\n  },\n  {\n  "
  },
  {
    "path": "notebook/inference.ipynb",
    "chars": 12075,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"ExecuteTime\": {\n     \"end_ti"
  },
  {
    "path": "notebook/json_process.ipynb",
    "chars": 7186,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### About\\n\",\n    \"The goal of this"
  },
  {
    "path": "notebook/kpeval.ipynb",
    "chars": 7771,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n "
  },
  {
    "path": "notebook/phrase_stats.ipynb",
    "chars": 120346,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Compute the unique predictions "
  },
  {
    "path": "notebook/pred_phrase_stats.ipynb",
    "chars": 119865,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Compute the unique predictions "
  },
  {
    "path": "notebook/scikp_dataset_stats.ipynb",
    "chars": 410957,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"ExecuteTime\": {\n     \"end_time\""
  },
  {
    "path": "notebook/split_magkp.ipynb",
    "chars": 13750,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"ExecuteTime\": {\n     \"end_time\""
  },
  {
    "path": "notebook/test.py",
    "chars": 1550,
    "preview": "import json\nimport tqdm\nimport numpy as np\n\npred_path = \"/Users/memray/project/kp/OpenNMT-kpg/output/aaai20/catseq_pred/"
  },
  {
    "path": "notebook/transfer_analysis.ipynb",
    "chars": 6319409,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Load packages\"\n   ]\n  },\n  {\n  "
  },
  {
    "path": "notebook/transfer_dataset_stats.ipynb",
    "chars": 405692,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"ExecuteTime\": {\n     \"end_time\""
  },
  {
    "path": "notebook/transfer_figures.ipynb",
    "chars": 623269,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Load eval\"\n   ]\n  },\n  {\n   \"ce"
  },
  {
    "path": "notebook/transfer_learning_curve.ipynb",
    "chars": 4080453,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Load eval\"\n   ]\n  },\n  {\n   \"ce"
  },
  {
    "path": "notebook/transfer_pseudo_labels_and_np.ipynb",
    "chars": 40740,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n "
  },
  {
    "path": "notebook/visualize_domain_gap.ipynb",
    "chars": 830794,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n "
  },
  {
    "path": "notebook/wikibart_inference.ipynb",
    "chars": 233932,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\":"
  },
  {
    "path": "notebook/wikibart_inference_buggy.ipynb",
    "chars": 43347,
    "preview": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\":"
  },
  {
    "path": "onmt/__init__.py",
    "chars": 557,
    "preview": "\"\"\" Main entry point of the ONMT library \"\"\"\nfrom __future__ import division, print_function\n\nimport onmt.inputters\nimpo"
  },
  {
    "path": "onmt/bin/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "onmt/bin/average_models.py",
    "chars": 1665,
    "preview": "#!/usr/bin/env python\nimport argparse\nimport torch\n\n\ndef average_models(model_files, fp32=False):\n    vocab = None\n    o"
  },
  {
    "path": "onmt/bin/build_vocab.py",
    "chars": 2311,
    "preview": "#!/usr/bin/env python\n\"\"\"Get vocabulary coutings from transformed corpora samples.\"\"\"\nfrom onmt.utils.logging import ini"
  },
  {
    "path": "onmt/bin/release_model.py",
    "chars": 2369,
    "preview": "#!/usr/bin/env python\nimport argparse\nimport torch\n\n\ndef get_ctranslate2_model_spec(opt):\n    \"\"\"Creates a CTranslate2 m"
  },
  {
    "path": "onmt/bin/server.py",
    "chars": 5092,
    "preview": "#!/usr/bin/env python\nimport configargparse\n\nfrom flask import Flask, jsonify, request\nfrom waitress import serve\nfrom o"
  },
  {
    "path": "onmt/bin/train.py",
    "chars": 8317,
    "preview": "#!/usr/bin/env python\n\"\"\"Train models with dynamic data.\"\"\"\nimport copy\nimport os\nimport sys\nimport torch\nimport numpy a"
  },
  {
    "path": "onmt/bin/translate.py",
    "chars": 1471,
    "preview": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nfrom __future__ import unicode_literals\n\nimport codecs\nfrom itertools imp"
  },
  {
    "path": "onmt/constants.py",
    "chars": 570,
    "preview": "\"\"\"Define constant values used across the project.\"\"\"\n\n\nclass DefaultTokens(object):\n    PAD = '<blank>'\n    BOS = '<s>'"
  },
  {
    "path": "onmt/decoders/__init__.py",
    "chars": 676,
    "preview": "\"\"\"Module defining decoders.\"\"\"\nfrom onmt.decoders.decoder import DecoderBase, InputFeedRNNDecoder, \\\n    StdRNNDecoder\n"
  },
  {
    "path": "onmt/decoders/bart_decoder.py",
    "chars": 11682,
    "preview": "\"\"\"\nImplementation of \"Attention is All You Need\"\n\"\"\"\nimport logging\nimport os\n\nfrom torch import Tensor\n\nfrom typing im"
  },
  {
    "path": "onmt/decoders/cnn_decoder.py",
    "chars": 4890,
    "preview": "\"\"\"Implementation of the CNN Decoder part of\n\"Convolutional Sequence to Sequence Learning\"\n\"\"\"\nimport torch\nimport torch"
  },
  {
    "path": "onmt/decoders/decoder.py",
    "chars": 18898,
    "preview": "import torch\nimport torch.nn as nn\n\nfrom onmt.models.stacked_rnn import StackedLSTM, StackedGRU\nfrom onmt.modules import"
  },
  {
    "path": "onmt/decoders/ensemble.py",
    "chars": 6100,
    "preview": "\"\"\"Ensemble decoding.\n\nDecodes using multiple models simultaneously,\ncombining their prediction distributions by averagi"
  },
  {
    "path": "onmt/decoders/transformer.py",
    "chars": 28992,
    "preview": "\"\"\"\nImplementation of \"Attention is All You Need\" and of\nsubsequent transformer based architectures\n\"\"\"\n\nimport torch\nim"
  },
  {
    "path": "onmt/encoders/__init__.py",
    "chars": 813,
    "preview": "\"\"\"Module defining encoders.\"\"\"\nfrom onmt.encoders.bart_encoder import BARTEncoder\nfrom onmt.encoders.encoder import Enc"
  },
  {
    "path": "onmt/encoders/bart_encoder.py",
    "chars": 9704,
    "preview": "\"\"\"\nImplementation of \"Attention is All You Need\"\n\"\"\"\nimport os\nimport random\n\nfrom typing import Any, Dict, List, Optio"
  },
  {
    "path": "onmt/encoders/cnn_encoder.py",
    "chars": 1860,
    "preview": "\"\"\"\nImplementation of \"Convolutional Sequence to Sequence Learning\"\n\"\"\"\nimport torch.nn as nn\n\nfrom onmt.encoders.encode"
  },
  {
    "path": "onmt/encoders/encoder.py",
    "chars": 1418,
    "preview": "\"\"\"Base class for encoders and generic multi encoders.\"\"\"\n\nimport torch.nn as nn\n\nfrom onmt.utils.misc import aeq\n\n\nclas"
  },
  {
    "path": "onmt/encoders/ggnn_encoder.py",
    "chars": 10496,
    "preview": "\"\"\"Define GGNN-based encoders.\"\"\"\nimport numpy as np\nimport torch\nimport torch.nn as nn\nimport torch.nn.functional as F\n"
  },
  {
    "path": "onmt/encoders/mean_encoder.py",
    "chars": 1404,
    "preview": "\"\"\"Define a minimal encoder.\"\"\"\nfrom onmt.encoders.encoder import EncoderBase\nfrom onmt.utils.misc import sequence_mask\n"
  },
  {
    "path": "onmt/encoders/pretrained_encoder.py",
    "chars": 6297,
    "preview": "\"\"\"\nImplementation of \"Attention is All You Need\"\n\"\"\"\n\nimport torch.nn as nn\nimport torch\nfrom transformers import AutoM"
  },
  {
    "path": "onmt/encoders/rnn_encoder.py",
    "chars": 4280,
    "preview": "\"\"\"Define RNN-based encoders.\"\"\"\nimport torch.nn as nn\nimport torch.nn.functional as F\n\nfrom torch.nn.utils.rnn import p"
  },
  {
    "path": "onmt/encoders/transformer.py",
    "chars": 4667,
    "preview": "\"\"\"\nImplementation of \"Attention is All You Need\"\n\"\"\"\n\nimport torch.nn as nn\n\nfrom onmt.encoders.encoder import EncoderB"
  },
  {
    "path": "onmt/inputters/__init__.py",
    "chars": 1070,
    "preview": "\"\"\"Module defining inputters.\n\nInputters implement the logic of transforming raw data to vectorized inputs,\ne.g., from a"
  },
  {
    "path": "onmt/inputters/corpus.py",
    "chars": 19114,
    "preview": "\"\"\"Module that contain shard utils for dynamic data.\"\"\"\nimport itertools\nimport json\nimport os\nfrom onmt.utils.logging i"
  },
  {
    "path": "onmt/inputters/datareader_base.py",
    "chars": 1277,
    "preview": "# coding: utf-8\n\n\n# several data readers need optional dependencies. There's no\n# appropriate builtin exception\nclass Mi"
  },
  {
    "path": "onmt/inputters/dataset_base.py",
    "chars": 8959,
    "preview": "# coding: utf-8\nimport logging\nfrom itertools import chain, starmap\nfrom collections import Counter\n\nimport torch\nfrom t"
  },
  {
    "path": "onmt/inputters/dynamic_iterator.py",
    "chars": 9700,
    "preview": "\"\"\"Module that contain iterator used for dynamic data.\"\"\"\nfrom itertools import cycle\n\nfrom torchtext.data import batch "
  },
  {
    "path": "onmt/inputters/fields.py",
    "chars": 3413,
    "preview": "\"\"\"Module for build dynamic fields.\"\"\"\nfrom collections import Counter, defaultdict\nimport torch\nfrom onmt.utils.logging"
  },
  {
    "path": "onmt/inputters/inputter.py",
    "chars": 30125,
    "preview": "# -*- coding: utf-8 -*-\nimport copy\nimport numpy as np\nimport glob\nimport os\nimport codecs\nimport math\n\nfrom collections"
  },
  {
    "path": "onmt/inputters/iterator.py",
    "chars": 5764,
    "preview": "\"\"\"Contains all methods relate to iteration.\"\"\"\nimport torchtext.data\n\nfrom onmt.utils.logging import logger\n\n\ndef batch"
  },
  {
    "path": "onmt/inputters/keyphrase_dataset.py",
    "chars": 28766,
    "preview": "# -*- coding: utf-8 -*-\nimport json\nimport re\nfrom functools import partial\n\nimport six\nimport torch\nimport numpy as np\n"
  },
  {
    "path": "onmt/inputters/news_dataset.py",
    "chars": 47899,
    "preview": "# -*- coding: utf-8 -*-\nimport copy\nimport json\nimport logging\nimport random\nimport time\nfrom collections import Counter"
  }
]

// ... and 1131 more files (download for full content)

About this extraction

This page contains the full source code of the memray/OpenNMT-kpg-release GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1331 files (24.3 MB), approximately 6.5M tokens, and a symbol index with 1617 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!