Download app.py,old from hugging2021/bert-base-uncased: direct link, hf CLI and curl.
- Browser
- Download file 1.45 kB
-
https://huggingface.co/spaces/hugging2021/bert-base-uncased/resolve/main/app.py%2Cold
- Command line
-
hf download hf://spaces/hugging2021/bert-base-uncased/app.py,old
-
curl -L -o app.py,old https://huggingface.co/spaces/hugging2021/bert-base-uncased/resolve/main/app.py%2Cold
1.45 kB
| import gradio as gr | |
| import torch | |
| from transformers import BertForMaskedLM, BertTokenizer | |
| # Modell und Tokenizer laden mit force_download=True | |
| model_name = "bert-base-uncased" | |
| model = BertForMaskedLM.from_pretrained(model_name, force_download=True) | |
| tokenizer = BertTokenizer.from_pretrained(model_name, force_download=True) | |
| # Inferenz-Funktion definieren | |
| def inference(input_text): | |
| if "[MASK]" not in input_text: | |
| return "Error: The input text must contain the [MASK] token." | |
| # Tokenisierung | |
| inputs = tokenizer(input_text, return_tensors="pt") | |
| mask_token_index = torch.where(inputs["input_ids"] == tokenizer.mask_token_id)[1] | |
| # Vorhersage | |
| with torch.no_grad(): | |
| outputs = model(**inputs) | |
| logits = outputs.logits | |
| # Wahrscheinlichsten Token für [MASK] finden | |
| mask_token_logits = logits[0, mask_token_index, :] | |
| top_token = torch.topk(mask_token_logits, 1, dim=1).indices[0].tolist() | |
| # Vorhersage in den Text einfügen | |
| predicted_token = tokenizer.decode(top_token) | |
| result_text = input_text.replace("[MASK]", predicted_token, 1) | |
| return result_text | |
| # Gradio Interface definieren | |
| iface = gr.Interface( | |
| fn=inference, | |
| inputs="text", | |
| outputs="text", | |
| examples=[ | |
| ["The capital of France is [MASK]."], | |
| ["The quick brown fox jumps over the [MASK] dog."] | |
| ] | |
| ) | |
| # Interface starten | |
| if __name__ == "__main__": | |
| iface.launch(server_port=7862) |