Views
No views yet
This is an RKNN-compatible version of the ehdwns1516/bert-base-uncased_SWAG model. It has been optimized for Rockchip NPUs using the rk-transformers library.
| Model File | Optimization Level | Quantization | File Size |
|---|---|---|---|
| model.rknn | 0 | float16 | 235.4 MB |
rk-transformers with inference dependencies to use this model:pip install rk-transformers[inference]1import numpy as np
2from rktransformers import RKModelForMultipleChoice
3from transformers import AutoTokenizer
4
5tokenizer = AutoTokenizer.from_pretrained("rk-transformers/bert-base-uncased_SWAG")
6model = RKModelForMultipleChoice.from_pretrained(
7 "rk-transformers/bert-base-uncased_SWAG",
8 platform="rk3588",
9 core_mask="auto",
10)
11
12prompt = "In Italy, pizza is served in slices."
13choice0 = "It is eaten with a fork and knife."
14choice1 = "It is eaten while held in the hand."
15choice2 = "It is blended into a smoothie."
16choice3 = "It is folded into a taco."
17
18encoding = tokenizer(
19 [prompt, prompt, prompt, prompt], [choice0, choice1, choice2, choice3], return_tensors="np", padding=True
20)
21inputs = {k: np.expand_dims(v, 0) for k, v in encoding.items()}
22
23outputs = model(**inputs)
24logits = outputs.logits
25print(logits.shape)from transformers import AutoTokenizer, AutoModelForMultipleChoice
tokenizer = AutoTokenizer.from_pretrained("ehdwns1516/bert-base-uncased_SWAG")
model = AutoModelForMultipleChoice.from_pretrained("ehdwns1516/bert-base-uncased_SWAG")
def run_model(candicates_count, context: str, candicates: list[str]):
assert len(candicates) == candicates_count, "you need " + candicates_count + " candidates"
choices_inputs = []
for c in candicates:
text_a = "" # empty context
text_b = context + " " + c
inputs = tokenizer(
text_a,
text_b,
add_special_tokens=True,
max_length=128,
padding="max_length",
truncation=True,
return_overflowing_tokens=True,
)
choices_inputs.append(inputs)
input_ids = torch.LongTensor([x["input_ids"] for x in choices_inputs])
output = model(input_ids=input_ids)
return {"result": candicates[torch.argmax(output.logits).item()]}
items = list()
count = 4 # candicates count
context = "your context"
for i in range(int(count)):
items.append("sentence")
result = run_model(count, context, items)