Views
No views yet
1from transformers import TapasTokenizer, TapasForMaskedLM
2import pandas as pd
3import torch
4
5tokenizer = TapasTokenizer.from_pretrained("google/tapas-tiny-masklm")
6model = TapasForMaskedLM.from_pretrained("google/tapas-tiny-masklm")
7
8data = {'Actors': ["Brad Pitt", "Leonardo Di Caprio", "George Clooney"],
9 'Age': ["56", "45", "59"],
10 'Number of movies': ["87", "53", "69"]
11}
12table = pd.DataFrame.from_dict(data)
13query = "How many movies has Leonardo [MASK] Caprio played in?"
14
15# prepare inputs
16inputs = tokenizer(table=table, queries=query, padding="max_length", return_tensors="pt")
17
18# forward pass
19outputs = model(**inputs)
20
21# return top 5 values and predictions
22masked_index = torch.nonzero(inputs.input_ids.squeeze() == tokenizer.mask_token_id, as_tuple=False)
23logits = outputs.logits[0, masked_index.item(), :]
24probs = logits.softmax(dim=0)
25values, predictions = probs.topk(5)
26
27for value, pred in zip(values, predictions):
28 print(f"{tokenizer.decode([pred])} with confidence {value}")