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)