{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/opennmt-neural-machine-translation-toolkit","title":"OpenNMT: Neural Machine Translation Toolkit","arxiv_id":"1805.11462","date":"2018-05-28","proceeding":"WS 2018 3","authors":["Guillaume Klein","Yoon Kim","Yuntian Deng","Vincent Nguyen","Jean Senellart","Alexander M. Rush"],"abstract":"OpenNMT is an open-source toolkit for neural machine translation (NMT). The\nsystem prioritizes efficiency, modularity, and extensibility with the goal of\nsupporting NMT research into model architectures, feature representations, and\nsource modalities, while maintaining competitive performance and reasonable\ntraining requirements. The toolkit consists of modeling and translation\nsupport, as well as detailed pedagogical documentation about the underlying\ntechniques. OpenNMT has been used in several production MT systems, modified\nfor numerous research papers, and is implemented across several deep learning\nframeworks.","url_abs":"http://arxiv.org/abs/1805.11462v1","url_pdf":"http://arxiv.org/pdf/1805.11462v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"opennmt-neural-machine-translation-toolkit","repo_url":"https://github.com/rsennrich/nematus","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"tf","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"paper_slug":"opennmt-neural-machine-translation-toolkit","repo_url":"https://github.com/Helsinki-NLP/OpenNMT-py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"opennmt-neural-machine-translation-toolkit","repo_url":"https://github.com/Henry-E/OpenNMT-py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"opennmt-neural-machine-translation-toolkit","repo_url":"https://github.com/OpenNMT/OpenNMT-py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null},{"paper_slug":"opennmt-neural-machine-translation-toolkit","repo_url":"https://github.com/Unbabel/OpenNMT-py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"opennmt-neural-machine-translation-toolkit","repo_url":"https://github.com/Waino/OpenNMT-py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"opennmt-neural-machine-translation-toolkit","repo_url":"https://github.com/deep-spin/OpenNMT-entmax","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"opennmt-neural-machine-translation-toolkit","repo_url":"https://github.com/midobal/OpenNMT-py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"opennmt-neural-machine-translation-toolkit","repo_url":"https://github.com/rxn4chemistry/OpenNMT-py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"machine-translation","task_name":"Machine Translation"},{"task_slug":"nmt","task_name":"NMT"},{"task_slug":"translation","task_name":"Translation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/1805.11462","atlas_url":"https://app.syntology.ai/?focus=1805.11462","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1805.11462"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Henry-E/OpenNMT-py","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/midobal/OpenNMT-py","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Helsinki-NLP/OpenNMT-py","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Waino/OpenNMT-py","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/deep-spin/OpenNMT-entmax","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/rsennrich/nematus","reach":{"status":"ok","spdx":"BSD-3-Clause"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Unbabel/OpenNMT-py","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/OpenNMT/OpenNMT-py","reach":null},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/rxn4chemistry/OpenNMT-py","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_violates":1,"ran":1,"ran_honours":1,"unverified":26},"by_repo_kind":{"official":{"samples":9,"ran":0,"repositories":1},"listed":{"samples":20,"ran":3,"repositories":4}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"0c93830510f645a3","entry":"check_sru_requirement","repo":"Helsinki-NLP/OpenNMT-py","repo_kind":"listed","path":"onmt/models/sru.py","file_url":"https://github.com/Helsinki-NLP/OpenNMT-py/blob/HEAD/onmt/models/sru.py","link_basis":"harvester_set","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0c93830510f645a3"}},{"code_sha256_prefix":"655c4a8978903a61","entry":"context_gate_factory","repo":"Henry-E/OpenNMT-py","repo_kind":"listed","path":"onmt/modules/gate.py","file_url":"https://github.com/Henry-E/OpenNMT-py/blob/HEAD/onmt/modules/gate.py","link_basis":"harvester_set","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"655c4a8978903a61"}},{"code_sha256_prefix":"0c8cfd6442c243f1","entry":"count_features","repo":"Unbabel/OpenNMT-py","repo_kind":"listed","path":"preprocess.py","file_url":"https://github.com/Unbabel/OpenNMT-py/blob/HEAD/preprocess.py","link_basis":"harvester_set","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0c8cfd6442c243f1"}},{"code_sha256_prefix":"f16190b043ddad1d","entry":"apply_dropout_mask","repo":"rsennrich/nematus","repo_kind":"official","path":"nematus/layers.py","file_url":"https://github.com/rsennrich/nematus/blob/HEAD/nematus/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"f16190b043ddad1d"}},{"code_sha256_prefix":"1ba6eb69db2dce38","entry":"attn","repo":"deep-spin/OpenNMT-entmax","repo_kind":"listed","path":"eval2table.py","file_url":"https://github.com/deep-spin/OpenNMT-entmax/blob/HEAD/eval2table.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1ba6eb69db2dce38"}},{"code_sha256_prefix":"df1510f43e187231","entry":"average_models","repo":"Helsinki-NLP/OpenNMT-py","repo_kind":"listed","path":"onmt/bin/average_models.py","file_url":"https://github.com/Helsinki-NLP/OpenNMT-py/blob/HEAD/onmt/bin/average_models.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"df1510f43e187231"}},{"code_sha256_prefix":"58b37cb5dba514c9","entry":"calc_scores","repo":"rsennrich/nematus","repo_kind":"official","path":"nematus/score.py","file_url":"https://github.com/rsennrich/nematus/blob/HEAD/nematus/score.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"58b37cb5dba514c9"}},{"code_sha256_prefix":"9fbd2e7a6babb8dc","entry":"calc_vocab_load_stats","repo":"Helsinki-NLP/OpenNMT-py","repo_kind":"listed","path":"onmt/modules/embeddings.py","file_url":"https://github.com/Helsinki-NLP/OpenNMT-py/blob/HEAD/onmt/modules/embeddings.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9fbd2e7a6babb8dc"}},{"code_sha256_prefix":"b60aff23d14fc8ae","entry":"collapse_copy_scores","repo":"Helsinki-NLP/OpenNMT-py","repo_kind":"listed","path":"onmt/modules/copy_generator.py","file_url":"https://github.com/Helsinki-NLP/OpenNMT-py/blob/HEAD/onmt/modules/copy_generator.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b60aff23d14fc8ae"}},{"code_sha256_prefix":"83253c9435403627","entry":"collapse_copy_scores","repo":"Unbabel/OpenNMT-py","repo_kind":"listed","path":"onmt/modules/copy_generator.py","file_url":"https://github.com/Unbabel/OpenNMT-py/blob/HEAD/onmt/modules/copy_generator.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"83253c9435403627"}},{"code_sha256_prefix":"6458cbed6ba5a0ae","entry":"config","repo":"deep-spin/OpenNMT-entmax","repo_kind":"listed","path":"plot_attn.py","file_url":"https://github.com/deep-spin/OpenNMT-entmax/blob/HEAD/plot_attn.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6458cbed6ba5a0ae"}},{"code_sha256_prefix":"f788edf70da4f11d","entry":"convert_to_torch_tensor","repo":"Helsinki-NLP/OpenNMT-py","repo_kind":"listed","path":"onmt/modules/embeddings.py","file_url":"https://github.com/Helsinki-NLP/OpenNMT-py/blob/HEAD/onmt/modules/embeddings.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f788edf70da4f11d"}},{"code_sha256_prefix":"3552dcfdf6c80e3b","entry":"fopen","repo":"rsennrich/nematus","repo_kind":"official","path":"nematus/data_iterator.py","file_url":"https://github.com/rsennrich/nematus/blob/HEAD/nematus/data_iterator.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"3552dcfdf6c80e3b"}},{"code_sha256_prefix":"a7400d7c2f3b1eea","entry":"get_ctranslate2_model_spec","repo":"Helsinki-NLP/OpenNMT-py","repo_kind":"listed","path":"onmt/bin/release_model.py","file_url":"https://github.com/Helsinki-NLP/OpenNMT-py/blob/HEAD/onmt/bin/release_model.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a7400d7c2f3b1eea"}},{"code_sha256_prefix":"cdbd509895839103","entry":"get_positional_signal","repo":"rsennrich/nematus","repo_kind":"official","path":"nematus/transformer_layers.py","file_url":"https://github.com/rsennrich/nematus/blob/HEAD/nematus/transformer_layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"cdbd509895839103"}},{"code_sha256_prefix":"976704f0dc62c0c9","entry":"get_right_context_mask","repo":"rsennrich/nematus","repo_kind":"official","path":"nematus/transformer_layers.py","file_url":"https://github.com/rsennrich/nematus/blob/HEAD/nematus/transformer_layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"976704f0dc62c0c9"}},{"code_sha256_prefix":"fde438b7920353b3","entry":"init_or_restore_variables","repo":"rsennrich/nematus","repo_kind":"official","path":"nematus/model_loader.py","file_url":"https://github.com/rsennrich/nematus/blob/HEAD/nematus/model_loader.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"fde438b7920353b3"}},{"code_sha256_prefix":"f78794cd3b2e5781","entry":"kind_of_line","repo":"deep-spin/OpenNMT-entmax","repo_kind":"listed","path":"read_translation_log.py","file_url":"https://github.com/deep-spin/OpenNMT-entmax/blob/HEAD/read_translation_log.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f78794cd3b2e5781"}},{"code_sha256_prefix":"cb1ed445ccd9c224","entry":"language","repo":"deep-spin/OpenNMT-entmax","repo_kind":"listed","path":"eval2table.py","file_url":"https://github.com/deep-spin/OpenNMT-entmax/blob/HEAD/eval2table.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cb1ed445ccd9c224"}},{"code_sha256_prefix":"b90741ad50bdcf08","entry":"load","repo":"deep-spin/OpenNMT-entmax","repo_kind":"listed","path":"plot_attn.py","file_url":"https://github.com/deep-spin/OpenNMT-entmax/blob/HEAD/plot_attn.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b90741ad50bdcf08"}},{"code_sha256_prefix":"4ec52ddc5f16baa3","entry":"load_config_from_json_file","repo":"rsennrich/nematus","repo_kind":"official","path":"nematus/config.py","file_url":"https://github.com/rsennrich/nematus/blob/HEAD/nematus/config.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"4ec52ddc5f16baa3"}},{"code_sha256_prefix":"d562fe373f169d72","entry":"matmul3d","repo":"rsennrich/nematus","repo_kind":"official","path":"nematus/layers.py","file_url":"https://github.com/rsennrich/nematus/blob/HEAD/nematus/layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"d562fe373f169d72"}},{"code_sha256_prefix":"b20fe50e75ebfea1","entry":"matmul_nd","repo":"rsennrich/nematus","repo_kind":"official","path":"nematus/transformer_layers.py","file_url":"https://github.com/rsennrich/nematus/blob/HEAD/nematus/transformer_layers.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"BSD-3-Clause","inline_ok":true,"mcp_get_code":{"code_sha256":"b20fe50e75ebfea1"}},{"code_sha256_prefix":"88de64a13c7bbf25","entry":"out","repo":"deep-spin/OpenNMT-entmax","repo_kind":"listed","path":"eval2table.py","file_url":"https://github.com/deep-spin/OpenNMT-entmax/blob/HEAD/eval2table.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"88de64a13c7bbf25"}},{"code_sha256_prefix":"af167b4197ad73a2","entry":"parse_beam","repo":"deep-spin/OpenNMT-entmax","repo_kind":"listed","path":"read_translation_log.py","file_url":"https://github.com/deep-spin/OpenNMT-entmax/blob/HEAD/read_translation_log.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"af167b4197ad73a2"}},{"code_sha256_prefix":"f00183431131cace","entry":"parse_log","repo":"deep-spin/OpenNMT-entmax","repo_kind":"listed","path":"read_translation_log.py","file_url":"https://github.com/deep-spin/OpenNMT-entmax/blob/HEAD/read_translation_log.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f00183431131cace"}},{"code_sha256_prefix":"d855d16fdafaee22","entry":"read_embeddings","repo":"Helsinki-NLP/OpenNMT-py","repo_kind":"listed","path":"onmt/modules/embeddings.py","file_url":"https://github.com/Helsinki-NLP/OpenNMT-py/blob/HEAD/onmt/modules/embeddings.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d855d16fdafaee22"}},{"code_sha256_prefix":"0c3bddd7d3eaba02","entry":"seq_linear","repo":"Helsinki-NLP/OpenNMT-py","repo_kind":"listed","path":"onmt/modules/conv_multi_step_attention.py","file_url":"https://github.com/Helsinki-NLP/OpenNMT-py/blob/HEAD/onmt/modules/conv_multi_step_attention.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0c3bddd7d3eaba02"}},{"code_sha256_prefix":"a937f5e187e7a3ce","entry":"split_predictions","repo":"deep-spin/OpenNMT-entmax","repo_kind":"listed","path":"postprocess_morph.py","file_url":"https://github.com/deep-spin/OpenNMT-entmax/blob/HEAD/postprocess_morph.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a937f5e187e7a3ce"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}