Views
No views yet
bert-base-uncased0 = Fighter B wins, 1 = Fighter A wins)1from transformers import DistilBertForSequenceClassification, DistilBertTokenizer
2
3loaded_model = DistilBertForSequenceClassification.from_pretrained("/content/fine_tuned_ufc_model")
4loaded_tokenizer = DistilBertTokenizer.from_pretrained("/content/fine_tuned_ufc_model")
5
6def predict_winner(fighter_a_stats, fighter_b_stats, model, tokenizer):
7
8 input_text = (
9 f"Fighter A: {fighter_a_stats} || Fighter B: {fighter_b_stats}"
10 )
11 inputs = tokenizer(input_text, return_tensors="pt", truncation=True, padding=True).to(device)
12 outputs = model(**inputs)
13 probs = torch.nn.functional.softmax(outputs.logits, dim=-1)
14 pred = torch.argmax(probs, dim=1).item()
15 return {"Fighter A wins": float(probs[0][0]), "Fighter B wins": float(probs[0][1])}, pred
16
17fighter_a = "Height: 73 in | Reach: 80 in | Str. Acc: 0.57 | Str. Def: 0.58 | SLpM: 4.25 | SApM: 2.12"
18fighter_b = "Height: 70 in | Reach: 71 in | Str. Acc: 0.49 | Str. Def: 0.55 | SLpM: 4.00 | SApM: 3.00"
19
20probs, winner = predict_winner(fighter_a, fighter_b, loaded_model, loaded_tokenizer)
21print(probs, "Winner Label (0=A, 1=B):", winner)
22
23// Example Output: {'Fighter A wins': 0.03644789755344391, 'Fighter B wins': 0.9635520577430725} Winner Label (0=A, 1=B): 1