Views
No views yet
transformers so that it can immediately be used by anyone without any tokenizer black magic needed. Also about 500 more parallel nld-gos sentences were added to the training data.
Only the additional Gronings language token needs to be added to the tokenizer at initialization, then everything should work.1from transformers import AutoModelForSeq2SeqLM
2from transformers import NllbTokenizer
3
4MODEL_URL = 'Tom9358/nllb-tatoeba-gos-nld-v1'
5model = AutoModelForSeq2SeqLM.from_pretrained(MODEL_URL)
6tokenizer = NllbTokenizer.from_pretrained(MODEL_URL, force_download=True,
7 additional_special_tokens=["gos_Latn"])
8
9def translate(text, src_lang: str = "nld_Latn", tgt_lang: str = "gos_Latn", **kwargs):
10 tokenizer.src_lang = src_lang
11 tokenizer.tgt_lang = tgt_lang
12 inputs = tokenizer(
13 text,
14 return_tensors='pt',
15 padding='longest',
16 truncation=True,
17 max_length=500
18 )
19 result = model.generate(
20 **inputs.to(model.device),
21 forced_bos_token_id=tokenizer.convert_tokens_to_ids(tgt_lang),
22 max_new_tokens=int(20 + 1.6 * inputs.input_ids.shape[1]),
23 **kwargs
24 )
25 return tokenizer.batch_decode(result, skip_special_tokens=True)
26
27translate("Dit is een testzin om te kijken of de code werkt.")