OPUS-MT

OPUS-MT contains a collection of 1000+ pretrained models. Since the models are Transformer models trained with Marian, they are compatible with CTranslate2.

The Marian guide also applies for these models, but a separate converter is provided for convenience:

ct2-opus-mt-converter --model_dir opus_model --output_dir ct2_model

Example

This example uses the English-German model:

wget https://object.pouta.csc.fi/OPUS-MT-models/en-de/opus-2020-02-26.zip
unzip opus-2020-02-26.zip

ct2-opus-mt-converter --model_dir . --output_dir ende_ctranslate2
import ctranslate2
import sentencepiece as spm

sp = spm.SentencePieceProcessor()
sp.load("source.spm")

source = sp.encode("Hello world!", out_type=str)

translator = ctranslate2.Translator("ende_ctranslate2")
results = translator.translate_batch([source])

output = sp.decode(results[0].hypotheses[0])
print(output)