Views
No views yet
1
2from transformers import M2M100ForConditionalGeneration, M2M100Tokenizer
3import torch
4
5
6
7data = []
8
9src_lang="pt"
10tgt_lang="zu" # Tsonga was mapped to zulu
11text="<2ts> ‘Ele foi muito feliz’!"
12data.append((src_lang, tgt_lang, text))
13
14
15
16src_lang="pt"
17tgt_lang="sw" # Emakhuwa was mapped to Swahili
18text="<2vmw> O presidente da república de moçambique"
19data.append((src_lang, tgt_lang, text))
20
21
22src_lang="pt"
23tgt_lang="lg" # Nyaja was mapped to lingala
24text="<2ny> lutaram tanto que conquistaram a independencia"
25data.append((src_lang, tgt_lang, text))
26
27
28
29src_lang="pt"
30tgt_lang="xh" # Sena was mapped to Xhosa
31text="<2seh> 1. A Administração Pública serve o interesse público e na sua actuação respeita os direitos e liberdades fundamentais dos cidadãos."
32data.append((src_lang, tgt_lang, text))
33
34
35device = "cuda:0" if torch.cuda.is_available() else "cpu"
36
37model_name="felerminoali/m2m_bible_multilingual_en-pt-vmw-ny-seh-ts"
38model = M2M100ForConditionalGeneration.from_pretrained(model_name).to(device)
39tokenizer = M2M100Tokenizer.from_pretrained(model_name)
40
41
42for src_lang, tgt_lang, text in data:
43
44 print("\n---", src_lang, tgt_lang, text)
45 # translate into target language
46 tokenizer.src_lang = src_lang
47 encoded_zh = tokenizer(text, return_tensors="pt")
48 generated_tokens = model.generate(**encoded_zh.to(model.device), forced_bos_token_id=tokenizer.get_lang_id(tgt_lang))
49 tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
50 trnas = tokenizer.batch_decode(generated_tokens, skip_special_tokens=True)
51 print("Translation:")
52 print(trnas[0])
53