Views
No views yet
datasets librarydatasetstraintesttransformers library.accelerate framework.1import torch
2from transformers import AutoModelForMaskedLM, AutoTokenizer
3
4def predict_masked_sentence(sentence, mask_token="<|mask|>"):
5 """
6 Predicts top-1 tokens for all mask tokens in a sentence and returns the reconstructed text.
7
8 Args:
9 sentence (str): Input sentence with mask tokens (e.g., "The movie was [MASK]!").
10 mask_token (str, optional): Token used as mask in the input sentence. Defaults to "<|mask|>".
11
12 Returns:
13 str: Sentence with all mask tokens replaced by top-1 predictions.
14 """
15 model_checkpoint = "milanvelinovski/EuroBERT-210m-finetuned-imdb"
16 model = AutoModelForMaskedLM.from_pretrained(model_checkpoint, trust_remote_code=True)
17 tokenizer = AutoTokenizer.from_pretrained(model_checkpoint, trust_remote_code=True)
18
19 sentence_with_model_mask = sentence.replace(mask_token, "<|mask|>")
20 inputs = tokenizer(sentence_with_model_mask, return_tensors="pt")
21 token_logits = model(**inputs).logits
22
23 mask_token_indices = torch.where(inputs["input_ids"] == tokenizer.mask_token_id)[1]
24 top_tokens = [torch.topk(token_logits[0, idx, :], 1).indices.item() for idx in mask_token_indices]
25
26 text_parts = sentence.split(mask_token)
27 final_text = text_parts[0] + ''.join(tokenizer.decode([token]) + text_parts[i+1] for i, token in enumerate(top_tokens))
28
29 return final_text
30
31text = "The protagonist's journey was <|mask|>, filled with <|mask|> obstacles that made the ending feel <|mask|>."
32final_text = predict_masked_sentence(text)
33print(final_text)| Library | Version |
|---|---|
| datasets | 3.3.1 |
| transformers | 4.49.0 |
| evaluate | 0.4.3 |
| accelerate | 1.2.1 |
| torch | 2.5.1+cu121 |
@misc{EuroBERT-210m-finetuned-imdb,
author = {Milan Velinovski},
title = {EuroBERT-210m-finetuned-imdb},
year = {2025},
publisher = {Hugging Face},
url = {https://huggingface.co/milanvelinovski/EuroBERT-210m-finetuned-imdb}
}