From a1ac3ea6357aa379673f1c1fff10e9000e07a7d9 Mon Sep 17 00:00:00 2001 From: wxywb Date: Fri, 4 Nov 2022 16:11:24 +0800 Subject: [PATCH] add English Russian model. Signed-off-by: wxywb --- README.md | 30 +++++++++++++----------------- opus_mt.py | 9 +++++++++ result.png | Bin 12266 -> 13663 bytes 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 95817a4..294a3b5 100644 --- a/README.md +++ b/README.md @@ -17,27 +17,19 @@ More detail can be found in [ Helsinki-NLP/Opus-MT ](https://github.com/Helsinki Use the pre-trained model 'opus-mt-en-zh' to generate the Chinese translation for the sentence "Hello, world.". -*Write the pipeline*: +*Write a pipeline with explicit inputs/outputs name specifications:* ```python -import towhee +from towhee.dc2 import pipe, ops, DataCollection -( - towhee.dc(["Hello, world."]) - .machine_translation.opus_mt(model_name="opus-mt-en-zh") +p = ( + pipe.input('text') + .map('text', 'translation', ops.machine_translation.opus_mt(model_name='opus-mt-en-zh')) + .output('text', 'translation') ) -``` - -*Write a same pipeline with explicit inputs/outputs name specifications:* -```python -import towhee +DataCollection(p('hello, world.')).show() -( - towhee.dc['text'](["Hello, world."]) - .machine_translation.opus_mt['text', 'vec'](model_name="opus-mt-en-zh") - .show() -) ``` @@ -48,7 +40,7 @@ import towhee Create the operator via the following factory method: -***machine_translatioin.opus_mt(model_name="opus-mt-en-zh")*** +***machine_translation.opus_mt(model_name="opus-mt-en-zh")*** **Parameters:** @@ -58,8 +50,12 @@ The model name in string. The default model name is "opus-mt-en-zh". Supported model names: - - opus-mt-en-zh + - opus-mt-en-zh - opus-mt-zh-en + - opus-tatoeba-en-ja + - opus-tatoeba-ja-en + - opus-mt-ru-en + - opus-mt-en-ru
diff --git a/opus_mt.py b/opus_mt.py index 5dd8847..e8e7249 100644 --- a/opus_mt.py +++ b/opus_mt.py @@ -64,4 +64,13 @@ class OpusMT(NNOperator): configs['opus-tatoeba-ja-en'] = {} configs['opus-tatoeba-ja-en']['tokenizer'] = 'Helsinki-NLP/opus-tatoeba-ja-en' configs['opus-tatoeba-ja-en']['model'] = 'Helsinki-NLP/opus-tatoeba-ja-en' + + configs['opus-mt-ru-en'] = {} + configs['opus-mt-ru-en']['tokenizer'] = 'Helsinki-NLP/opus-mt-ru-en' + configs['opus-mt-ru-en']['model'] = 'Helsinki-NLP/opus-mt-ru-en' + + configs['opus-mt-en-ru'] = {} + configs['opus-mt-en-ru']['tokenizer'] = 'Helsinki-NLP/opus-mt-en-ru' + configs['opus-mt-en-ru']['model'] = 'Helsinki-NLP/opus-mt-en-ru' + return configs diff --git a/result.png b/result.png index f4607fc1930461f81fb72e4f9f26d52c4a61532d..12513a510686148ed683fdb6023c80c03588472d 100644 GIT binary patch literal 13663 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 literal 12266 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