Fast Neural Machine Translation in C++
Go to file
Graeme Nail b29cc07a95
Scorer model loading (#860)
* Add MMAP as an option
* Use io::isBin
* Allow getYamlFromModel from an Item vector
* ScorerWrapper can now load on to a graph from Item vector
The interface IEncoderDecoder can now call graph loads directly from an
Item Vector.
* Translator loads model before creating scorers
Scorers are created from an Item vector
* Replace model-config try-catch with check using IsNull
* Prefer empty vs size
* load by items should be pure virtual
* Stepwise forward load to encdec
* nematus can load from items
* amun can load from items
* loadItems in TranslateService
* Remove logging
* Remove by filename scorer functions
* Replace by filename createScorer
* Explicitly provide default value for get model-mmap
* CLI option for model-mmap only for translation and CPU compile
* Ensure model-mmap option is CPU only
* Remove move on temporary object
* Reinstate log messages for model loading in Amun / Nematus
* Add log messages for model loading in scorers

Co-authored-by: Roman Grundkiewicz <rgrundkiewicz@gmail.com>
2022-01-18 12:58:52 +00:00
.github Use apple accelerate on MacOs by default (#897) 2021-12-16 15:07:34 +00:00
cmake Fix AVX2+ detection on Mac (#895) 2021-12-07 17:47:33 +00:00
contrib Update marian-backend (#786) 2021-02-22 13:26:55 +00:00
doc Documentation about how to write code documentation (#891) 2021-12-07 15:10:46 +00:00
examples@6d5921cc7d Update submodule examples 2021-03-30 08:58:11 +00:00
regression-tests@32a2f7960d Update submodule regression-tests 2021-11-22 06:41:16 -08:00
scripts Add --allow-unauthenticated when installing CUDA (#878) 2021-09-07 11:11:58 +01:00
src Scorer model loading (#860) 2022-01-18 12:58:52 +00:00
vs Merged PR 19904: Update instructions for building on Windows 2021-07-22 16:44:35 +00:00
.clang-format Update formatting 2021-03-08 03:09:03 -08:00
.gitattributes revisited fillBatches() and optimized it a little; 2018-10-08 13:29:16 -07:00
.gitignore Add option for printing CMake cached variables (#583) 2020-03-10 10:29:50 -07:00
.gitmodules Integrate intgemm into marian (#595) 2021-01-24 16:02:30 -08:00
azure-pipelines.yml Merged PR 20070: Run regression tests in Azure Pipelines 2021-08-06 08:02:18 +00:00
CHANGELOG.md Scorer model loading (#860) 2022-01-18 12:58:52 +00:00
CMakeLists.txt Use apple accelerate on MacOs by default (#897) 2021-12-16 15:07:34 +00:00
CMakeSettings.json Merged PR 18232: Update VS CMake builds and scripts 2021-03-19 08:27:34 +00:00
CONTRIBUTING.md Add templates for GitHub issues and pull requests 2020-03-16 20:10:18 -07:00
Doxyfile.in Add graph documentations (#788) 2021-02-28 08:07:19 +00:00
LICENSE.md Update LICENSE.md 2017-02-27 01:16:42 +00:00
README.md Update badges in README.md 2021-11-21 17:06:01 +00:00
VERSION Update VERSION 2021-12-16 15:07:55 +00:00

Marian

Build Status CUDA 10 Build Status CUDA 11 Build Status CPU Tests Status Latest release License: MIT Twitter

Marian is an efficient Neural Machine Translation framework written in pure C++ with minimal dependencies.

Named in honour of Marian Rejewski, a Polish mathematician and cryptologist.

Main features:

  • Efficient pure C++ implementation
  • Fast multi-GPU training and GPU/CPU translation
  • State-of-the-art NMT architectures: deep RNN and transformer
  • Permissive open source license (MIT)
  • more detail...

If you use this, please cite:

Marcin Junczys-Dowmunt, Roman Grundkiewicz, Tomasz Dwojak, Hieu Hoang, Kenneth Heafield, Tom Neckermann, Frank Seide, Ulrich Germann, Alham Fikri Aji, Nikolay Bogoychev, André F. T. Martins, Alexandra Birch (2018). Marian: Fast Neural Machine Translation in C++ (http://www.aclweb.org/anthology/P18-4020)

@InProceedings{mariannmt,
    title     = {Marian: Fast Neural Machine Translation in {C++}},
    author    = {Junczys-Dowmunt, Marcin and Grundkiewicz, Roman and
                 Dwojak, Tomasz and Hoang, Hieu and Heafield, Kenneth and
                 Neckermann, Tom and Seide, Frank and Germann, Ulrich and
                 Fikri Aji, Alham and Bogoychev, Nikolay and
                 Martins, Andr\'{e} F. T. and Birch, Alexandra},
    booktitle = {Proceedings of ACL 2018, System Demonstrations},
    pages     = {116--121},
    publisher = {Association for Computational Linguistics},
    year      = {2018},
    month     = {July},
    address   = {Melbourne, Australia},
    url       = {http://www.aclweb.org/anthology/P18-4020}
}

Amun

The handwritten decoder for RNN models compatible with Marian and Nematus has been superseded by the Marian decoder. The code is available in a separate repository: https://github.com/marian-nmt/amun

Website

More information on https://marian-nmt.github.io

Acknowledgements

The development of Marian received funding from the European Union's Horizon 2020 Research and Innovation Programme under grant agreements 688139 (SUMMA; 2016-2019), 645487 (Modern MT; 2015-2017), 644333 (TraMOOC; 2015-2017), 644402 (HiML; 2015-2017), 825303 (Bergamot; 2019-2021), the Amazon Academic Research Awards program, the World Intellectual Property Organization, and is based upon work supported in part by the Office of the Director of National Intelligence (ODNI), Intelligence Advanced Research Projects Activity (IARPA), via contract #FA8650-17-C-9117.

This software contains source code provided by NVIDIA Corporation.